<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>107625</bug_id>
          
          <creation_ts>2013-01-22 21:16:55 -0800</creation_ts>
          <short_desc>Reduce the number of calls to Functional and number of IPC messages by sending the created/deleted layers in a vector.</short_desc>
          <delta_ts>2013-01-23 18:59:20 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Seulgi Kim">dev</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>benjamin</cc>
    
    <cc>kenneth</cc>
    
    <cc>noam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>813775</commentid>
    <comment_count>0</comment_count>
    <who name="Seulgi Kim">dev</who>
    <bug_when>2013-01-22 21:16:55 -0800</bug_when>
    <thetext>Currently, LayerTreeRenderer in UI Process creates a layer when CreateCompositingLayer message is received. When a lot of CreateCompositingLayer messages are sent in the same cycle, some layers are not created in the UIProcess, and causes crash when trying to use the omitted layers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813777</commentid>
    <comment_count>1</comment_count>
    <who name="Seulgi Kim">dev</who>
    <bug_when>2013-01-22 21:18:05 -0800</bug_when>
    <thetext>I tested http://black.company100.net/test/TC/leaves1000.

And stack trace is below.
ASSERTION FAILED: m_layers.contains(id)
/home/sgkim126/Project/WebKit/Qt/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.h(123) : WebCore::GraphicsLayer* WebKit::LayerTreeRenderer::layerByID(WebKit::CoordinatedLayerID)
1   0x7fb4605b3142 /home/sgkim126/Project/WebKit/Qt/WebKitBuild/Debug/lib/libWebKit2.so.1(_ZN6WebKit17LayerTreeRenderer9layerByIDEj+0x54) [0x7fb4605b3142]
2   0x7fb4605b4d69 /home/sgkim126/Project/WebKit/Qt/WebKitBuild/Debug/lib/libWebKit2.so.1(_ZN6WebKit17LayerTreeRenderer16setLayerChildrenEjRKN3WTF6VectorIjLm0EEE+0x67) [0x7fb4605b4d69]
3   0x7fb4605b2763 /home/sgkim126/Project/WebKit/Qt/WebKitBuild/Debug/lib/libWebKit2.so.1(_ZN3WTF15FunctionWrapperIMN6WebKit17LayerTreeRendererEFvjRKNS_6VectorIjLm0EEEEEclEPS2_jS6_+0x69) [0x7fb4605b2763]
4   0x7fb4605b1ad1 /home/sgkim126/Project/WebKit/Qt/WebKitBuild/Debug/lib/libWebKit2.so.1(_ZN3WTF17BoundFunctionImplINS_15FunctionWrapperIMN6WebKit17LayerTreeRendererEFvjRKNS_6VectorIjLm0EEEEEEFvPS3_jS5_EEclEv+0x73) [0x7fb4605b1ad1]
5   0x7fb4605b7cc0 /home/sgkim126/Project/WebKit/Qt/WebKitBuild/Debug/lib/libWebKit2.so.1(_ZNK3WTF8FunctionIFvvEEclEv+0x72) [0x7fb4605b7cc0]
6   0x7fb4605b7280 /home/sgkim126/Project/WebKit/Qt/WebKitBuild/Debug/lib/libWebKit2.so.1(_ZN6WebKit17LayerTreeRenderer17syncRemoteContentEv+0x9e) [0x7fb4605b7280]
7   0x7fb4605b3e5b /home/sgkim126/Project/WebKit/Qt/WebKitBuild/Debug/lib/libWebKit2.so.1(_ZN6WebKit17LayerTreeRenderer23paintToCurrentGLContextERKN7WebCore20TransformationMatrixEfRKNS1_9FloatRectEj+0x109) [0x7fb4605b3e5b]
8   0x7fb4607eaacd /home/sgkim126/Project/WebKit/Qt/WebKitBuild/Debug/lib/libWebKit2.so.1(_ZN6WebKit14ContentsSGNode6renderERKN13QSGRenderNode11RenderStateE+0x2a1) [0x7fb4607eaacd]
9   0x7fb45f941b48 /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Quick.so.5(_ZN18QSGDefaultRenderer11renderNodesEPKP7QSGNodei+0x208) [0x7fb45f941b48]
10  0x7fb45f942653 /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Quick.so.5(_ZN18QSGDefaultRenderer6renderEv+0x353) [0x7fb45f942653]
11  0x7fb45f948529 /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Quick.so.5(_ZN11QSGRenderer11renderSceneERK11QSGBindable+0x69) [0x7fb45f948529]
12  0x7fb45f948657 /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Quick.so.5(_ZN11QSGRenderer11renderSceneEv+0x17) [0x7fb45f948657]
13  0x7fb45f952724 /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Quick.so.5(_ZN10QSGContext15renderNextFrameEP11QSGRendererj+0x14) [0x7fb45f952724]
14  0x7fb45f9822ee /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Quick.so.5(_ZN19QQuickWindowPrivate16renderSceneGraphERK5QSize+0x1be) [0x7fb45f9822ee]
15  0x7fb45fa6b397 /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Quick.so.5(+0x230397) [0x7fb45fa6b397]
16  0x7fb45e854886 /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Core.so.5(+0x8c886) [0x7fb45e854886]
17  0x7fb456240734 /usr/lib/nvidia-current-updates/libGL.so.1(+0xaa734) [0x7fb456240734]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813781</commentid>
    <comment_count>2</comment_count>
      <attachid>184131</attachid>
    <who name="Seulgi Kim">dev</who>
    <bug_when>2013-01-22 21:26:38 -0800</bug_when>
    <thetext>Created attachment 184131
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813815</commentid>
    <comment_count>3</comment_count>
      <attachid>184131</attachid>
    <who name="Rafael Brandao">rafael.lobo</who>
    <bug_when>2013-01-22 22:02:16 -0800</bug_when>
    <thetext>Comment on attachment 184131
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=184131&amp;action=review

&gt; Source/WebKit2/ChangeLog:11
&gt; +        are not created in the UIProcess, and causes crash when trying to use

Hm, do you have any idea why they are not created on UIProcess? All messages are delivered? If so, then why they are not created? If not, shouldn&apos;t we try to fix that first? I&apos;m not against merging all layers in one message, but it looks like we&apos;re going to hide out the real problem... what if we have many layers and they&apos;re all sent in the same cycle. I think we can meet this buggy state in many ways.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813858</commentid>
    <comment_count>4</comment_count>
    <who name="Seulgi Kim">dev</who>
    <bug_when>2013-01-22 22:50:33 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 184131 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=184131&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:11
&gt; &gt; +        are not created in the UIProcess, and causes crash when trying to use
&gt; 
&gt; Hm, do you have any idea why they are not created on UIProcess? All messages are delivered? If so, then why they are not created?

Some messages are not delivered. I checked sent messages and received messages, and confirmed some messages are not received. I saw this behavior in efl and qt so I think CoreIPC in unix has some problems.

&gt; If not, shouldn&apos;t we try to fix that first? I&apos;m not against merging all layers in one message, but it looks like we&apos;re going to hide out the real problem... what if we have many layers and they&apos;re all sent in the same cycle. I think we can meet this buggy state in many ways.

I agree that we have to fix the CoreIPC bug. But this patch is still valuable since it makes CoordinatedLayerTreeHost uses IPC efficiently. 

I&apos;ll file another bug for the CoreIPC bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813867</commentid>
    <comment_count>5</comment_count>
      <attachid>184131</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-01-22 22:57:53 -0800</bug_when>
    <thetext>Comment on attachment 184131
Patch

I would rather see a real fix than a workaround. I&apos;m not convinced that this optimization is significant.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813874</commentid>
    <comment_count>6</comment_count>
    <who name="Seulgi Kim">dev</who>
    <bug_when>2013-01-22 23:07:16 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; (From update of attachment 184131 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=184131&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit2/ChangeLog:11
&gt; &gt; &gt; +        are not created in the UIProcess, and causes crash when trying to use
&gt; &gt; 
&gt; &gt; Hm, do you have any idea why they are not created on UIProcess? All messages are delivered? If so, then why they are not created?
&gt; 
&gt; Some messages are not delivered. I checked sent messages and received messages, and confirmed some messages are not received. I saw this behavior in efl and qt so I think CoreIPC in unix has some problems.
&gt; 
&gt; &gt; If not, shouldn&apos;t we try to fix that first? I&apos;m not against merging all layers in one message, but it looks like we&apos;re going to hide out the real problem... what if we have many layers and they&apos;re all sent in the same cycle. I think we can meet this buggy state in many ways.
&gt; 
&gt; I agree that we have to fix the CoreIPC bug. But this patch is still valuable since it makes CoordinatedLayerTreeHost uses IPC efficiently. 
&gt; 
&gt; I&apos;ll file another bug for the CoreIPC bug.

I filed the bug at https://bugs.webkit.org/show_bug.cgi?id=107633</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813887</commentid>
    <comment_count>7</comment_count>
    <who name="Seulgi Kim">dev</who>
    <bug_when>2013-01-22 23:20:10 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 184131 [details])
&gt; I would rather see a real fix than a workaround. I&apos;m not convinced that this optimization is significant.

Yes, I got it.
If you think this optimization is not significant, I&apos;ll close this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813932</commentid>
    <comment_count>8</comment_count>
    <who name="Seulgi Kim">dev</who>
    <bug_when>2013-01-23 00:23:42 -0800</bug_when>
    <thetext>On second thoughts, this patch has enough values.
Less messages improve performance not only just for IPC time, but also CoreIPC creates Functional before sending a message.

bool Connection::sendMessage(MessageID messageID, PassOwnPtr&lt;MessageEncoder&gt; encoder, unsigned messageSendFlags)
{
/ ...... /
    m_connectionQueue.dispatch(WTF::bind(&amp;Connection::sendOutgoingMessages, this));
/ ...... /
}

And CoordinatedLayerTreeHostProxy also creates Functional to create or delete layers.

If CoordinatedLayerTreeHost send n messages in a cycle, CoreIPC and CoordinatedLayerTreeHostProxy creates 2 * n functional. And this patch reduced 2 * n Functionals to 2 Functional.
IMHO it will not be an insignificant performance improve.

And also it doesn&apos;t harms to readability.

Could you think again, noam?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813936</commentid>
    <comment_count>9</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-01-23 00:26:08 -0800</bug_when>
    <thetext>Sure, but don&apos;t write in the Changelog that it fixes the bug, because that&apos;s misleading. All it does is postpone the bug to a later time :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813971</commentid>
    <comment_count>10</comment_count>
      <attachid>184176</attachid>
    <who name="Seulgi Kim">dev</who>
    <bug_when>2013-01-23 00:57:37 -0800</bug_when>
    <thetext>Created attachment 184176
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814009</commentid>
    <comment_count>11</comment_count>
      <attachid>184176</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-01-23 01:52:32 -0800</bug_when>
    <thetext>Comment on attachment 184176
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=184176&amp;action=review

This looks OK to me; But you need a WebKit2 owner to review.

&gt; Source/WebKit2/ChangeLog:21
&gt; +        Currently, the number of messages sent by CoordinatedLayerTreeHost is
&gt; +        equal to the number of layers created/deleted even though they requested
&gt; +        in the same cycle.
&gt; +        It&apos;s not good since CoreIPC creates functional before sending messages,
&gt; +        and CoordinatedLayerTreeHostProxy creates functional before
&gt; +        create/delete layers.
&gt; +
&gt; +        This patch makes CoordinatedLayerTreeHost send just one
&gt; +        CreateCompositingLayers message and CoordinatedLayerTreeHostProxy create
&gt; +        just one functional in a cycle. The same work has been done with
&gt; +        DeleteCompositingLayers message.
&gt; +
&gt; +        This patch will use IPC more efficiently and create less Functional.

Please reword to:

Reduce the number of calls to Functional and number of IPC messages by sending the created/deleted layers in a vector.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814073</commentid>
    <comment_count>12</comment_count>
    <who name="Seulgi Kim">dev</who>
    <bug_when>2013-01-23 03:38:00 -0800</bug_when>
    <thetext>(In reply to comment #11)
Thank you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814088</commentid>
    <comment_count>13</comment_count>
      <attachid>184197</attachid>
    <who name="Seulgi Kim">dev</who>
    <bug_when>2013-01-23 04:01:52 -0800</bug_when>
    <thetext>Created attachment 184197
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814095</commentid>
    <comment_count>14</comment_count>
      <attachid>184199</attachid>
    <who name="Seulgi Kim">dev</who>
    <bug_when>2013-01-23 04:18:07 -0800</bug_when>
    <thetext>Created attachment 184199
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814679</commentid>
    <comment_count>15</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2013-01-23 14:52:53 -0800</bug_when>
    <thetext>Needs WK2 owner review, but the patch is informally r+&apos;ed by Noam.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814862</commentid>
    <comment_count>16</comment_count>
      <attachid>184199</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-01-23 17:16:48 -0800</bug_when>
    <thetext>Comment on attachment 184199
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=184199&amp;action=review

RS=me for WK2 if No&apos;am says the change is correct.

&gt; Source/WebKit2/ChangeLog:6
&gt; +        Patch by Seulgi Kim &lt;seulgikim@company100.net&gt; on 2013-01-22

How did you end up with this in a ChangeLog? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814878</commentid>
    <comment_count>17</comment_count>
      <attachid>184363</attachid>
    <who name="Seulgi Kim">dev</who>
    <bug_when>2013-01-23 17:32:14 -0800</bug_when>
    <thetext>Created attachment 184363
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814879</commentid>
    <comment_count>18</comment_count>
    <who name="Seulgi Kim">dev</who>
    <bug_when>2013-01-23 17:33:21 -0800</bug_when>
    <thetext>(In reply to comment #16)

Sorry, my mistake.
Could you review it again?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814956</commentid>
    <comment_count>19</comment_count>
      <attachid>184363</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-23 18:59:15 -0800</bug_when>
    <thetext>Comment on attachment 184363
Patch

Clearing flags on attachment: 184363

Committed r140634: &lt;http://trac.webkit.org/changeset/140634&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814957</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-23 18:59:20 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184131</attachid>
            <date>2013-01-22 21:26:38 -0800</date>
            <delta_ts>2013-01-23 00:57:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107625-20130123142333.patch</filename>
            <type>text/plain</type>
            <size>10029</size>
            <attacher name="Seulgi Kim">dev</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNWQ2MmQ5ZjAzNjJkNTZi
ODJkMWUzYTFkMTJkZGM5NWQ2MTQ0MGVhNy4uNjE1Yzg4NzdiNjZkMjc4ZDI3YTQyZTdiZTRhMTk4
OTMxYzI1N2E3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEzLTAxLTIyICBTZXVs
Z2kgS2ltICA8c2V1bGdpa2ltQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENvb3JkaW5hdGVk
IEdyYXBoaWNzIDogUmVkdWNlIHRoZSBudW1iZXIgb2YgbWVzc2FnZXMgc2VudCB0byBVSVByb2Nl
c3Mgd2hlbiBjcmVhdGluZyAgYW5kIGRlbGV0aW5nIGNvbXBvc2l0aW5nIGxheWVycy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzYyNQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1cnJlbnRseSwgTGF5
ZXJUcmVlUmVuZGVyZXIgaW4gVUkgUHJvY2VzcyBjcmVhdGVzIGEgbGF5ZXIgd2hlbgorICAgICAg
ICBDcmVhdGVDb21wb3NpdGluZ0xheWVyIG1lc3NhZ2UgaXMgcmVjZWl2ZWQuIFdoZW4gYSBsb3Qg
b2YKKyAgICAgICAgQ3JlYXRlQ29tcG9zaXRpbmdMYXllciBtZXNzYWdlcyBhcmUgc2VudCBpbiB0
aGUgc2FtZSBjeWNsZSwgc29tZSBsYXllcnMKKyAgICAgICAgYXJlIG5vdCBjcmVhdGVkIGluIHRo
ZSBVSVByb2Nlc3MsIGFuZCBjYXVzZXMgY3Jhc2ggd2hlbiB0cnlpbmcgdG8gdXNlCisgICAgICAg
IHRoZSBvbWl0dGVkIGxheWVycy4KKworICAgICAgICBUaGlzIHBhdGNoIG1ha2VzIENvb3JkaW5h
dGVkTGF5ZXJUcmVlSG9zdCB0byBzZW5kIGp1c3Qgb25lCisgICAgICAgIENyZWF0ZUNvbXBvc2l0
aW5nTGF5ZXJzIG1lc3NhZ2UgaW4gYSBjeWNsZS4gVGhlIHNhbWUgd29yayBoYXMgYmVlbiBkb25l
CisgICAgICAgIHdpdGggRGVsZXRlQ29tcG9zaXRpbmdMYXllcnMgbWVzc2FnZS4KKworICAgICAg
ICBUaGlzIHBhdGNoIHdpbGwgZml4IHRoZSBidWcsIGFuZCBhbHNvIHVzZSBJUEMgbW9yZSBlZmZp
Y2llbnRseS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGNoYW5nZSBpbiBiZWhhdmlvci4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdFByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHk6OmNyZWF0ZUNvbXBvc2l0aW5nTGF5ZXJzKToKKyAgICAgICAgKFdlYktpdDo6
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OmRlbGV0ZUNvbXBvc2l0aW5nTGF5ZXJzKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVy
VHJlZUhvc3RQcm94eS5oOgorICAgICAgICAoQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdFByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGlu
YXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5
ZXJUcmVlUmVuZGVyZXI6OmNyZWF0ZUxheWVycyk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAg
ICAoV2ViS2l0OjpMYXllclRyZWVSZW5kZXJlcjo6ZGVsZXRlTGF5ZXJzKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5oOgorICAgICAg
ICAoTGF5ZXJUcmVlUmVuZGVyZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29y
ZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6Y3JlYXRlQ29tcG9zaXRpbmdMYXllcnMp
OgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmRlbGV0ZUNvbXBv
c2l0aW5nTGF5ZXJzKToKKwogMjAxMy0wMS0yMiAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FA
YXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBhIHBsYXRmb3JvbSBzdHJhdGVneSBmb3IgbG9jYWwg
c3RvcmFnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0
UHJveHkuY3BwCmluZGV4IGJhYThmNjUyM2RlYmZkZWJiYzRlNTIyYjQ3NWUxNGNjMThmZDJlYjUu
Ljg3ZmIxNzE5MDQ0MzFlNDVjNzBlYzQ0ZjM2NGE2NTI0NjE3Y2RiZTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAKQEAgLTk1LDE0
ICs5NSwxNCBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpyZW1vdmVVcGRh
dGVBdGxhcyh1aW50MzJfdCBhdGxhc0lEKQogICAgIG1fc3VyZmFjZXMucmVtb3ZlKGF0bGFzSUQp
OwogfQogCi12b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpjcmVhdGVDb21wb3Np
dGluZ0xheWVyKENvb3JkaW5hdGVkTGF5ZXJJRCBpZCkKK3ZvaWQgQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHk6OmNyZWF0ZUNvbXBvc2l0aW5nTGF5ZXJzKGNvbnN0IFZlY3RvcjxDb29yZGlu
YXRlZExheWVySUQ+JiBpZHMpCiB7Ci0gICAgZGlzcGF0Y2hVcGRhdGUoYmluZCgmTGF5ZXJUcmVl
UmVuZGVyZXI6OmNyZWF0ZUxheWVyLCBtX3JlbmRlcmVyLmdldCgpLCBpZCkpOworICAgIGRpc3Bh
dGNoVXBkYXRlKGJpbmQoJkxheWVyVHJlZVJlbmRlcmVyOjpjcmVhdGVMYXllcnMsIG1fcmVuZGVy
ZXIuZ2V0KCksIGlkcykpOwogfQogCi12b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5
OjpkZWxldGVDb21wb3NpdGluZ0xheWVyKENvb3JkaW5hdGVkTGF5ZXJJRCBpZCkKK3ZvaWQgQ29v
cmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OmRlbGV0ZUNvbXBvc2l0aW5nTGF5ZXJzKGNvbnN0
IFZlY3RvcjxDb29yZGluYXRlZExheWVySUQ+JiBpZHMpCiB7Ci0gICAgZGlzcGF0Y2hVcGRhdGUo
YmluZCgmTGF5ZXJUcmVlUmVuZGVyZXI6OmRlbGV0ZUxheWVyLCBtX3JlbmRlcmVyLmdldCgpLCBp
ZCkpOworICAgIGRpc3BhdGNoVXBkYXRlKGJpbmQoJkxheWVyVHJlZVJlbmRlcmVyOjpkZWxldGVM
YXllcnMsIG1fcmVuZGVyZXIuZ2V0KCksIGlkcykpOwogfQogCiB2b2lkIENvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdFByb3h5OjpzZXRSb290Q29tcG9zaXRpbmdMYXllcihDb29yZGluYXRlZExheWVy
SUQgaWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJv
eHkuaAppbmRleCA3NTkxYjg0ODVkMzk4ODZlZDdlZDJjZDA1ZDExNjEzZmU2N2ZhY2QzLi45NGZh
NDc2ZjA5MmI0ZGZkYzhmM2EzNGExOGYxZGYxYzMxZGYzOTgyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJl
ZUhvc3RQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdy
YXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmgKQEAgLTM5LDYgKzM5LDcgQEAK
ICNpbmNsdWRlIDxXZWJDb3JlL1RpbWVyLmg+CiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uYWwuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKQEAgLTYwLDggKzYxLDggQEAgcHVibGljOgogICAgIHZvaWQgY3Jl
YXRlQ3VzdG9tRmlsdGVyUHJvZ3JhbShpbnQgaWQsIGNvbnN0IFdlYkNvcmU6OkN1c3RvbUZpbHRl
clByb2dyYW1JbmZvJik7CiAgICAgdm9pZCByZW1vdmVDdXN0b21GaWx0ZXJQcm9ncmFtKGludCBp
ZCk7CiAjZW5kaWYKLSAgICB2b2lkIGNyZWF0ZUNvbXBvc2l0aW5nTGF5ZXIoQ29vcmRpbmF0ZWRM
YXllcklEKTsKLSAgICB2b2lkIGRlbGV0ZUNvbXBvc2l0aW5nTGF5ZXIoQ29vcmRpbmF0ZWRMYXll
cklEKTsKKyAgICB2b2lkIGNyZWF0ZUNvbXBvc2l0aW5nTGF5ZXJzKGNvbnN0IFZlY3RvcjxDb29y
ZGluYXRlZExheWVySUQ+Jik7CisgICAgdm9pZCBkZWxldGVDb21wb3NpdGluZ0xheWVycyhjb25z
dCBWZWN0b3I8Q29vcmRpbmF0ZWRMYXllcklEPiYpOwogICAgIHZvaWQgc2V0Um9vdENvbXBvc2l0
aW5nTGF5ZXIoQ29vcmRpbmF0ZWRMYXllcklEKTsKICAgICB2b2lkIHNldENvbnRlbnRzU2l6ZShj
b25zdCBXZWJDb3JlOjpGbG9hdFNpemUmKTsKICAgICB2b2lkIHNldFZpc2libGVDb250ZW50c1Jl
Y3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiwgZmxvYXQgcGFnZVNjYWxlRmFjdG9yLCBjb25z
dCBXZWJDb3JlOjpGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjdG9yKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdFByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkubWVzc2FnZXMu
aW4KaW5kZXggMTM3ZGFkODA3NTAwZjU1ZTU5ZDI2YzI3YzFkZWRiYTQ5YzU1MDhhMC4uZDM3Y2Vm
YTMyYmMxYzJhNTYwYzc5M2U4MjM4Y2NiOWQxMTM1MTc0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0UHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkubWVzc2FnZXMuaW4K
QEAgLTI5LDggKzI5LDggQEAgbWVzc2FnZXMgLT4gQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJv
eHkgewogICAgIFJlbW92ZUN1c3RvbUZpbHRlclByb2dyYW0oaW50IGlkKQogI2VuZGlmCiAgICAg
U2V0Um9vdENvbXBvc2l0aW5nTGF5ZXIodWludDMyX3QgaWQpCi0gICAgQ3JlYXRlQ29tcG9zaXRp
bmdMYXllcih1aW50MzJfdCBpZCkKLSAgICBEZWxldGVDb21wb3NpdGluZ0xheWVyKHVpbnQzMl90
IGlkKQorICAgIENyZWF0ZUNvbXBvc2l0aW5nTGF5ZXJzKFZlY3Rvcjx1aW50MzJfdD4gaWRzKQor
ICAgIERlbGV0ZUNvbXBvc2l0aW5nTGF5ZXJzKFZlY3Rvcjx1aW50MzJfdD4gaWRzKQogICAgIENy
ZWF0ZVRpbGVGb3JMYXllcih1aW50MzJfdCBsYXllcklELCB1aW50MzJfdCB0aWxlSUQsIFdlYkNv
cmU6OkludFJlY3QgdGlsZVJlY3QsIFdlYktpdDo6U3VyZmFjZVVwZGF0ZUluZm8gdXBkYXRlSW5m
bykKICAgICBVcGRhdGVUaWxlRm9yTGF5ZXIodWludDMyX3QgbGF5ZXJJRCwgdWludDMyX3QgdGls
ZUlELCBXZWJDb3JlOjpJbnRSZWN0IHRpbGVSZWN0LCBXZWJLaXQ6OlN1cmZhY2VVcGRhdGVJbmZv
IHVwZGF0ZUluZm8pCiAgICAgUmVtb3ZlVGlsZUZvckxheWVyKHVpbnQzMl90IGxheWVySUQsIHVp
bnQzMl90IHRpbGVJRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcAppbmRleCBl
YmI1MDYzOTBlMzk3OTgyNGU2ZTVlMjFjYmQ1MjNiMjk2NzFlOTdmLi5kZmE0MDZkMDRkYWViYjc2
Yzc2MDljM2YwNzViZGIxZTljYzQ0YTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVy
ZXIuY3BwCkBAIC0zNTMsNiArMzUzLDEyIEBAIEdyYXBoaWNzTGF5ZXIqIExheWVyVHJlZVJlbmRl
cmVyOjpnZXRMYXllckJ5SURJZkV4aXN0cyhDb29yZGluYXRlZExheWVySUQgaWQpCiAgICAgcmV0
dXJuIChpZCAhPSBJbnZhbGlkQ29vcmRpbmF0ZWRMYXllcklEKSA/IGxheWVyQnlJRChpZCkgOiAw
OwogfQogCit2b2lkIExheWVyVHJlZVJlbmRlcmVyOjpjcmVhdGVMYXllcnMoY29uc3QgVmVjdG9y
PENvb3JkaW5hdGVkTGF5ZXJJRD4mIGlkcykKK3sKKyAgICBmb3IgKHNpemVfdCBpbmRleCA9IDA7
IGluZGV4IDwgaWRzLnNpemUoKTsgKytpbmRleCkKKyAgICAgICAgY3JlYXRlTGF5ZXIoaWRzW2lu
ZGV4XSk7Cit9CisKIHZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OmNyZWF0ZUxheWVyKENvb3JkaW5h
dGVkTGF5ZXJJRCBpZCkKIHsKICAgICBPd25QdHI8V2ViQ29yZTo6R3JhcGhpY3NMYXllcj4gbmV3
TGF5ZXIgPSBHcmFwaGljc0xheWVyOjpjcmVhdGUoMCAvKiBmYWN0b3J5ICovLCB0aGlzKTsKQEAg
LTM2MCw2ICszNjYsMTIgQEAgdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6Y3JlYXRlTGF5ZXIoQ29v
cmRpbmF0ZWRMYXllcklEIGlkKQogICAgIG1fbGF5ZXJzLmFkZChpZCwgbmV3TGF5ZXIucmVsZWFz
ZSgpKTsKIH0KIAordm9pZCBMYXllclRyZWVSZW5kZXJlcjo6ZGVsZXRlTGF5ZXJzKGNvbnN0IFZl
Y3RvcjxDb29yZGluYXRlZExheWVySUQ+JiBsYXllcklEcykKK3sKKyAgICBmb3IgKHNpemVfdCBp
bmRleCA9IDA7IGluZGV4IDwgbGF5ZXJJRHMuc2l6ZSgpOyArK2luZGV4KQorICAgICAgICBkZWxl
dGVMYXllcihsYXllcklEc1tpbmRleF0pOworfQorCiB2b2lkIExheWVyVHJlZVJlbmRlcmVyOjpk
ZWxldGVMYXllcihDb29yZGluYXRlZExheWVySUQgbGF5ZXJJRCkKIHsKICAgICBPd25QdHI8R3Jh
cGhpY3NMYXllcj4gbGF5ZXIgPSBtX2xheWVycy50YWtlKGxheWVySUQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVu
ZGVyZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xh
eWVyVHJlZVJlbmRlcmVyLmgKaW5kZXggNTNlY2JlMzk0OTgxODk5ZDJhYmJlMGYyMWQ0NDQzNDQy
MzkzNjQ4OC4uYzFkNThmNDk5ZmU5MWMxNzRiMzZmMzQyMDk2ZDhhOTNkY2NkMjRlNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJU
cmVlUmVuZGVyZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5oCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSA8
d3RmL0Z1bmN0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0
Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDdXN0b21GaWx0ZXJQcm9ncmFtOwpAQCAtODYsOCArODcs
OCBAQCBwdWJsaWM6CiAgICAgdm9pZCBwdXJnZUdMUmVzb3VyY2VzKCk7CiAgICAgdm9pZCBzZXRB
Y3RpdmUoYm9vbCk7CiAKLSAgICB2b2lkIGNyZWF0ZUxheWVyKENvb3JkaW5hdGVkTGF5ZXJJRCk7
Ci0gICAgdm9pZCBkZWxldGVMYXllcihDb29yZGluYXRlZExheWVySUQpOworICAgIHZvaWQgY3Jl
YXRlTGF5ZXJzKGNvbnN0IFZlY3RvcjxDb29yZGluYXRlZExheWVySUQ+Jik7CisgICAgdm9pZCBk
ZWxldGVMYXllcnMoY29uc3QgVmVjdG9yPENvb3JkaW5hdGVkTGF5ZXJJRD4mKTsKICAgICB2b2lk
IHNldFJvb3RMYXllcklEKENvb3JkaW5hdGVkTGF5ZXJJRCk7CiAgICAgdm9pZCBzZXRMYXllckNo
aWxkcmVuKENvb3JkaW5hdGVkTGF5ZXJJRCwgY29uc3QgVmVjdG9yPENvb3JkaW5hdGVkTGF5ZXJJ
RD4mKTsKICAgICB2b2lkIHNldExheWVyU3RhdGUoQ29vcmRpbmF0ZWRMYXllcklELCBjb25zdCBD
b29yZGluYXRlZExheWVySW5mbyYpOwpAQCAtMTQzLDYgKzE0NCw5IEBAIHByaXZhdGU6CiAgICAg
dm9pZCByZW5kZXJOZXh0RnJhbWUoKTsKICAgICB2b2lkIHB1cmdlQmFja2luZ1N0b3JlcygpOwog
CisgICAgdm9pZCBjcmVhdGVMYXllcihDb29yZGluYXRlZExheWVySUQpOworICAgIHZvaWQgZGVs
ZXRlTGF5ZXIoQ29vcmRpbmF0ZWRMYXllcklEKTsKKwogICAgIHZvaWQgYXNzaWduSW1hZ2VCYWNr
aW5nVG9MYXllcihXZWJDb3JlOjpHcmFwaGljc0xheWVyKiwgQ29vcmRpbmF0ZWRJbWFnZUJhY2tp
bmdJRCk7CiAgICAgdm9pZCByZW1vdmVSZWxlYXNlZEltYWdlQmFja2luZ3NJZk5lZWRlZCgpOwog
ICAgIHZvaWQgZW5zdXJlUm9vdExheWVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJl
ZUhvc3QuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcAppbmRleCA3OTdhZWUzNTJiMGVi
MDgzMjRmNThjYTliM2ZkMjJmYmY1Y2FmOTZhLi4zMmJhODZlNDc3Y2ZhOGRhNDJjOGI1OGU1MWNk
YTA3NGNkMjZhMTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTMxOCw4ICszMTgsNyBAQCB2b2lkIENvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdDo6Y3JlYXRlQ29tcG9zaXRpbmdMYXllcnMoKQogICAgICAgICB9
CiAgICAgfQogCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2xheWVyc1RvQ3JlYXRlLnNp
emUoKTsgKytpKQotICAgICAgICBtX3dlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OkNvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdFByb3h5OjpDcmVhdGVDb21wb3NpdGluZ0xheWVyKG1fbGF5ZXJzVG9DcmVh
dGVbaV0pKTsKKyAgICBtX3dlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OkNvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5OjpDcmVhdGVDb21wb3NpdGluZ0xheWVycyhtX2xheWVyc1RvQ3JlYXRlKSk7
CiAgICAgbV9sYXllcnNUb0NyZWF0ZS5jbGVhcigpOwogICAgIG1fc2hvdWxkU3luY0ZyYW1lID0g
dHJ1ZTsKIH0KQEAgLTMzNCw4ICszMzMsNyBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dDo6ZGVsZXRlQ29tcG9zaXRpbmdMYXllcnMoKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0g
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2xheWVyc1RvRGVsZXRlLnNpemUoKTsgKytpKQot
ICAgICAgICBtX3dlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dFByb3h5OjpEZWxldGVDb21wb3NpdGluZ0xheWVyKG1fbGF5ZXJzVG9EZWxldGVbaV0pKTsKKyAg
ICBtX3dlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5
OjpEZWxldGVDb21wb3NpdGluZ0xheWVycyhtX2xheWVyc1RvRGVsZXRlKSk7CiAgICAgbV9sYXll
cnNUb0RlbGV0ZS5jbGVhcigpOwogICAgIG1fc2hvdWxkU3luY0ZyYW1lID0gdHJ1ZTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184176</attachid>
            <date>2013-01-23 00:57:37 -0800</date>
            <delta_ts>2013-01-23 04:01:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107625-20130123175433.patch</filename>
            <type>text/plain</type>
            <size>10212</size>
            <attacher name="Seulgi Kim">dev</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNWQ2MmQ5ZjAzNjJkNTZi
ODJkMWUzYTFkMTJkZGM5NWQ2MTQ0MGVhNy4uZWJjYzAzMWIwYTFmOWUzYjcxYzlhM2MwYTU1YjM4
NmJmOWU0ZTYyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEzLTAxLTIzICBTZXVs
Z2kgS2ltICA8c2V1bGdpa2ltQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENvb3JkaW5hdGVk
IEdyYXBoaWNzIDogUmVkdWNlIHRoZSBudW1iZXIgb2YgbWVzc2FnZXMgc2VudCB0byBVSVByb2Nl
c3Mgd2hlbiBjcmVhdGluZyAgYW5kIGRlbGV0aW5nIGNvbXBvc2l0aW5nIGxheWVycy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzYyNQorCisgICAg
ICAgIFBhdGNoIGJ5IFNldWxnaSBLaW0gPHNldWxnaWtpbUBjb21wYW55MTAwLm5ldD4gb24gMjAx
My0wMS0yMgorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBD
dXJyZW50bHksIHRoZSBudW1iZXIgb2YgbWVzc2FnZXMgc2VudCBieSBDb29yZGluYXRlZExheWVy
VHJlZUhvc3QgaXMKKyAgICAgICAgZXF1YWwgdG8gdGhlIG51bWJlciBvZiBsYXllcnMgY3JlYXRl
ZC9kZWxldGVkIGV2ZW4gdGhvdWdoIHRoZXkgcmVxdWVzdGVkCisgICAgICAgIGluIHRoZSBzYW1l
IGN5Y2xlLgorICAgICAgICBJdCdzIG5vdCBnb29kIHNpbmNlIENvcmVJUEMgY3JlYXRlcyBmdW5j
dGlvbmFsIGJlZm9yZSBzZW5kaW5nIG1lc3NhZ2VzLAorICAgICAgICBhbmQgQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0UHJveHkgY3JlYXRlcyBmdW5jdGlvbmFsIGJlZm9yZQorICAgICAgICBjcmVh
dGUvZGVsZXRlIGxheWVycy4KKworICAgICAgICBUaGlzIHBhdGNoIG1ha2VzIENvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdCBzZW5kIGp1c3Qgb25lCisgICAgICAgIENyZWF0ZUNvbXBvc2l0aW5nTGF5
ZXJzIG1lc3NhZ2UgYW5kIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5IGNyZWF0ZQorICAg
ICAgICBqdXN0IG9uZSBmdW5jdGlvbmFsIGluIGEgY3ljbGUuIFRoZSBzYW1lIHdvcmsgaGFzIGJl
ZW4gZG9uZSB3aXRoCisgICAgICAgIERlbGV0ZUNvbXBvc2l0aW5nTGF5ZXJzIG1lc3NhZ2UuCisK
KyAgICAgICAgVGhpcyBwYXRjaCB3aWxsIHVzZSBJUEMgbW9yZSBlZmZpY2llbnRseSBhbmQgY3Jl
YXRlIGxlc3MgRnVuY3Rpb25hbC4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGNoYW5nZSBp
biBiZWhhdmlvci4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q29vcmRp
bmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OmNyZWF0ZUNvbXBvc2l0aW5nTGF5ZXJzKToKKyAgICAg
ICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OmRlbGV0ZUNvbXBvc2l0
aW5nTGF5ZXJzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29y
ZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oOgorICAgICAgICAoQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6TGF5ZXJUcmVlUmVuZGVyZXI6OmNyZWF0ZUxheWVycyk6CisgICAgICAgIChXZWJL
aXQpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVSZW5kZXJlcjo6ZGVsZXRlTGF5ZXJzKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJl
ci5oOgorICAgICAgICAoTGF5ZXJUcmVlUmVuZGVyZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6Y3JlYXRlQ29tcG9z
aXRpbmdMYXllcnMpOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6
OmRlbGV0ZUNvbXBvc2l0aW5nTGF5ZXJzKToKKwogMjAxMy0wMS0yMiAgQW5kZXJzIENhcmxzc29u
ICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBhIHBsYXRmb3JvbSBzdHJhdGVn
eSBmb3IgbG9jYWwgc3RvcmFnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0UHJveHkuY3BwCmluZGV4IGJhYThmNjUyM2RlYmZkZWJiYzRlNTIyYjQ3NWUx
NGNjMThmZDJlYjUuLjg3ZmIxNzE5MDQ0MzFlNDVjNzBlYzQ0ZjM2NGE2NTI0NjE3Y2RiZTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5j
cHAKQEAgLTk1LDE0ICs5NSwxNCBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5
OjpyZW1vdmVVcGRhdGVBdGxhcyh1aW50MzJfdCBhdGxhc0lEKQogICAgIG1fc3VyZmFjZXMucmVt
b3ZlKGF0bGFzSUQpOwogfQogCi12b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Ojpj
cmVhdGVDb21wb3NpdGluZ0xheWVyKENvb3JkaW5hdGVkTGF5ZXJJRCBpZCkKK3ZvaWQgQ29vcmRp
bmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OmNyZWF0ZUNvbXBvc2l0aW5nTGF5ZXJzKGNvbnN0IFZl
Y3RvcjxDb29yZGluYXRlZExheWVySUQ+JiBpZHMpCiB7Ci0gICAgZGlzcGF0Y2hVcGRhdGUoYmlu
ZCgmTGF5ZXJUcmVlUmVuZGVyZXI6OmNyZWF0ZUxheWVyLCBtX3JlbmRlcmVyLmdldCgpLCBpZCkp
OworICAgIGRpc3BhdGNoVXBkYXRlKGJpbmQoJkxheWVyVHJlZVJlbmRlcmVyOjpjcmVhdGVMYXll
cnMsIG1fcmVuZGVyZXIuZ2V0KCksIGlkcykpOwogfQogCi12b2lkIENvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5OjpkZWxldGVDb21wb3NpdGluZ0xheWVyKENvb3JkaW5hdGVkTGF5ZXJJRCBp
ZCkKK3ZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OmRlbGV0ZUNvbXBvc2l0aW5n
TGF5ZXJzKGNvbnN0IFZlY3RvcjxDb29yZGluYXRlZExheWVySUQ+JiBpZHMpCiB7Ci0gICAgZGlz
cGF0Y2hVcGRhdGUoYmluZCgmTGF5ZXJUcmVlUmVuZGVyZXI6OmRlbGV0ZUxheWVyLCBtX3JlbmRl
cmVyLmdldCgpLCBpZCkpOworICAgIGRpc3BhdGNoVXBkYXRlKGJpbmQoJkxheWVyVHJlZVJlbmRl
cmVyOjpkZWxldGVMYXllcnMsIG1fcmVuZGVyZXIuZ2V0KCksIGlkcykpOwogfQogCiB2b2lkIENv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpzZXRSb290Q29tcG9zaXRpbmdMYXllcihDb29y
ZGluYXRlZExheWVySUQgaWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0UHJveHkuaAppbmRleCA3NTkxYjg0ODVkMzk4ODZlZDdlZDJjZDA1ZDExNjEzZmU2
N2ZhY2QzLi45NGZhNDc2ZjA5MmI0ZGZkYzhmM2EzNGExOGYxZGYxYzMxZGYzOTgyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZExheWVyVHJlZUhvc3RQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmgKQEAgLTM5
LDYgKzM5LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1RpbWVyLmg+CiAjaW5jbHVkZSA8d3RmL0Z1
bmN0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTYwLDggKzYxLDggQEAgcHVibGljOgog
ICAgIHZvaWQgY3JlYXRlQ3VzdG9tRmlsdGVyUHJvZ3JhbShpbnQgaWQsIGNvbnN0IFdlYkNvcmU6
OkN1c3RvbUZpbHRlclByb2dyYW1JbmZvJik7CiAgICAgdm9pZCByZW1vdmVDdXN0b21GaWx0ZXJQ
cm9ncmFtKGludCBpZCk7CiAjZW5kaWYKLSAgICB2b2lkIGNyZWF0ZUNvbXBvc2l0aW5nTGF5ZXIo
Q29vcmRpbmF0ZWRMYXllcklEKTsKLSAgICB2b2lkIGRlbGV0ZUNvbXBvc2l0aW5nTGF5ZXIoQ29v
cmRpbmF0ZWRMYXllcklEKTsKKyAgICB2b2lkIGNyZWF0ZUNvbXBvc2l0aW5nTGF5ZXJzKGNvbnN0
IFZlY3RvcjxDb29yZGluYXRlZExheWVySUQ+Jik7CisgICAgdm9pZCBkZWxldGVDb21wb3NpdGlu
Z0xheWVycyhjb25zdCBWZWN0b3I8Q29vcmRpbmF0ZWRMYXllcklEPiYpOwogICAgIHZvaWQgc2V0
Um9vdENvbXBvc2l0aW5nTGF5ZXIoQ29vcmRpbmF0ZWRMYXllcklEKTsKICAgICB2b2lkIHNldENv
bnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmKTsKICAgICB2b2lkIHNldFZpc2li
bGVDb250ZW50c1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiwgZmxvYXQgcGFnZVNjYWxl
RmFjdG9yLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjdG9yKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJv
eHkubWVzc2FnZXMuaW4KaW5kZXggMTM3ZGFkODA3NTAwZjU1ZTU5ZDI2YzI3YzFkZWRiYTQ5YzU1
MDhhMC4uZDM3Y2VmYTMyYmMxYzJhNTYwYzc5M2U4MjM4Y2NiOWQxMTM1MTc0NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0UHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHku
bWVzc2FnZXMuaW4KQEAgLTI5LDggKzI5LDggQEAgbWVzc2FnZXMgLT4gQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0UHJveHkgewogICAgIFJlbW92ZUN1c3RvbUZpbHRlclByb2dyYW0oaW50IGlkKQog
I2VuZGlmCiAgICAgU2V0Um9vdENvbXBvc2l0aW5nTGF5ZXIodWludDMyX3QgaWQpCi0gICAgQ3Jl
YXRlQ29tcG9zaXRpbmdMYXllcih1aW50MzJfdCBpZCkKLSAgICBEZWxldGVDb21wb3NpdGluZ0xh
eWVyKHVpbnQzMl90IGlkKQorICAgIENyZWF0ZUNvbXBvc2l0aW5nTGF5ZXJzKFZlY3Rvcjx1aW50
MzJfdD4gaWRzKQorICAgIERlbGV0ZUNvbXBvc2l0aW5nTGF5ZXJzKFZlY3Rvcjx1aW50MzJfdD4g
aWRzKQogICAgIENyZWF0ZVRpbGVGb3JMYXllcih1aW50MzJfdCBsYXllcklELCB1aW50MzJfdCB0
aWxlSUQsIFdlYkNvcmU6OkludFJlY3QgdGlsZVJlY3QsIFdlYktpdDo6U3VyZmFjZVVwZGF0ZUlu
Zm8gdXBkYXRlSW5mbykKICAgICBVcGRhdGVUaWxlRm9yTGF5ZXIodWludDMyX3QgbGF5ZXJJRCwg
dWludDMyX3QgdGlsZUlELCBXZWJDb3JlOjpJbnRSZWN0IHRpbGVSZWN0LCBXZWJLaXQ6OlN1cmZh
Y2VVcGRhdGVJbmZvIHVwZGF0ZUluZm8pCiAgICAgUmVtb3ZlVGlsZUZvckxheWVyKHVpbnQzMl90
IGxheWVySUQsIHVpbnQzMl90IHRpbGVJRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVy
LmNwcAppbmRleCBlYmI1MDYzOTBlMzk3OTgyNGU2ZTVlMjFjYmQ1MjNiMjk2NzFlOTdmLi5kZmE0
MDZkMDRkYWViYjc2Yzc2MDljM2YwNzViZGIxZTljYzQ0YTkxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5
ZXJUcmVlUmVuZGVyZXIuY3BwCkBAIC0zNTMsNiArMzUzLDEyIEBAIEdyYXBoaWNzTGF5ZXIqIExh
eWVyVHJlZVJlbmRlcmVyOjpnZXRMYXllckJ5SURJZkV4aXN0cyhDb29yZGluYXRlZExheWVySUQg
aWQpCiAgICAgcmV0dXJuIChpZCAhPSBJbnZhbGlkQ29vcmRpbmF0ZWRMYXllcklEKSA/IGxheWVy
QnlJRChpZCkgOiAwOwogfQogCit2b2lkIExheWVyVHJlZVJlbmRlcmVyOjpjcmVhdGVMYXllcnMo
Y29uc3QgVmVjdG9yPENvb3JkaW5hdGVkTGF5ZXJJRD4mIGlkcykKK3sKKyAgICBmb3IgKHNpemVf
dCBpbmRleCA9IDA7IGluZGV4IDwgaWRzLnNpemUoKTsgKytpbmRleCkKKyAgICAgICAgY3JlYXRl
TGF5ZXIoaWRzW2luZGV4XSk7Cit9CisKIHZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OmNyZWF0ZUxh
eWVyKENvb3JkaW5hdGVkTGF5ZXJJRCBpZCkKIHsKICAgICBPd25QdHI8V2ViQ29yZTo6R3JhcGhp
Y3NMYXllcj4gbmV3TGF5ZXIgPSBHcmFwaGljc0xheWVyOjpjcmVhdGUoMCAvKiBmYWN0b3J5ICov
LCB0aGlzKTsKQEAgLTM2MCw2ICszNjYsMTIgQEAgdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6Y3Jl
YXRlTGF5ZXIoQ29vcmRpbmF0ZWRMYXllcklEIGlkKQogICAgIG1fbGF5ZXJzLmFkZChpZCwgbmV3
TGF5ZXIucmVsZWFzZSgpKTsKIH0KIAordm9pZCBMYXllclRyZWVSZW5kZXJlcjo6ZGVsZXRlTGF5
ZXJzKGNvbnN0IFZlY3RvcjxDb29yZGluYXRlZExheWVySUQ+JiBsYXllcklEcykKK3sKKyAgICBm
b3IgKHNpemVfdCBpbmRleCA9IDA7IGluZGV4IDwgbGF5ZXJJRHMuc2l6ZSgpOyArK2luZGV4KQor
ICAgICAgICBkZWxldGVMYXllcihsYXllcklEc1tpbmRleF0pOworfQorCiB2b2lkIExheWVyVHJl
ZVJlbmRlcmVyOjpkZWxldGVMYXllcihDb29yZGluYXRlZExheWVySUQgbGF5ZXJJRCkKIHsKICAg
ICBPd25QdHI8R3JhcGhpY3NMYXllcj4gbGF5ZXIgPSBtX2xheWVycy50YWtlKGxheWVySUQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
TGF5ZXJUcmVlUmVuZGVyZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRl
ZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmgKaW5kZXggNTNlY2JlMzk0OTgxODk5ZDJhYmJl
MGYyMWQ0NDQzNDQyMzkzNjQ4OC4uYzFkNThmNDk5ZmU5MWMxNzRiMzZmMzQyMDk2ZDhhOTNkY2Nk
MjRlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5oCkBAIC0zNyw2ICszNyw3IEBA
CiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgog
I2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDdXN0b21GaWx0ZXJQcm9ncmFtOwpA
QCAtODYsOCArODcsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBwdXJnZUdMUmVzb3VyY2VzKCk7CiAg
ICAgdm9pZCBzZXRBY3RpdmUoYm9vbCk7CiAKLSAgICB2b2lkIGNyZWF0ZUxheWVyKENvb3JkaW5h
dGVkTGF5ZXJJRCk7Ci0gICAgdm9pZCBkZWxldGVMYXllcihDb29yZGluYXRlZExheWVySUQpOwor
ICAgIHZvaWQgY3JlYXRlTGF5ZXJzKGNvbnN0IFZlY3RvcjxDb29yZGluYXRlZExheWVySUQ+Jik7
CisgICAgdm9pZCBkZWxldGVMYXllcnMoY29uc3QgVmVjdG9yPENvb3JkaW5hdGVkTGF5ZXJJRD4m
KTsKICAgICB2b2lkIHNldFJvb3RMYXllcklEKENvb3JkaW5hdGVkTGF5ZXJJRCk7CiAgICAgdm9p
ZCBzZXRMYXllckNoaWxkcmVuKENvb3JkaW5hdGVkTGF5ZXJJRCwgY29uc3QgVmVjdG9yPENvb3Jk
aW5hdGVkTGF5ZXJJRD4mKTsKICAgICB2b2lkIHNldExheWVyU3RhdGUoQ29vcmRpbmF0ZWRMYXll
cklELCBjb25zdCBDb29yZGluYXRlZExheWVySW5mbyYpOwpAQCAtMTQzLDYgKzE0NCw5IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCByZW5kZXJOZXh0RnJhbWUoKTsKICAgICB2b2lkIHB1cmdlQmFja2lu
Z1N0b3JlcygpOwogCisgICAgdm9pZCBjcmVhdGVMYXllcihDb29yZGluYXRlZExheWVySUQpOwor
ICAgIHZvaWQgZGVsZXRlTGF5ZXIoQ29vcmRpbmF0ZWRMYXllcklEKTsKKwogICAgIHZvaWQgYXNz
aWduSW1hZ2VCYWNraW5nVG9MYXllcihXZWJDb3JlOjpHcmFwaGljc0xheWVyKiwgQ29vcmRpbmF0
ZWRJbWFnZUJhY2tpbmdJRCk7CiAgICAgdm9pZCByZW1vdmVSZWxlYXNlZEltYWdlQmFja2luZ3NJ
Zk5lZWRlZCgpOwogICAgIHZvaWQgZW5zdXJlUm9vdExheWVyKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZExheWVyVHJlZUhvc3QuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcAppbmRleCA3
OTdhZWUzNTJiMGViMDgzMjRmNThjYTliM2ZkMjJmYmY1Y2FmOTZhLi4zMmJhODZlNDc3Y2ZhOGRh
NDJjOGI1OGU1MWNkYTA3NGNkMjZhMTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhv
c3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRl
ZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTMxOCw4ICszMTgsNyBA
QCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6Y3JlYXRlQ29tcG9zaXRpbmdMYXllcnMo
KQogICAgICAgICB9CiAgICAgfQogCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2xheWVy
c1RvQ3JlYXRlLnNpemUoKTsgKytpKQotICAgICAgICBtX3dlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6
OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpDcmVhdGVDb21wb3NpdGluZ0xheWVyKG1f
bGF5ZXJzVG9DcmVhdGVbaV0pKTsKKyAgICBtX3dlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OkNvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpDcmVhdGVDb21wb3NpdGluZ0xheWVycyhtX2xheWVy
c1RvQ3JlYXRlKSk7CiAgICAgbV9sYXllcnNUb0NyZWF0ZS5jbGVhcigpOwogICAgIG1fc2hvdWxk
U3luY0ZyYW1lID0gdHJ1ZTsKIH0KQEAgLTMzNCw4ICszMzMsNyBAQCB2b2lkIENvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdDo6ZGVsZXRlQ29tcG9zaXRpbmdMYXllcnMoKQogICAgICAgICByZXR1cm47
CiAgICAgfQogCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2xheWVyc1RvRGVsZXRlLnNp
emUoKTsgKytpKQotICAgICAgICBtX3dlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OkNvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdFByb3h5OjpEZWxldGVDb21wb3NpdGluZ0xheWVyKG1fbGF5ZXJzVG9EZWxl
dGVbaV0pKTsKKyAgICBtX3dlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OkNvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5OjpEZWxldGVDb21wb3NpdGluZ0xheWVycyhtX2xheWVyc1RvRGVsZXRlKSk7
CiAgICAgbV9sYXllcnNUb0RlbGV0ZS5jbGVhcigpOwogICAgIG1fc2hvdWxkU3luY0ZyYW1lID0g
dHJ1ZTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184197</attachid>
            <date>2013-01-23 04:01:52 -0800</date>
            <delta_ts>2013-01-23 04:18:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107625-20130123205846.patch</filename>
            <type>text/plain</type>
            <size>10212</size>
            <attacher name="Seulgi Kim">dev</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNWQ2MmQ5ZjAzNjJkNTZi
ODJkMWUzYTFkMTJkZGM5NWQ2MTQ0MGVhNy4uZWJjYzAzMWIwYTFmOWUzYjcxYzlhM2MwYTU1YjM4
NmJmOWU0ZTYyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEzLTAxLTIzICBTZXVs
Z2kgS2ltICA8c2V1bGdpa2ltQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENvb3JkaW5hdGVk
IEdyYXBoaWNzIDogUmVkdWNlIHRoZSBudW1iZXIgb2YgbWVzc2FnZXMgc2VudCB0byBVSVByb2Nl
c3Mgd2hlbiBjcmVhdGluZyAgYW5kIGRlbGV0aW5nIGNvbXBvc2l0aW5nIGxheWVycy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzYyNQorCisgICAg
ICAgIFBhdGNoIGJ5IFNldWxnaSBLaW0gPHNldWxnaWtpbUBjb21wYW55MTAwLm5ldD4gb24gMjAx
My0wMS0yMgorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBD
dXJyZW50bHksIHRoZSBudW1iZXIgb2YgbWVzc2FnZXMgc2VudCBieSBDb29yZGluYXRlZExheWVy
VHJlZUhvc3QgaXMKKyAgICAgICAgZXF1YWwgdG8gdGhlIG51bWJlciBvZiBsYXllcnMgY3JlYXRl
ZC9kZWxldGVkIGV2ZW4gdGhvdWdoIHRoZXkgcmVxdWVzdGVkCisgICAgICAgIGluIHRoZSBzYW1l
IGN5Y2xlLgorICAgICAgICBJdCdzIG5vdCBnb29kIHNpbmNlIENvcmVJUEMgY3JlYXRlcyBmdW5j
dGlvbmFsIGJlZm9yZSBzZW5kaW5nIG1lc3NhZ2VzLAorICAgICAgICBhbmQgQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0UHJveHkgY3JlYXRlcyBmdW5jdGlvbmFsIGJlZm9yZQorICAgICAgICBjcmVh
dGUvZGVsZXRlIGxheWVycy4KKworICAgICAgICBUaGlzIHBhdGNoIG1ha2VzIENvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdCBzZW5kIGp1c3Qgb25lCisgICAgICAgIENyZWF0ZUNvbXBvc2l0aW5nTGF5
ZXJzIG1lc3NhZ2UgYW5kIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5IGNyZWF0ZQorICAg
ICAgICBqdXN0IG9uZSBmdW5jdGlvbmFsIGluIGEgY3ljbGUuIFRoZSBzYW1lIHdvcmsgaGFzIGJl
ZW4gZG9uZSB3aXRoCisgICAgICAgIERlbGV0ZUNvbXBvc2l0aW5nTGF5ZXJzIG1lc3NhZ2UuCisK
KyAgICAgICAgVGhpcyBwYXRjaCB3aWxsIHVzZSBJUEMgbW9yZSBlZmZpY2llbnRseSBhbmQgY3Jl
YXRlIGxlc3MgRnVuY3Rpb25hbC4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGNoYW5nZSBp
biBiZWhhdmlvci4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q29vcmRp
bmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OmNyZWF0ZUNvbXBvc2l0aW5nTGF5ZXJzKToKKyAgICAg
ICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OmRlbGV0ZUNvbXBvc2l0
aW5nTGF5ZXJzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29y
ZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oOgorICAgICAgICAoQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6TGF5ZXJUcmVlUmVuZGVyZXI6OmNyZWF0ZUxheWVycyk6CisgICAgICAgIChXZWJL
aXQpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVSZW5kZXJlcjo6ZGVsZXRlTGF5ZXJzKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJl
ci5oOgorICAgICAgICAoTGF5ZXJUcmVlUmVuZGVyZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6Y3JlYXRlQ29tcG9z
aXRpbmdMYXllcnMpOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6
OmRlbGV0ZUNvbXBvc2l0aW5nTGF5ZXJzKToKKwogMjAxMy0wMS0yMiAgQW5kZXJzIENhcmxzc29u
ICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBhIHBsYXRmb3JvbSBzdHJhdGVn
eSBmb3IgbG9jYWwgc3RvcmFnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0UHJveHkuY3BwCmluZGV4IGJhYThmNjUyM2RlYmZkZWJiYzRlNTIyYjQ3NWUx
NGNjMThmZDJlYjUuLjg3ZmIxNzE5MDQ0MzFlNDVjNzBlYzQ0ZjM2NGE2NTI0NjE3Y2RiZTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5j
cHAKQEAgLTk1LDE0ICs5NSwxNCBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5
OjpyZW1vdmVVcGRhdGVBdGxhcyh1aW50MzJfdCBhdGxhc0lEKQogICAgIG1fc3VyZmFjZXMucmVt
b3ZlKGF0bGFzSUQpOwogfQogCi12b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Ojpj
cmVhdGVDb21wb3NpdGluZ0xheWVyKENvb3JkaW5hdGVkTGF5ZXJJRCBpZCkKK3ZvaWQgQ29vcmRp
bmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OmNyZWF0ZUNvbXBvc2l0aW5nTGF5ZXJzKGNvbnN0IFZl
Y3RvcjxDb29yZGluYXRlZExheWVySUQ+JiBpZHMpCiB7Ci0gICAgZGlzcGF0Y2hVcGRhdGUoYmlu
ZCgmTGF5ZXJUcmVlUmVuZGVyZXI6OmNyZWF0ZUxheWVyLCBtX3JlbmRlcmVyLmdldCgpLCBpZCkp
OworICAgIGRpc3BhdGNoVXBkYXRlKGJpbmQoJkxheWVyVHJlZVJlbmRlcmVyOjpjcmVhdGVMYXll
cnMsIG1fcmVuZGVyZXIuZ2V0KCksIGlkcykpOwogfQogCi12b2lkIENvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5OjpkZWxldGVDb21wb3NpdGluZ0xheWVyKENvb3JkaW5hdGVkTGF5ZXJJRCBp
ZCkKK3ZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OmRlbGV0ZUNvbXBvc2l0aW5n
TGF5ZXJzKGNvbnN0IFZlY3RvcjxDb29yZGluYXRlZExheWVySUQ+JiBpZHMpCiB7Ci0gICAgZGlz
cGF0Y2hVcGRhdGUoYmluZCgmTGF5ZXJUcmVlUmVuZGVyZXI6OmRlbGV0ZUxheWVyLCBtX3JlbmRl
cmVyLmdldCgpLCBpZCkpOworICAgIGRpc3BhdGNoVXBkYXRlKGJpbmQoJkxheWVyVHJlZVJlbmRl
cmVyOjpkZWxldGVMYXllcnMsIG1fcmVuZGVyZXIuZ2V0KCksIGlkcykpOwogfQogCiB2b2lkIENv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpzZXRSb290Q29tcG9zaXRpbmdMYXllcihDb29y
ZGluYXRlZExheWVySUQgaWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0UHJveHkuaAppbmRleCA3NTkxYjg0ODVkMzk4ODZlZDdlZDJjZDA1ZDExNjEzZmU2
N2ZhY2QzLi45NGZhNDc2ZjA5MmI0ZGZkYzhmM2EzNGExOGYxZGYxYzMxZGYzOTgyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZExheWVyVHJlZUhvc3RQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmgKQEAgLTM5
LDYgKzM5LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1RpbWVyLmg+CiAjaW5jbHVkZSA8d3RmL0Z1
bmN0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTYwLDggKzYxLDggQEAgcHVibGljOgog
ICAgIHZvaWQgY3JlYXRlQ3VzdG9tRmlsdGVyUHJvZ3JhbShpbnQgaWQsIGNvbnN0IFdlYkNvcmU6
OkN1c3RvbUZpbHRlclByb2dyYW1JbmZvJik7CiAgICAgdm9pZCByZW1vdmVDdXN0b21GaWx0ZXJQ
cm9ncmFtKGludCBpZCk7CiAjZW5kaWYKLSAgICB2b2lkIGNyZWF0ZUNvbXBvc2l0aW5nTGF5ZXIo
Q29vcmRpbmF0ZWRMYXllcklEKTsKLSAgICB2b2lkIGRlbGV0ZUNvbXBvc2l0aW5nTGF5ZXIoQ29v
cmRpbmF0ZWRMYXllcklEKTsKKyAgICB2b2lkIGNyZWF0ZUNvbXBvc2l0aW5nTGF5ZXJzKGNvbnN0
IFZlY3RvcjxDb29yZGluYXRlZExheWVySUQ+Jik7CisgICAgdm9pZCBkZWxldGVDb21wb3NpdGlu
Z0xheWVycyhjb25zdCBWZWN0b3I8Q29vcmRpbmF0ZWRMYXllcklEPiYpOwogICAgIHZvaWQgc2V0
Um9vdENvbXBvc2l0aW5nTGF5ZXIoQ29vcmRpbmF0ZWRMYXllcklEKTsKICAgICB2b2lkIHNldENv
bnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmKTsKICAgICB2b2lkIHNldFZpc2li
bGVDb250ZW50c1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiwgZmxvYXQgcGFnZVNjYWxl
RmFjdG9yLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjdG9yKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJv
eHkubWVzc2FnZXMuaW4KaW5kZXggMTM3ZGFkODA3NTAwZjU1ZTU5ZDI2YzI3YzFkZWRiYTQ5YzU1
MDhhMC4uZDM3Y2VmYTMyYmMxYzJhNTYwYzc5M2U4MjM4Y2NiOWQxMTM1MTc0NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0UHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHku
bWVzc2FnZXMuaW4KQEAgLTI5LDggKzI5LDggQEAgbWVzc2FnZXMgLT4gQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0UHJveHkgewogICAgIFJlbW92ZUN1c3RvbUZpbHRlclByb2dyYW0oaW50IGlkKQog
I2VuZGlmCiAgICAgU2V0Um9vdENvbXBvc2l0aW5nTGF5ZXIodWludDMyX3QgaWQpCi0gICAgQ3Jl
YXRlQ29tcG9zaXRpbmdMYXllcih1aW50MzJfdCBpZCkKLSAgICBEZWxldGVDb21wb3NpdGluZ0xh
eWVyKHVpbnQzMl90IGlkKQorICAgIENyZWF0ZUNvbXBvc2l0aW5nTGF5ZXJzKFZlY3Rvcjx1aW50
MzJfdD4gaWRzKQorICAgIERlbGV0ZUNvbXBvc2l0aW5nTGF5ZXJzKFZlY3Rvcjx1aW50MzJfdD4g
aWRzKQogICAgIENyZWF0ZVRpbGVGb3JMYXllcih1aW50MzJfdCBsYXllcklELCB1aW50MzJfdCB0
aWxlSUQsIFdlYkNvcmU6OkludFJlY3QgdGlsZVJlY3QsIFdlYktpdDo6U3VyZmFjZVVwZGF0ZUlu
Zm8gdXBkYXRlSW5mbykKICAgICBVcGRhdGVUaWxlRm9yTGF5ZXIodWludDMyX3QgbGF5ZXJJRCwg
dWludDMyX3QgdGlsZUlELCBXZWJDb3JlOjpJbnRSZWN0IHRpbGVSZWN0LCBXZWJLaXQ6OlN1cmZh
Y2VVcGRhdGVJbmZvIHVwZGF0ZUluZm8pCiAgICAgUmVtb3ZlVGlsZUZvckxheWVyKHVpbnQzMl90
IGxheWVySUQsIHVpbnQzMl90IHRpbGVJRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVy
LmNwcAppbmRleCBlYmI1MDYzOTBlMzk3OTgyNGU2ZTVlMjFjYmQ1MjNiMjk2NzFlOTdmLi5kZmE0
MDZkMDRkYWViYjc2Yzc2MDljM2YwNzViZGIxZTljYzQ0YTkxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5
ZXJUcmVlUmVuZGVyZXIuY3BwCkBAIC0zNTMsNiArMzUzLDEyIEBAIEdyYXBoaWNzTGF5ZXIqIExh
eWVyVHJlZVJlbmRlcmVyOjpnZXRMYXllckJ5SURJZkV4aXN0cyhDb29yZGluYXRlZExheWVySUQg
aWQpCiAgICAgcmV0dXJuIChpZCAhPSBJbnZhbGlkQ29vcmRpbmF0ZWRMYXllcklEKSA/IGxheWVy
QnlJRChpZCkgOiAwOwogfQogCit2b2lkIExheWVyVHJlZVJlbmRlcmVyOjpjcmVhdGVMYXllcnMo
Y29uc3QgVmVjdG9yPENvb3JkaW5hdGVkTGF5ZXJJRD4mIGlkcykKK3sKKyAgICBmb3IgKHNpemVf
dCBpbmRleCA9IDA7IGluZGV4IDwgaWRzLnNpemUoKTsgKytpbmRleCkKKyAgICAgICAgY3JlYXRl
TGF5ZXIoaWRzW2luZGV4XSk7Cit9CisKIHZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OmNyZWF0ZUxh
eWVyKENvb3JkaW5hdGVkTGF5ZXJJRCBpZCkKIHsKICAgICBPd25QdHI8V2ViQ29yZTo6R3JhcGhp
Y3NMYXllcj4gbmV3TGF5ZXIgPSBHcmFwaGljc0xheWVyOjpjcmVhdGUoMCAvKiBmYWN0b3J5ICov
LCB0aGlzKTsKQEAgLTM2MCw2ICszNjYsMTIgQEAgdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6Y3Jl
YXRlTGF5ZXIoQ29vcmRpbmF0ZWRMYXllcklEIGlkKQogICAgIG1fbGF5ZXJzLmFkZChpZCwgbmV3
TGF5ZXIucmVsZWFzZSgpKTsKIH0KIAordm9pZCBMYXllclRyZWVSZW5kZXJlcjo6ZGVsZXRlTGF5
ZXJzKGNvbnN0IFZlY3RvcjxDb29yZGluYXRlZExheWVySUQ+JiBsYXllcklEcykKK3sKKyAgICBm
b3IgKHNpemVfdCBpbmRleCA9IDA7IGluZGV4IDwgbGF5ZXJJRHMuc2l6ZSgpOyArK2luZGV4KQor
ICAgICAgICBkZWxldGVMYXllcihsYXllcklEc1tpbmRleF0pOworfQorCiB2b2lkIExheWVyVHJl
ZVJlbmRlcmVyOjpkZWxldGVMYXllcihDb29yZGluYXRlZExheWVySUQgbGF5ZXJJRCkKIHsKICAg
ICBPd25QdHI8R3JhcGhpY3NMYXllcj4gbGF5ZXIgPSBtX2xheWVycy50YWtlKGxheWVySUQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
TGF5ZXJUcmVlUmVuZGVyZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRl
ZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmgKaW5kZXggNTNlY2JlMzk0OTgxODk5ZDJhYmJl
MGYyMWQ0NDQzNDQyMzkzNjQ4OC4uYzFkNThmNDk5ZmU5MWMxNzRiMzZmMzQyMDk2ZDhhOTNkY2Nk
MjRlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5oCkBAIC0zNyw2ICszNyw3IEBA
CiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgog
I2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDdXN0b21GaWx0ZXJQcm9ncmFtOwpA
QCAtODYsOCArODcsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBwdXJnZUdMUmVzb3VyY2VzKCk7CiAg
ICAgdm9pZCBzZXRBY3RpdmUoYm9vbCk7CiAKLSAgICB2b2lkIGNyZWF0ZUxheWVyKENvb3JkaW5h
dGVkTGF5ZXJJRCk7Ci0gICAgdm9pZCBkZWxldGVMYXllcihDb29yZGluYXRlZExheWVySUQpOwor
ICAgIHZvaWQgY3JlYXRlTGF5ZXJzKGNvbnN0IFZlY3RvcjxDb29yZGluYXRlZExheWVySUQ+Jik7
CisgICAgdm9pZCBkZWxldGVMYXllcnMoY29uc3QgVmVjdG9yPENvb3JkaW5hdGVkTGF5ZXJJRD4m
KTsKICAgICB2b2lkIHNldFJvb3RMYXllcklEKENvb3JkaW5hdGVkTGF5ZXJJRCk7CiAgICAgdm9p
ZCBzZXRMYXllckNoaWxkcmVuKENvb3JkaW5hdGVkTGF5ZXJJRCwgY29uc3QgVmVjdG9yPENvb3Jk
aW5hdGVkTGF5ZXJJRD4mKTsKICAgICB2b2lkIHNldExheWVyU3RhdGUoQ29vcmRpbmF0ZWRMYXll
cklELCBjb25zdCBDb29yZGluYXRlZExheWVySW5mbyYpOwpAQCAtMTQzLDYgKzE0NCw5IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCByZW5kZXJOZXh0RnJhbWUoKTsKICAgICB2b2lkIHB1cmdlQmFja2lu
Z1N0b3JlcygpOwogCisgICAgdm9pZCBjcmVhdGVMYXllcihDb29yZGluYXRlZExheWVySUQpOwor
ICAgIHZvaWQgZGVsZXRlTGF5ZXIoQ29vcmRpbmF0ZWRMYXllcklEKTsKKwogICAgIHZvaWQgYXNz
aWduSW1hZ2VCYWNraW5nVG9MYXllcihXZWJDb3JlOjpHcmFwaGljc0xheWVyKiwgQ29vcmRpbmF0
ZWRJbWFnZUJhY2tpbmdJRCk7CiAgICAgdm9pZCByZW1vdmVSZWxlYXNlZEltYWdlQmFja2luZ3NJ
Zk5lZWRlZCgpOwogICAgIHZvaWQgZW5zdXJlUm9vdExheWVyKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZExheWVyVHJlZUhvc3QuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcAppbmRleCA3
OTdhZWUzNTJiMGViMDgzMjRmNThjYTliM2ZkMjJmYmY1Y2FmOTZhLi4zMmJhODZlNDc3Y2ZhOGRh
NDJjOGI1OGU1MWNkYTA3NGNkMjZhMTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhv
c3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRl
ZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTMxOCw4ICszMTgsNyBA
QCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6Y3JlYXRlQ29tcG9zaXRpbmdMYXllcnMo
KQogICAgICAgICB9CiAgICAgfQogCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2xheWVy
c1RvQ3JlYXRlLnNpemUoKTsgKytpKQotICAgICAgICBtX3dlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6
OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpDcmVhdGVDb21wb3NpdGluZ0xheWVyKG1f
bGF5ZXJzVG9DcmVhdGVbaV0pKTsKKyAgICBtX3dlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OkNvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpDcmVhdGVDb21wb3NpdGluZ0xheWVycyhtX2xheWVy
c1RvQ3JlYXRlKSk7CiAgICAgbV9sYXllcnNUb0NyZWF0ZS5jbGVhcigpOwogICAgIG1fc2hvdWxk
U3luY0ZyYW1lID0gdHJ1ZTsKIH0KQEAgLTMzNCw4ICszMzMsNyBAQCB2b2lkIENvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdDo6ZGVsZXRlQ29tcG9zaXRpbmdMYXllcnMoKQogICAgICAgICByZXR1cm47
CiAgICAgfQogCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2xheWVyc1RvRGVsZXRlLnNp
emUoKTsgKytpKQotICAgICAgICBtX3dlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OkNvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdFByb3h5OjpEZWxldGVDb21wb3NpdGluZ0xheWVyKG1fbGF5ZXJzVG9EZWxl
dGVbaV0pKTsKKyAgICBtX3dlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OkNvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5OjpEZWxldGVDb21wb3NpdGluZ0xheWVycyhtX2xheWVyc1RvRGVsZXRlKSk7
CiAgICAgbV9sYXllcnNUb0RlbGV0ZS5jbGVhcigpOwogICAgIG1fc2hvdWxkU3luY0ZyYW1lID0g
dHJ1ZTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184199</attachid>
            <date>2013-01-23 04:18:07 -0800</date>
            <delta_ts>2013-01-23 17:32:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107625-20130123211500.patch</filename>
            <type>text/plain</type>
            <size>10310</size>
            <attacher name="Seulgi Kim">dev</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNWQ2MmQ5ZjAzNjJkNTZi
ODJkMWUzYTFkMTJkZGM5NWQ2MTQ0MGVhNy4uY2M5N2ZlMjlmYTVkNjk2NGI2NTFiY2EzYjBmODBk
NWY0NTUzYjQ1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEzLTAxLTIzICBTZXVs
Z2kgS2ltICA8c2V1bGdpa2ltQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENvb3JkaW5hdGVk
IEdyYXBoaWNzIDogUmVkdWNlIHRoZSBudW1iZXIgb2YgY2FsbHMgdG8gRnVuY3Rpb25hbCBhbmQg
bnVtYmVyIG9mIElQQyBtZXNzYWdlcyBieSBzZW5kaW5nIHRoZSBjcmVhdGVkL2RlbGV0ZWQgbGF5
ZXJzIGluIGEgdmVjdG9yLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTA3NjI1CisKKyAgICAgICAgUGF0Y2ggYnkgU2V1bGdpIEtpbSA8c2V1bGdpa2lt
QGNvbXBhbnkxMDAubmV0PiBvbiAyMDEzLTAxLTIyCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEN1cnJlbnRseSwgdGhlIG51bWJlciBvZiBtZXNzYWdlcyBz
ZW50IGJ5IENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdCBpcworICAgICAgICBlcXVhbCB0byB0aGUg
bnVtYmVyIG9mIGxheWVycyBjcmVhdGVkL2RlbGV0ZWQgZXZlbiB0aG91Z2ggdGhleSByZXF1ZXN0
ZWQKKyAgICAgICAgaW4gdGhlIHNhbWUgY3ljbGUuCisgICAgICAgIEl0J3Mgbm90IGdvb2Qgc2lu
Y2UgQ29yZUlQQyBjcmVhdGVzIGZ1bmN0aW9uYWwgYmVmb3JlIHNlbmRpbmcgbWVzc2FnZXMsCisg
ICAgICAgIGFuZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSBjcmVhdGVzIGZ1bmN0aW9u
YWwgYmVmb3JlCisgICAgICAgIGNyZWF0ZS9kZWxldGUgbGF5ZXJzLgorCisgICAgICAgIFRoaXMg
cGF0Y2ggbWFrZXMgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0IHNlbmQganVzdCBvbmUKKyAgICAg
ICAgQ3JlYXRlQ29tcG9zaXRpbmdMYXllcnMgbWVzc2FnZSBhbmQgQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHkgY3JlYXRlCisgICAgICAgIGp1c3Qgb25lIGZ1bmN0aW9uYWwgaW4gYSBjeWNs
ZS4gVGhlIHNhbWUgd29yayBoYXMgYmVlbiBkb25lIHdpdGgKKyAgICAgICAgRGVsZXRlQ29tcG9z
aXRpbmdMYXllcnMgbWVzc2FnZS4KKworICAgICAgICBUaGlzIHBhdGNoIHdpbGwgcmVkdWNlIHRo
ZSBudW1iZXIgb2YgY2FsbHMgdG8gRnVuY3Rpb25hbCBhbmQgbnVtYmVyIG9mCisgICAgICAgIElQ
QyBtZXNzYWdlcyBieSBzZW5kaW5nIHRoZSBjcmVhdGVkL2RlbGV0ZWQgbGF5ZXJzIGluIGEgdmVj
dG9yLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisg
ICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVyVHJlZUhv
c3RQcm94eTo6Y3JlYXRlQ29tcG9zaXRpbmdMYXllcnMpOgorICAgICAgICAoV2ViS2l0OjpDb29y
ZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6ZGVsZXRlQ29tcG9zaXRpbmdMYXllcnMpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdFByb3h5Lmg6CisgICAgICAgIChDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpMYXllclRy
ZWVSZW5kZXJlcjo6Y3JlYXRlTGF5ZXJzKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChX
ZWJLaXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpkZWxldGVMYXllcnMpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmg6CisgICAgICAgIChM
YXllclRyZWVSZW5kZXJlcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpjcmVhdGVDb21wb3NpdGluZ0xheWVycyk6Cisg
ICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6ZGVsZXRlQ29tcG9zaXRp
bmdMYXllcnMpOgorCiAyMDEzLTAxLTIyICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBs
ZS5jb20+CiAKICAgICAgICAgVXNlIGEgcGxhdGZvcm9tIHN0cmF0ZWd5IGZvciBsb2NhbCBzdG9y
YWdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFw
aGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94
eS5jcHAKaW5kZXggYmFhOGY2NTIzZGViZmRlYmJjNGU1MjJiNDc1ZTE0Y2MxOGZkMmViNS4uODdm
YjE3MTkwNDQzMWU0NWM3MGVjNDRmMzY0YTY1MjQ2MTdjZGJlOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRl
ZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcApAQCAtOTUsMTQgKzk1
LDE0IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OnJlbW92ZVVwZGF0ZUF0
bGFzKHVpbnQzMl90IGF0bGFzSUQpCiAgICAgbV9zdXJmYWNlcy5yZW1vdmUoYXRsYXNJRCk7CiB9
CiAKLXZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OmNyZWF0ZUNvbXBvc2l0aW5n
TGF5ZXIoQ29vcmRpbmF0ZWRMYXllcklEIGlkKQordm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhv
c3RQcm94eTo6Y3JlYXRlQ29tcG9zaXRpbmdMYXllcnMoY29uc3QgVmVjdG9yPENvb3JkaW5hdGVk
TGF5ZXJJRD4mIGlkcykKIHsKLSAgICBkaXNwYXRjaFVwZGF0ZShiaW5kKCZMYXllclRyZWVSZW5k
ZXJlcjo6Y3JlYXRlTGF5ZXIsIG1fcmVuZGVyZXIuZ2V0KCksIGlkKSk7CisgICAgZGlzcGF0Y2hV
cGRhdGUoYmluZCgmTGF5ZXJUcmVlUmVuZGVyZXI6OmNyZWF0ZUxheWVycywgbV9yZW5kZXJlci5n
ZXQoKSwgaWRzKSk7CiB9CiAKLXZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OmRl
bGV0ZUNvbXBvc2l0aW5nTGF5ZXIoQ29vcmRpbmF0ZWRMYXllcklEIGlkKQordm9pZCBDb29yZGlu
YXRlZExheWVyVHJlZUhvc3RQcm94eTo6ZGVsZXRlQ29tcG9zaXRpbmdMYXllcnMoY29uc3QgVmVj
dG9yPENvb3JkaW5hdGVkTGF5ZXJJRD4mIGlkcykKIHsKLSAgICBkaXNwYXRjaFVwZGF0ZShiaW5k
KCZMYXllclRyZWVSZW5kZXJlcjo6ZGVsZXRlTGF5ZXIsIG1fcmVuZGVyZXIuZ2V0KCksIGlkKSk7
CisgICAgZGlzcGF0Y2hVcGRhdGUoYmluZCgmTGF5ZXJUcmVlUmVuZGVyZXI6OmRlbGV0ZUxheWVy
cywgbV9yZW5kZXJlci5nZXQoKSwgaWRzKSk7CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHk6OnNldFJvb3RDb21wb3NpdGluZ0xheWVyKENvb3JkaW5hdGVkTGF5ZXJJRCBp
ZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBo
aWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5o
CmluZGV4IDc1OTFiODQ4NWQzOTg4NmVkN2VkMmNkMDVkMTE2MTNmZTY3ZmFjZDMuLjk0ZmE0NzZm
MDkyYjRkZmRjOGYzYTM0YTE4ZjFkZjFjMzFkZjM5ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dFByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaApAQCAtMzksNiArMzksNyBAQAogI2lu
Y2x1ZGUgPFdlYkNvcmUvVGltZXIuaD4KICNpbmNsdWRlIDx3dGYvRnVuY3Rpb25hbC5oPgogI2lu
Y2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIApAQCAtNjAsOCArNjEsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBjcmVhdGVD
dXN0b21GaWx0ZXJQcm9ncmFtKGludCBpZCwgY29uc3QgV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJv
Z3JhbUluZm8mKTsKICAgICB2b2lkIHJlbW92ZUN1c3RvbUZpbHRlclByb2dyYW0oaW50IGlkKTsK
ICNlbmRpZgotICAgIHZvaWQgY3JlYXRlQ29tcG9zaXRpbmdMYXllcihDb29yZGluYXRlZExheWVy
SUQpOwotICAgIHZvaWQgZGVsZXRlQ29tcG9zaXRpbmdMYXllcihDb29yZGluYXRlZExheWVySUQp
OworICAgIHZvaWQgY3JlYXRlQ29tcG9zaXRpbmdMYXllcnMoY29uc3QgVmVjdG9yPENvb3JkaW5h
dGVkTGF5ZXJJRD4mKTsKKyAgICB2b2lkIGRlbGV0ZUNvbXBvc2l0aW5nTGF5ZXJzKGNvbnN0IFZl
Y3RvcjxDb29yZGluYXRlZExheWVySUQ+Jik7CiAgICAgdm9pZCBzZXRSb290Q29tcG9zaXRpbmdM
YXllcihDb29yZGluYXRlZExheWVySUQpOwogICAgIHZvaWQgc2V0Q29udGVudHNTaXplKGNvbnN0
IFdlYkNvcmU6OkZsb2F0U2l6ZSYpOwogICAgIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRzUmVjdChj
b25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmLCBmbG9hdCBwYWdlU2NhbGVGYWN0b3IsIGNvbnN0IFdl
YkNvcmU6OkZsb2F0UG9pbnQmIHRyYWplY3RvcnlWZWN0b3IpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5tZXNzYWdlcy5pbgpp
bmRleCAxMzdkYWQ4MDc1MDBmNTVlNTlkMjZjMjdjMWRlZGJhNDljNTUwOGEwLi5kMzdjZWZhMzJi
YzFjMmE1NjBjNzkzZTgyMzhjY2I5ZDExMzUxNzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQ
cm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5tZXNzYWdlcy5pbgpAQCAt
MjksOCArMjksOCBAQCBtZXNzYWdlcyAtPiBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSB7
CiAgICAgUmVtb3ZlQ3VzdG9tRmlsdGVyUHJvZ3JhbShpbnQgaWQpCiAjZW5kaWYKICAgICBTZXRS
b290Q29tcG9zaXRpbmdMYXllcih1aW50MzJfdCBpZCkKLSAgICBDcmVhdGVDb21wb3NpdGluZ0xh
eWVyKHVpbnQzMl90IGlkKQotICAgIERlbGV0ZUNvbXBvc2l0aW5nTGF5ZXIodWludDMyX3QgaWQp
CisgICAgQ3JlYXRlQ29tcG9zaXRpbmdMYXllcnMoVmVjdG9yPHVpbnQzMl90PiBpZHMpCisgICAg
RGVsZXRlQ29tcG9zaXRpbmdMYXllcnMoVmVjdG9yPHVpbnQzMl90PiBpZHMpCiAgICAgQ3JlYXRl
VGlsZUZvckxheWVyKHVpbnQzMl90IGxheWVySUQsIHVpbnQzMl90IHRpbGVJRCwgV2ViQ29yZTo6
SW50UmVjdCB0aWxlUmVjdCwgV2ViS2l0OjpTdXJmYWNlVXBkYXRlSW5mbyB1cGRhdGVJbmZvKQog
ICAgIFVwZGF0ZVRpbGVGb3JMYXllcih1aW50MzJfdCBsYXllcklELCB1aW50MzJfdCB0aWxlSUQs
IFdlYkNvcmU6OkludFJlY3QgdGlsZVJlY3QsIFdlYktpdDo6U3VyZmFjZVVwZGF0ZUluZm8gdXBk
YXRlSW5mbykKICAgICBSZW1vdmVUaWxlRm9yTGF5ZXIodWludDMyX3QgbGF5ZXJJRCwgdWludDMy
X3QgdGlsZUlEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCmluZGV4IGViYjUw
NjM5MGUzOTc5ODI0ZTZlNWUyMWNiZDUyM2IyOTY3MWU5N2YuLmRmYTQwNmQwNGRhZWJiNzZjNzYw
OWMzZjA3NWJkYjFlOWNjNDRhOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5j
cHAKQEAgLTM1Myw2ICszNTMsMTIgQEAgR3JhcGhpY3NMYXllciogTGF5ZXJUcmVlUmVuZGVyZXI6
OmdldExheWVyQnlJRElmRXhpc3RzKENvb3JkaW5hdGVkTGF5ZXJJRCBpZCkKICAgICByZXR1cm4g
KGlkICE9IEludmFsaWRDb29yZGluYXRlZExheWVySUQpID8gbGF5ZXJCeUlEKGlkKSA6IDA7CiB9
CiAKK3ZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OmNyZWF0ZUxheWVycyhjb25zdCBWZWN0b3I8Q29v
cmRpbmF0ZWRMYXllcklEPiYgaWRzKQoreworICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5k
ZXggPCBpZHMuc2l6ZSgpOyArK2luZGV4KQorICAgICAgICBjcmVhdGVMYXllcihpZHNbaW5kZXhd
KTsKK30KKwogdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6Y3JlYXRlTGF5ZXIoQ29vcmRpbmF0ZWRM
YXllcklEIGlkKQogewogICAgIE93blB0cjxXZWJDb3JlOjpHcmFwaGljc0xheWVyPiBuZXdMYXll
ciA9IEdyYXBoaWNzTGF5ZXI6OmNyZWF0ZSgwIC8qIGZhY3RvcnkgKi8sIHRoaXMpOwpAQCAtMzYw
LDYgKzM2NiwxMiBAQCB2b2lkIExheWVyVHJlZVJlbmRlcmVyOjpjcmVhdGVMYXllcihDb29yZGlu
YXRlZExheWVySUQgaWQpCiAgICAgbV9sYXllcnMuYWRkKGlkLCBuZXdMYXllci5yZWxlYXNlKCkp
OwogfQogCit2b2lkIExheWVyVHJlZVJlbmRlcmVyOjpkZWxldGVMYXllcnMoY29uc3QgVmVjdG9y
PENvb3JkaW5hdGVkTGF5ZXJJRD4mIGxheWVySURzKQoreworICAgIGZvciAoc2l6ZV90IGluZGV4
ID0gMDsgaW5kZXggPCBsYXllcklEcy5zaXplKCk7ICsraW5kZXgpCisgICAgICAgIGRlbGV0ZUxh
eWVyKGxheWVySURzW2luZGV4XSk7Cit9CisKIHZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OmRlbGV0
ZUxheWVyKENvb3JkaW5hdGVkTGF5ZXJJRCBsYXllcklEKQogewogICAgIE93blB0cjxHcmFwaGlj
c0xheWVyPiBsYXllciA9IG1fbGF5ZXJzLnRha2UobGF5ZXJJRCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJl
ci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJU
cmVlUmVuZGVyZXIuaAppbmRleCA1M2VjYmUzOTQ5ODE4OTlkMmFiYmUwZjIxZDQ0NDM0NDIzOTM2
NDg4Li5jMWQ1OGY0OTlmZTkxYzE3NGIzNmYzNDIwOTZkOGE5M2RjY2QyNGU1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVS
ZW5kZXJlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBo
aWNzL0xheWVyVHJlZVJlbmRlcmVyLmgKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlIDx3dGYv
RnVuY3Rpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1Ro
cmVhZGluZ1ByaW1pdGl2ZXMuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIEN1c3RvbUZpbHRlclByb2dyYW07CkBAIC04Niw4ICs4Nyw4IEBA
IHB1YmxpYzoKICAgICB2b2lkIHB1cmdlR0xSZXNvdXJjZXMoKTsKICAgICB2b2lkIHNldEFjdGl2
ZShib29sKTsKIAotICAgIHZvaWQgY3JlYXRlTGF5ZXIoQ29vcmRpbmF0ZWRMYXllcklEKTsKLSAg
ICB2b2lkIGRlbGV0ZUxheWVyKENvb3JkaW5hdGVkTGF5ZXJJRCk7CisgICAgdm9pZCBjcmVhdGVM
YXllcnMoY29uc3QgVmVjdG9yPENvb3JkaW5hdGVkTGF5ZXJJRD4mKTsKKyAgICB2b2lkIGRlbGV0
ZUxheWVycyhjb25zdCBWZWN0b3I8Q29vcmRpbmF0ZWRMYXllcklEPiYpOwogICAgIHZvaWQgc2V0
Um9vdExheWVySUQoQ29vcmRpbmF0ZWRMYXllcklEKTsKICAgICB2b2lkIHNldExheWVyQ2hpbGRy
ZW4oQ29vcmRpbmF0ZWRMYXllcklELCBjb25zdCBWZWN0b3I8Q29vcmRpbmF0ZWRMYXllcklEPiYp
OwogICAgIHZvaWQgc2V0TGF5ZXJTdGF0ZShDb29yZGluYXRlZExheWVySUQsIGNvbnN0IENvb3Jk
aW5hdGVkTGF5ZXJJbmZvJik7CkBAIC0xNDMsNiArMTQ0LDkgQEAgcHJpdmF0ZToKICAgICB2b2lk
IHJlbmRlck5leHRGcmFtZSgpOwogICAgIHZvaWQgcHVyZ2VCYWNraW5nU3RvcmVzKCk7CiAKKyAg
ICB2b2lkIGNyZWF0ZUxheWVyKENvb3JkaW5hdGVkTGF5ZXJJRCk7CisgICAgdm9pZCBkZWxldGVM
YXllcihDb29yZGluYXRlZExheWVySUQpOworCiAgICAgdm9pZCBhc3NpZ25JbWFnZUJhY2tpbmdU
b0xheWVyKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqLCBDb29yZGluYXRlZEltYWdlQmFja2luZ0lE
KTsKICAgICB2b2lkIHJlbW92ZVJlbGVhc2VkSW1hZ2VCYWNraW5nc0lmTmVlZGVkKCk7CiAgICAg
dm9pZCBlbnN1cmVSb290TGF5ZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFw
aGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCmluZGV4IDc5N2FlZTM1MmIwZWIwODMy
NGY1OGNhOWIzZmQyMmZiZjVjYWY5NmEuLjMyYmE4NmU0NzdjZmE4ZGE0MmM4YjU4ZTUxY2RhMDc0
Y2QyNmExNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9D
b29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRp
bmF0ZWRMYXllclRyZWVIb3N0LmNwcApAQCAtMzE4LDggKzMxOCw3IEBAIHZvaWQgQ29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0OjpjcmVhdGVDb21wb3NpdGluZ0xheWVycygpCiAgICAgICAgIH0KICAg
ICB9CiAKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fbGF5ZXJzVG9DcmVhdGUuc2l6ZSgp
OyArK2kpCi0gICAgICAgIG1fd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6Q29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0UHJveHk6OkNyZWF0ZUNvbXBvc2l0aW5nTGF5ZXIobV9sYXllcnNUb0NyZWF0ZVtp
XSkpOworICAgIG1fd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6Q29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0UHJveHk6OkNyZWF0ZUNvbXBvc2l0aW5nTGF5ZXJzKG1fbGF5ZXJzVG9DcmVhdGUpKTsKICAg
ICBtX2xheWVyc1RvQ3JlYXRlLmNsZWFyKCk7CiAgICAgbV9zaG91bGRTeW5jRnJhbWUgPSB0cnVl
OwogfQpAQCAtMzM0LDggKzMzMyw3IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Ojpk
ZWxldGVDb21wb3NpdGluZ0xheWVycygpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IG1fbGF5ZXJzVG9EZWxldGUuc2l6ZSgpOyArK2kpCi0gICAg
ICAgIG1fd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJv
eHk6OkRlbGV0ZUNvbXBvc2l0aW5nTGF5ZXIobV9sYXllcnNUb0RlbGV0ZVtpXSkpOworICAgIG1f
d2ViUGFnZS0+c2VuZChNZXNzYWdlczo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OkRl
bGV0ZUNvbXBvc2l0aW5nTGF5ZXJzKG1fbGF5ZXJzVG9EZWxldGUpKTsKICAgICBtX2xheWVyc1Rv
RGVsZXRlLmNsZWFyKCk7CiAgICAgbV9zaG91bGRTeW5jRnJhbWUgPSB0cnVlOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184363</attachid>
            <date>2013-01-23 17:32:14 -0800</date>
            <delta_ts>2013-01-23 18:59:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107625-20130124102907.patch</filename>
            <type>text/plain</type>
            <size>10240</size>
            <attacher name="Seulgi Kim">dev</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNWQ2MmQ5ZjAzNjJkNTZi
ODJkMWUzYTFkMTJkZGM5NWQ2MTQ0MGVhNy4uNzlhOWYzNjY3YTY5OTBmZThjOGQ0ZjY2YmUwOWQy
Y2E5MzVhNmFmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEzLTAxLTIzICBTZXVs
Z2kgS2ltICA8c2V1bGdpa2ltQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIENvb3JkaW5hdGVk
IEdyYXBoaWNzIDogUmVkdWNlIHRoZSBudW1iZXIgb2YgY2FsbHMgdG8gRnVuY3Rpb25hbCBhbmQg
bnVtYmVyIG9mIElQQyBtZXNzYWdlcyBieSBzZW5kaW5nIHRoZSBjcmVhdGVkL2RlbGV0ZWQgbGF5
ZXJzIGluIGEgdmVjdG9yLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTA3NjI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQ3VycmVudGx5LCB0aGUgbnVtYmVyIG9mIG1lc3NhZ2VzIHNlbnQgYnkgQ29vcmRp
bmF0ZWRMYXllclRyZWVIb3N0IGlzCisgICAgICAgIGVxdWFsIHRvIHRoZSBudW1iZXIgb2YgbGF5
ZXJzIGNyZWF0ZWQvZGVsZXRlZCBldmVuIHRob3VnaCB0aGV5IHJlcXVlc3RlZAorICAgICAgICBp
biB0aGUgc2FtZSBjeWNsZS4KKyAgICAgICAgSXQncyBub3QgZ29vZCBzaW5jZSBDb3JlSVBDIGNy
ZWF0ZXMgZnVuY3Rpb25hbCBiZWZvcmUgc2VuZGluZyBtZXNzYWdlcywKKyAgICAgICAgYW5kIENv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5IGNyZWF0ZXMgZnVuY3Rpb25hbCBiZWZvcmUKKyAg
ICAgICAgY3JlYXRlL2RlbGV0ZSBsYXllcnMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBtYWtlcyBD
b29yZGluYXRlZExheWVyVHJlZUhvc3Qgc2VuZCBqdXN0IG9uZQorICAgICAgICBDcmVhdGVDb21w
b3NpdGluZ0xheWVycyBtZXNzYWdlIGFuZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSBj
cmVhdGUKKyAgICAgICAganVzdCBvbmUgZnVuY3Rpb25hbCBpbiBhIGN5Y2xlLiBUaGUgc2FtZSB3
b3JrIGhhcyBiZWVuIGRvbmUgd2l0aAorICAgICAgICBEZWxldGVDb21wb3NpdGluZ0xheWVycyBt
ZXNzYWdlLgorCisgICAgICAgIFRoaXMgcGF0Y2ggd2lsbCByZWR1Y2UgdGhlIG51bWJlciBvZiBj
YWxscyB0byBGdW5jdGlvbmFsIGFuZCBudW1iZXIgb2YKKyAgICAgICAgSVBDIG1lc3NhZ2VzIGJ5
IHNlbmRpbmcgdGhlIGNyZWF0ZWQvZGVsZXRlZCBsYXllcnMgaW4gYSB2ZWN0b3IuCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzLCBubyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpjcmVh
dGVDb21wb3NpdGluZ0xheWVycyk6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5OjpkZWxldGVDb21wb3NpdGluZ0xheWVycyk6CisgICAgICAgICogVUlQcm9j
ZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaDoK
KyAgICAgICAgKENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5KToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5t
ZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXll
clRyZWVSZW5kZXJlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZVJlbmRlcmVyOjpj
cmVhdGVMYXllcnMpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJU
cmVlUmVuZGVyZXI6OmRlbGV0ZUxheWVycyk6CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuaDoKKyAgICAgICAgKExheWVyVHJlZVJlbmRl
cmVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRl
ZExheWVyVHJlZUhvc3Q6OmNyZWF0ZUNvbXBvc2l0aW5nTGF5ZXJzKToKKyAgICAgICAgKFdlYktp
dDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpkZWxldGVDb21wb3NpdGluZ0xheWVycyk6CisK
IDIwMTMtMDEtMjIgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAg
ICAgICBVc2UgYSBwbGF0Zm9yb20gc3RyYXRlZ3kgZm9yIGxvY2FsIHN0b3JhZ2UKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5h
dGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcAppbmRleCBi
YWE4ZjY1MjNkZWJmZGViYmM0ZTUyMmI0NzVlMTRjYzE4ZmQyZWI1Li44N2ZiMTcxOTA0NDMxZTQ1
YzcwZWM0NGYzNjRhNjUyNDYxN2NkYmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29v
cmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3BwCkBAIC05NSwxNCArOTUsMTQgQEAgdm9pZCBD
b29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6cmVtb3ZlVXBkYXRlQXRsYXModWludDMyX3Qg
YXRsYXNJRCkKICAgICBtX3N1cmZhY2VzLnJlbW92ZShhdGxhc0lEKTsKIH0KIAotdm9pZCBDb29y
ZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6Y3JlYXRlQ29tcG9zaXRpbmdMYXllcihDb29yZGlu
YXRlZExheWVySUQgaWQpCit2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpjcmVh
dGVDb21wb3NpdGluZ0xheWVycyhjb25zdCBWZWN0b3I8Q29vcmRpbmF0ZWRMYXllcklEPiYgaWRz
KQogewotICAgIGRpc3BhdGNoVXBkYXRlKGJpbmQoJkxheWVyVHJlZVJlbmRlcmVyOjpjcmVhdGVM
YXllciwgbV9yZW5kZXJlci5nZXQoKSwgaWQpKTsKKyAgICBkaXNwYXRjaFVwZGF0ZShiaW5kKCZM
YXllclRyZWVSZW5kZXJlcjo6Y3JlYXRlTGF5ZXJzLCBtX3JlbmRlcmVyLmdldCgpLCBpZHMpKTsK
IH0KIAotdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6ZGVsZXRlQ29tcG9zaXRp
bmdMYXllcihDb29yZGluYXRlZExheWVySUQgaWQpCit2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdFByb3h5OjpkZWxldGVDb21wb3NpdGluZ0xheWVycyhjb25zdCBWZWN0b3I8Q29vcmRpbmF0
ZWRMYXllcklEPiYgaWRzKQogewotICAgIGRpc3BhdGNoVXBkYXRlKGJpbmQoJkxheWVyVHJlZVJl
bmRlcmVyOjpkZWxldGVMYXllciwgbV9yZW5kZXJlci5nZXQoKSwgaWQpKTsKKyAgICBkaXNwYXRj
aFVwZGF0ZShiaW5kKCZMYXllclRyZWVSZW5kZXJlcjo6ZGVsZXRlTGF5ZXJzLCBtX3JlbmRlcmVy
LmdldCgpLCBpZHMpKTsKIH0KIAogdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6
c2V0Um9vdENvbXBvc2l0aW5nTGF5ZXIoQ29vcmRpbmF0ZWRMYXllcklEIGlkKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGlu
YXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmgKaW5kZXggNzU5MWI4
NDg1ZDM5ODg2ZWQ3ZWQyY2QwNWQxMTYxM2ZlNjdmYWNkMy4uOTRmYTQ3NmYwOTJiNGRmZGM4ZjNh
MzRhMThmMWRmMWMzMWRmMzk4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRl
ZExheWVyVHJlZUhvc3RQcm94eS5oCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSA8V2ViQ29y
ZS9UaW1lci5oPgogI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewog
CkBAIC02MCw4ICs2MSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGNyZWF0ZUN1c3RvbUZpbHRlclBy
b2dyYW0oaW50IGlkLCBjb25zdCBXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbyYpOwog
ICAgIHZvaWQgcmVtb3ZlQ3VzdG9tRmlsdGVyUHJvZ3JhbShpbnQgaWQpOwogI2VuZGlmCi0gICAg
dm9pZCBjcmVhdGVDb21wb3NpdGluZ0xheWVyKENvb3JkaW5hdGVkTGF5ZXJJRCk7Ci0gICAgdm9p
ZCBkZWxldGVDb21wb3NpdGluZ0xheWVyKENvb3JkaW5hdGVkTGF5ZXJJRCk7CisgICAgdm9pZCBj
cmVhdGVDb21wb3NpdGluZ0xheWVycyhjb25zdCBWZWN0b3I8Q29vcmRpbmF0ZWRMYXllcklEPiYp
OworICAgIHZvaWQgZGVsZXRlQ29tcG9zaXRpbmdMYXllcnMoY29uc3QgVmVjdG9yPENvb3JkaW5h
dGVkTGF5ZXJJRD4mKTsKICAgICB2b2lkIHNldFJvb3RDb21wb3NpdGluZ0xheWVyKENvb3JkaW5h
dGVkTGF5ZXJJRCk7CiAgICAgdm9pZCBzZXRDb250ZW50c1NpemUoY29uc3QgV2ViQ29yZTo6Rmxv
YXRTaXplJik7CiAgICAgdm9pZCBzZXRWaXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IFdlYkNvcmU6
OkZsb2F0UmVjdCYsIGZsb2F0IHBhZ2VTY2FsZUZhY3RvciwgY29uc3QgV2ViQ29yZTo6RmxvYXRQ
b2ludCYgdHJhamVjdG9yeVZlY3Rvcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5t
ZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDEzN2RhZDgw
NzUwMGY1NWU1OWQyNmMyN2MxZGVkYmE0OWM1NTA4YTAuLmQzN2NlZmEzMmJjMWMyYTU2MGM3OTNl
ODIzOGNjYjlkMTEzNTE3NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Lm1lc3NhZ2Vz
LmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yOSw4ICsyOSw4IEBA
IG1lc3NhZ2VzIC0+IENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5IHsKICAgICBSZW1vdmVD
dXN0b21GaWx0ZXJQcm9ncmFtKGludCBpZCkKICNlbmRpZgogICAgIFNldFJvb3RDb21wb3NpdGlu
Z0xheWVyKHVpbnQzMl90IGlkKQotICAgIENyZWF0ZUNvbXBvc2l0aW5nTGF5ZXIodWludDMyX3Qg
aWQpCi0gICAgRGVsZXRlQ29tcG9zaXRpbmdMYXllcih1aW50MzJfdCBpZCkKKyAgICBDcmVhdGVD
b21wb3NpdGluZ0xheWVycyhWZWN0b3I8dWludDMyX3Q+IGlkcykKKyAgICBEZWxldGVDb21wb3Np
dGluZ0xheWVycyhWZWN0b3I8dWludDMyX3Q+IGlkcykKICAgICBDcmVhdGVUaWxlRm9yTGF5ZXIo
dWludDMyX3QgbGF5ZXJJRCwgdWludDMyX3QgdGlsZUlELCBXZWJDb3JlOjpJbnRSZWN0IHRpbGVS
ZWN0LCBXZWJLaXQ6OlN1cmZhY2VVcGRhdGVJbmZvIHVwZGF0ZUluZm8pCiAgICAgVXBkYXRlVGls
ZUZvckxheWVyKHVpbnQzMl90IGxheWVySUQsIHVpbnQzMl90IHRpbGVJRCwgV2ViQ29yZTo6SW50
UmVjdCB0aWxlUmVjdCwgV2ViS2l0OjpTdXJmYWNlVXBkYXRlSW5mbyB1cGRhdGVJbmZvKQogICAg
IFJlbW92ZVRpbGVGb3JMYXllcih1aW50MzJfdCBsYXllcklELCB1aW50MzJfdCB0aWxlSUQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9M
YXllclRyZWVSZW5kZXJlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5jcHAKaW5kZXggZWJiNTA2MzkwZTM5Nzk4MjRl
NmU1ZTIxY2JkNTIzYjI5NjcxZTk3Zi4uZGZhNDA2ZDA0ZGFlYmI3NmM3NjA5YzNmMDc1YmRiMWU5
Y2M0NGE5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmNwcApAQCAtMzUzLDYg
KzM1MywxMiBAQCBHcmFwaGljc0xheWVyKiBMYXllclRyZWVSZW5kZXJlcjo6Z2V0TGF5ZXJCeUlE
SWZFeGlzdHMoQ29vcmRpbmF0ZWRMYXllcklEIGlkKQogICAgIHJldHVybiAoaWQgIT0gSW52YWxp
ZENvb3JkaW5hdGVkTGF5ZXJJRCkgPyBsYXllckJ5SUQoaWQpIDogMDsKIH0KIAordm9pZCBMYXll
clRyZWVSZW5kZXJlcjo6Y3JlYXRlTGF5ZXJzKGNvbnN0IFZlY3RvcjxDb29yZGluYXRlZExheWVy
SUQ+JiBpZHMpCit7CisgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IGlkcy5zaXpl
KCk7ICsraW5kZXgpCisgICAgICAgIGNyZWF0ZUxheWVyKGlkc1tpbmRleF0pOworfQorCiB2b2lk
IExheWVyVHJlZVJlbmRlcmVyOjpjcmVhdGVMYXllcihDb29yZGluYXRlZExheWVySUQgaWQpCiB7
CiAgICAgT3duUHRyPFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI+IG5ld0xheWVyID0gR3JhcGhpY3NM
YXllcjo6Y3JlYXRlKDAgLyogZmFjdG9yeSAqLywgdGhpcyk7CkBAIC0zNjAsNiArMzY2LDEyIEBA
IHZvaWQgTGF5ZXJUcmVlUmVuZGVyZXI6OmNyZWF0ZUxheWVyKENvb3JkaW5hdGVkTGF5ZXJJRCBp
ZCkKICAgICBtX2xheWVycy5hZGQoaWQsIG5ld0xheWVyLnJlbGVhc2UoKSk7CiB9CiAKK3ZvaWQg
TGF5ZXJUcmVlUmVuZGVyZXI6OmRlbGV0ZUxheWVycyhjb25zdCBWZWN0b3I8Q29vcmRpbmF0ZWRM
YXllcklEPiYgbGF5ZXJJRHMpCit7CisgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8
IGxheWVySURzLnNpemUoKTsgKytpbmRleCkKKyAgICAgICAgZGVsZXRlTGF5ZXIobGF5ZXJJRHNb
aW5kZXhdKTsKK30KKwogdm9pZCBMYXllclRyZWVSZW5kZXJlcjo6ZGVsZXRlTGF5ZXIoQ29vcmRp
bmF0ZWRMYXllcklEIGxheWVySUQpCiB7CiAgICAgT3duUHRyPEdyYXBoaWNzTGF5ZXI+IGxheWVy
ID0gbV9sYXllcnMudGFrZShsYXllcklEKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5kZXJlci5o
CmluZGV4IDUzZWNiZTM5NDk4MTg5OWQyYWJiZTBmMjFkNDQ0MzQ0MjM5MzY0ODguLmMxZDU4ZjQ5
OWZlOTFjMTc0YjM2ZjM0MjA5NmQ4YTkzZGNjZDI0ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZVJlbmRlcmVyLmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVl
UmVuZGVyZXIuaApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbmFsLmg+
CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nUHJpbWl0
aXZlcy5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Y2xhc3MgQ3VzdG9tRmlsdGVyUHJvZ3JhbTsKQEAgLTg2LDggKzg3LDggQEAgcHVibGljOgogICAg
IHZvaWQgcHVyZ2VHTFJlc291cmNlcygpOwogICAgIHZvaWQgc2V0QWN0aXZlKGJvb2wpOwogCi0g
ICAgdm9pZCBjcmVhdGVMYXllcihDb29yZGluYXRlZExheWVySUQpOwotICAgIHZvaWQgZGVsZXRl
TGF5ZXIoQ29vcmRpbmF0ZWRMYXllcklEKTsKKyAgICB2b2lkIGNyZWF0ZUxheWVycyhjb25zdCBW
ZWN0b3I8Q29vcmRpbmF0ZWRMYXllcklEPiYpOworICAgIHZvaWQgZGVsZXRlTGF5ZXJzKGNvbnN0
IFZlY3RvcjxDb29yZGluYXRlZExheWVySUQ+Jik7CiAgICAgdm9pZCBzZXRSb290TGF5ZXJJRChD
b29yZGluYXRlZExheWVySUQpOwogICAgIHZvaWQgc2V0TGF5ZXJDaGlsZHJlbihDb29yZGluYXRl
ZExheWVySUQsIGNvbnN0IFZlY3RvcjxDb29yZGluYXRlZExheWVySUQ+Jik7CiAgICAgdm9pZCBz
ZXRMYXllclN0YXRlKENvb3JkaW5hdGVkTGF5ZXJJRCwgY29uc3QgQ29vcmRpbmF0ZWRMYXllcklu
Zm8mKTsKQEAgLTE0Myw2ICsxNDQsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVuZGVyTmV4dEZy
YW1lKCk7CiAgICAgdm9pZCBwdXJnZUJhY2tpbmdTdG9yZXMoKTsKIAorICAgIHZvaWQgY3JlYXRl
TGF5ZXIoQ29vcmRpbmF0ZWRMYXllcklEKTsKKyAgICB2b2lkIGRlbGV0ZUxheWVyKENvb3JkaW5h
dGVkTGF5ZXJJRCk7CisKICAgICB2b2lkIGFzc2lnbkltYWdlQmFja2luZ1RvTGF5ZXIoV2ViQ29y
ZTo6R3JhcGhpY3NMYXllciosIENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nSUQpOwogICAgIHZvaWQg
cmVtb3ZlUmVsZWFzZWRJbWFnZUJhY2tpbmdzSWZOZWVkZWQoKTsKICAgICB2b2lkIGVuc3VyZVJv
b3RMYXllcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5h
dGVkTGF5ZXJUcmVlSG9zdC5jcHAKaW5kZXggNzk3YWVlMzUyYjBlYjA4MzI0ZjU4Y2E5YjNmZDIy
ZmJmNWNhZjk2YS4uMzJiYTg2ZTQ3N2NmYThkYTQyYzhiNThlNTFjZGEwNzRjZDI2YTE2MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJl
ZUhvc3QuY3BwCkBAIC0zMTgsOCArMzE4LDcgQEAgdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhv
c3Q6OmNyZWF0ZUNvbXBvc2l0aW5nTGF5ZXJzKCkKICAgICAgICAgfQogICAgIH0KIAotICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9sYXllcnNUb0NyZWF0ZS5zaXplKCk7ICsraSkKLSAgICAg
ICAgbV93ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94
eTo6Q3JlYXRlQ29tcG9zaXRpbmdMYXllcihtX2xheWVyc1RvQ3JlYXRlW2ldKSk7CisgICAgbV93
ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6Q3Jl
YXRlQ29tcG9zaXRpbmdMYXllcnMobV9sYXllcnNUb0NyZWF0ZSkpOwogICAgIG1fbGF5ZXJzVG9D
cmVhdGUuY2xlYXIoKTsKICAgICBtX3Nob3VsZFN5bmNGcmFtZSA9IHRydWU7CiB9CkBAIC0zMzQs
OCArMzMzLDcgQEAgdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmRlbGV0ZUNvbXBvc2l0
aW5nTGF5ZXJzKCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgbV9sYXllcnNUb0RlbGV0ZS5zaXplKCk7ICsraSkKLSAgICAgICAgbV93ZWJQYWdl
LT5zZW5kKE1lc3NhZ2VzOjpDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6RGVsZXRlQ29t
cG9zaXRpbmdMYXllcihtX2xheWVyc1RvRGVsZXRlW2ldKSk7CisgICAgbV93ZWJQYWdlLT5zZW5k
KE1lc3NhZ2VzOjpDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6RGVsZXRlQ29tcG9zaXRp
bmdMYXllcnMobV9sYXllcnNUb0RlbGV0ZSkpOwogICAgIG1fbGF5ZXJzVG9EZWxldGUuY2xlYXIo
KTsKICAgICBtX3Nob3VsZFN5bmNGcmFtZSA9IHRydWU7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>