<?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>105851</bug_id>
          
          <creation_ts>2012-12-29 02:09:27 -0800</creation_ts>
          <short_desc>Web Inspector: show raster tasks on Timeline</short_desc>
          <delta_ts>2013-02-27 00:39:15 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          <dependson>105796</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrey Kosyakov">caseq</reporter>
          <assigned_to name="Andrey Kosyakov">caseq</assigned_to>
          <cc>apavlov</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>798087</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-12-29 02:09:27 -0800</bug_when>
    <thetext>Add processing of trace events emitted during paint and deferred paint of a layer and display deferred paint (and potential nested events, such as image decode/resize) on the timeline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798088</commentid>
    <comment_count>1</comment_count>
      <attachid>180926</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-12-29 02:12:40 -0800</bug_when>
    <thetext>Created attachment 180926
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798117</commentid>
    <comment_count>2</comment_count>
      <attachid>180926</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-12-29 04:42:34 -0800</bug_when>
    <thetext>Comment on attachment 180926
Patch

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

&gt; Source/WebCore/inspector/InspectorTimelineAgent.cpp:281
&gt; +        m_traceEventProcessor-&gt;willPaint();

It would be great if there was unidirectional dependency in the instrumentation (i.e. processor -&gt; timeline).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798130</commentid>
    <comment_count>3</comment_count>
      <attachid>180938</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-12-29 07:43:35 -0800</bug_when>
    <thetext>Created attachment 180938
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806326</commentid>
    <comment_count>4</comment_count>
      <attachid>180938</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-01-14 06:48:05 -0800</bug_when>
    <thetext>Comment on attachment 180938
Patch

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

r- for introducing page pointer and not using constants. Otherwise looks cryptic and good.

&gt; Source/WebCore/inspector/InspectorInstrumentation.cpp:508
&gt; +    TRACE_EVENT_INSTANT1(&quot;webkit&quot;, &quot;Instrumentation::Paint&quot;, &quot;pageId&quot;, frame ? reinterpret_cast&lt;unsigned long long&gt;(frame-&gt;page()) : 0);

These need constants. Is there anything we could reuse?

&gt; Source/WebCore/inspector/TimelineTraceEventProcessor.cpp:179
&gt; +TimelineTraceEventProcessor::TimelineTraceEventProcessor(InspectorTimelineAgent* timelineAgent, InspectorClient *client, Page* page)

timeline agent has page agent already.

&gt; Source/WebCore/inspector/TimelineTraceEventProcessor.cpp:182
&gt; +    , m_pageId(reinterpret_cast&lt;unsigned long long&gt;(page))

page can be recreated.

&gt; Source/WebCore/inspector/TimelineTraceEventProcessor.cpp:191
&gt; +    m_handlersByType.set(&quot;Instrumentation::Paint&quot;, EventTypeEntry(&amp;TimelineTraceEventProcessor::onPaint));

Lets have constants for these in InspectorInstrumentation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806405</commentid>
    <comment_count>5</comment_count>
      <attachid>182589</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-01-14 09:11:38 -0800</bug_when>
    <thetext>Created attachment 182589
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806406</commentid>
    <comment_count>6</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-01-14 09:14:48 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; 
&gt; These need constants. Is there anything we could reuse?

Added constants to InspectorInstrumentation.{h,cpp}. I don&apos;t think we should be re-using existing trace events, as ours are different in that their names are meaningful to other modules.

&gt; &gt; Source/WebCore/inspector/TimelineTraceEventProcessor.cpp:179
&gt; &gt; +TimelineTraceEventProcessor::TimelineTraceEventProcessor(InspectorTimelineAgent* timelineAgent, InspectorClient *client, Page* page)
&gt; 
&gt; timeline agent has page agent already.

Exposed InspectorTimelineAgent::page()

&gt; 
&gt; &gt; Source/WebCore/inspector/TimelineTraceEventProcessor.cpp:182
&gt; &gt; +    , m_pageId(reinterpret_cast&lt;unsigned long long&gt;(page))
&gt; 
&gt; page can be recreated.

Now within the lifetime of TimelineTraceEventProcessor -- we&apos;ll kill it upon stopping the record.

&gt; &gt; Source/WebCore/inspector/TimelineTraceEventProcessor.cpp:191
&gt; &gt; +    m_handlersByType.set(&quot;Instrumentation::Paint&quot;, EventTypeEntry(&amp;TimelineTraceEventProcessor::onPaint));
&gt; 
&gt; Lets have constants for these in InspectorInstrumentation.

done!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822635</commentid>
    <comment_count>7</comment_count>
      <attachid>186012</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-02-01 04:51:23 -0800</bug_when>
    <thetext>Created attachment 186012
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826502</commentid>
    <comment_count>8</comment_count>
      <attachid>186871</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-02-06 09:26:45 -0800</bug_when>
    <thetext>Created attachment 186871
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841904</commentid>
    <comment_count>9</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-02-26 05:14:40 -0800</bug_when>
    <thetext>Committed r144044: &lt;http://trac.webkit.org/changeset/144044&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842048</commentid>
    <comment_count>10</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-02-26 08:49:17 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842049</commentid>
    <comment_count>11</comment_count>
      <attachid>190297</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-02-26 08:49:21 -0800</bug_when>
    <thetext>Created attachment 190297
EWS run</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842057</commentid>
    <comment_count>12</comment_count>
      <attachid>190297</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-02-26 09:03:30 -0800</bug_when>
    <thetext>Comment on attachment 190297
EWS run

Attachment 190297 did not pass qt-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/16768384</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842061</commentid>
    <comment_count>13</comment_count>
      <attachid>190297</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-02-26 09:08:26 -0800</bug_when>
    <thetext>Comment on attachment 190297
EWS run

Attachment 190297 did not pass qt-wk2-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/16781163</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842071</commentid>
    <comment_count>14</comment_count>
      <attachid>190300</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-02-26 09:16:23 -0800</bug_when>
    <thetext>Created attachment 190300
EWS run</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842787</commentid>
    <comment_count>15</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-02-27 00:39:15 -0800</bug_when>
    <thetext>Committed r144154: &lt;http://trac.webkit.org/changeset/144154&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180926</attachid>
            <date>2012-12-29 02:12:40 -0800</date>
            <delta_ts>2012-12-29 07:43:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105851-20121229140949.patch</filename>
            <type>text/plain</type>
            <size>10303</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4NTM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTA5N2YxYWY2Yjg2ZWU4
YWZhMzc5ODI2ZTVlODM5NzQ1YmVkODAxMy4uOTg5NWZiNjU3Y2Q3ZDk2ZGVhZWYzODgyNjkwZDI1
MDIwNDllZDJhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTEyLTI5ICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogc2hvdyBkZWZlcnJlZCBwYWludHMgb24gVGltZWxpbmUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTg1MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0ga2VlcCBsYXllciBpZCB3aGVuIGRlZmVycmlu
ZyBhIHBhaW50OworICAgICAgICAtIGFkZCBsYXllciBpZCB0byBrbm93biBsYXllcnMgd2hlbiBh
Y3R1YWwgcGFpbnQgaGFwcGVuczsKKyAgICAgICAgLSByZWNvZ25pemUgZGVmZXJyZWQgcGFpbnRz
IG9mIGtub3duIGxheWVycyBhbmQgZW1pdCBEZWZlcnJlZFBhaW4gcmVjb3JkLgorCisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwOgorICAgICAgICAoVGltZWxp
bmVSZWNvcmRUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6
OndpbGxQYWludCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQu
aDoKKyAgICAgICAgKFRpbWVsaW5lUmVjb3JkVHlwZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6VGltZWxpbmVUcmFjZUV2
ZW50UHJvY2Vzc29yKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nl
c3Nvcjo6b25EZWZlclBhaW50QmVnaW4pOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJDb3JlOjpUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6Om9uRGVmZXJQYWludEVuZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6Om9uUGVyZm9ybURl
ZmVycmVkUGFpbnRCZWdpbik6CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVRyYWNlRXZlbnRQ
cm9jZXNzb3I6Om9uUGVyZm9ybURlZmVycmVkUGFpbnRFbmQpOgorICAgICAgICAoV2ViQ29yZTo6
VGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvblJlbGVhc2VMYXllcklkKToKKyAgICAgICAg
KFdlYkNvcmU6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6d2lsbFBhaW50KToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yLmg6CisgICAgICAgIChU
aW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3IpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvVGltZWxpbmVNb2RlbC5qczoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVs
aW5lUHJlc2VudGF0aW9uTW9kZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQ
cmVzZW50YXRpb25Nb2RlbC5faW5pdFJlY29yZFN0eWxlcyk6CisKIDIwMTItMTItMjggIEFuZHJl
eSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBwbHVtYiB0cmFjZSBldmVudHMgdG8gVGltZWxpbmUgYWdlbnQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAppbmRleCAxNGIzMjE2
ZWI3NzNhYzEyZTAyZGEyMGViMzNlNDBiNWVmMzg5MjgxLi41MmZkMGQyNjA2MTE0MGEzNTNmZTg5
MWZkMTU3MzcyYzVjMDhjNzVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCkBAIC0xMDksNiArMTA5LDkgQEAgc3RhdGljIGNv
bnN0IGNoYXIgR0NFdmVudFtdID0gIkdDRXZlbnQiOwogc3RhdGljIGNvbnN0IGNoYXIgUmVxdWVz
dEFuaW1hdGlvbkZyYW1lW10gPSAiUmVxdWVzdEFuaW1hdGlvbkZyYW1lIjsKIHN0YXRpYyBjb25z
dCBjaGFyIENhbmNlbEFuaW1hdGlvbkZyYW1lW10gPSAiQ2FuY2VsQW5pbWF0aW9uRnJhbWUiOwog
c3RhdGljIGNvbnN0IGNoYXIgRmlyZUFuaW1hdGlvbkZyYW1lW10gPSAiRmlyZUFuaW1hdGlvbkZy
YW1lIjsKKworLy8gRXZlbnQgbmFtZXMgdmlzaWJsZSB0byBvdGhlciBtb2R1bGVzLgorY29uc3Qg
Y2hhciBEZWZlcnJlZFBhaW50W10gPSAiRGVmZXJyZWRQYWludCI7CiB9CiAKIHZvaWQgSW5zcGVj
dG9yVGltZWxpbmVBZ2VudDo6cHVzaEdDRXZlbnRSZWNvcmRzKCkKQEAgLTI3NCw2ICsyNzcsOCBA
QCB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZFJlY2FsY3VsYXRlU3R5bGUoKQogCiB2
b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxQYWludChGcmFtZSogZnJhbWUpCiB7Cisg
ICAgaWYgKG1fdHJhY2VFdmVudFByb2Nlc3NvcikKKyAgICAgICAgbV90cmFjZUV2ZW50UHJvY2Vz
c29yLT53aWxsUGFpbnQoKTsKICAgICBwdXNoQ3VycmVudFJlY29yZChJbnNwZWN0b3JPYmplY3Q6
OmNyZWF0ZSgpLCBUaW1lbGluZVJlY29yZFR5cGU6OlBhaW50LCB0cnVlLCBmcmFtZSwgdHJ1ZSk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5oCmluZGV4IGNkZjc5NDE1MTRiMGQ3OWFhYmEyNWIzZmFiZTU0YTY1ZTE4OGU2ZjMuLjk2
MmYxMjFiY2Y4MGU4MDhhMDZlZjdmOTM0M2NjOWU1MTQ4MDA1OWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaApAQCAtNTksNiArNTks
MTAgQEAgY2xhc3MgVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOwogCiB0eXBlZGVmIFN0cmlu
ZyBFcnJvclN0cmluZzsKIAorbmFtZXNwYWNlIFRpbWVsaW5lUmVjb3JkVHlwZSB7CitleHRlcm4g
Y29uc3QgY2hhciBEZWZlcnJlZFBhaW50W107Cit9OworCiBjbGFzcyBJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50CiAgICAgOiBwdWJsaWMgSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3RvclRpbWVsaW5l
QWdlbnQ+LAogICAgICAgcHVibGljIFNjcmlwdEdDRXZlbnRMaXN0ZW5lciwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3IuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvci5j
cHAKaW5kZXggMzc5ZTVjNzQ4ZDM0MmQzYTgwZTA4MjMxODFjNDI0MTZlYmMyYTI2ZS4uMmI5NmMw
Njk2YzdhZjY1ZmU4NDg1ODUyMGY2MGY4YzYzZDU4OTM2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvci5jcHAKQEAg
LTQ0LDYgKzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2UgewogCitjb25z
dCBjaGFyIGtMYXllcklkW10gPSAibGF5ZXJJZCI7CisKIGNsYXNzIFRyYWNlRXZlbnREaXNwYXRj
aGVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFjZUV2ZW50RGlzcGF0Y2hlcik7CiBw
dWJsaWM6CkBAIC0xNzYsNyArMTc4LDE0IEBAIHByaXZhdGU6CiBUaW1lbGluZVRyYWNlRXZlbnRQ
cm9jZXNzb3I6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3NvcihJbnNwZWN0b3JUaW1lbGluZUFn
ZW50KiB0aW1lbGluZUFnZW50LCBJbnNwZWN0b3JDbGllbnQgKmNsaWVudCkKICAgICA6IG1fdGlt
ZWxpbmVBZ2VudCh0aW1lbGluZUFnZW50KQogICAgICwgbV9pbnNwZWN0b3JDbGllbnQoY2xpZW50
KQorICAgICwgbV9kZWZlcnJlZFBhaW50TGF5ZXJJZCgwKQogeworICAgIG1faGFuZGxlcnNCeVR5
cGUuc2V0KCJJbnN0cnVtZW50YXRpb246OkRlZmVyUGFpbnQiLAorICAgICAgICBFdmVudFR5cGVF
bnRyeSgmVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvbkRlZmVyUGFpbnRCZWdpbiwgJlRp
bWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25EZWZlclBhaW50RW5kKSk7CisgICAgbV9oYW5k
bGVyc0J5VHlwZS5zZXQoIkluc3RydW1lbnRhdGlvbjo6UGVyZm9ybURlZmVycmVkUGFpbnQiLAor
ICAgICAgICBFdmVudFR5cGVFbnRyeSgmVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvblBl
cmZvcm1EZWZlcnJlZFBhaW50QmVnaW4sICZUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6Om9u
UGVyZm9ybURlZmVycmVkUGFpbnRFbmQpKTsKKyAgICBtX2hhbmRsZXJzQnlUeXBlLnNldCgiSW5z
dHJ1bWVudGF0aW9uOjpSZWxlYXNlTGF5ZXJJZCIsIEV2ZW50VHlwZUVudHJ5KCZUaW1lbGluZVRy
YWNlRXZlbnRQcm9jZXNzb3I6Om9uUmVsZWFzZUxheWVySWQpKTsKKyAgICAKICAgICBUcmFjZUV2
ZW50RGlzcGF0Y2hlcjo6aW5zdGFuY2UoKS0+YWRkUHJvY2Vzc29yKHRoaXMsIG1faW5zcGVjdG9y
Q2xpZW50KTsKIH0KIApAQCAtMjE0LDYgKzIyMyw0NSBAQCB2b2lkIFRpbWVsaW5lVHJhY2VFdmVu
dFByb2Nlc3Nvcjo6cHJvY2Vzc0V2ZW50KFRyYWNlRXZlbnRQaGFzZSBwaGFzZSwgY29uc3QgY2hh
cgogICAgICh0aGlzLT4qaGFuZGxlcikobmFtZSwgcGhhc2UsIGFyZ3VtZW50cyk7CiB9CiAKK3Zv
aWQgVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvbkRlZmVyUGFpbnRCZWdpbihjb25zdCBj
aGFyKiwgVHJhY2VFdmVudFBoYXNlIHBoYXNlLCBjb25zdCBUcmFjZUV2ZW50QXJndW1lbnRzJiBh
cmd1bWVudHMpCit7CisgICAgbV9kZWZlcnJlZFBhaW50TGF5ZXJJZCA9IGFyZ3VtZW50cy5hc1VJ
bnQoa0xheWVySWQpOworICAgIEFTU0VSVChtX2RlZmVycmVkUGFpbnRMYXllcklkKTsKK30KKwor
dm9pZCBUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6Om9uRGVmZXJQYWludEVuZChjb25zdCBj
aGFyKiwgVHJhY2VFdmVudFBoYXNlIHBoYXNlLCBjb25zdCBUcmFjZUV2ZW50QXJndW1lbnRzJiBh
cmd1bWVudHMpCit7CisgICAgbV9kZWZlcnJlZFBhaW50TGF5ZXJJZCA9IDA7Cit9CisKK3ZvaWQg
VGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvblBlcmZvcm1EZWZlcnJlZFBhaW50QmVnaW4o
Y29uc3QgY2hhciogbmFtZSwgVHJhY2VFdmVudFBoYXNlIHBoYXNlLCBjb25zdCBUcmFjZUV2ZW50
QXJndW1lbnRzJiBhcmd1bWVudHMpCit7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIGxheWVySWQg
PSBhcmd1bWVudHMuYXNVSW50KGtMYXllcklkKTsKKyAgICBBU1NFUlQobGF5ZXJJZCk7CisgICAg
aWYgKG1fa25vd25MYXllcnMuY29udGFpbnMobGF5ZXJJZCkpCisgICAgICAgIG1fdGltZWxpbmVB
Z2VudC0+cHVzaEN1cnJlbnRSZWNvcmQoSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKSwgVGltZWxp
bmVSZWNvcmRUeXBlOjpEZWZlcnJlZFBhaW50LCBmYWxzZSwgMCwgdHJ1ZSk7CisgICAgZWxzZQor
ICAgICAgICBtX3RpbWVsaW5lQWdlbnQtPm11dGUoVGltZWxpbmVSZWNvcmRUeXBlOjpEZWZlcnJl
ZFBhaW50KTsKK30KKwordm9pZCBUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6Om9uUGVyZm9y
bURlZmVycmVkUGFpbnRFbmQoY29uc3QgY2hhciogbmFtZSwgVHJhY2VFdmVudFBoYXNlIHBoYXNl
LCBjb25zdCBUcmFjZUV2ZW50QXJndW1lbnRzJiBhcmd1bWVudHMpCit7CisgICAgbV90aW1lbGlu
ZUFnZW50LT5kaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRUeXBlOjpEZWZl
cnJlZFBhaW50KTsKK30KKwordm9pZCBUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6Om9uUmVs
ZWFzZUxheWVySWQoY29uc3QgY2hhciosIFRyYWNlRXZlbnRQaGFzZSwgY29uc3QgVHJhY2VFdmVu
dEFyZ3VtZW50cyYgYXJndW1lbnRzKQoreworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBpZCA9IGFy
Z3VtZW50cy5hc1VJbnQoa0xheWVySWQpOworICAgIEFTU0VSVChpZCk7CisgICAgbV9rbm93bkxh
eWVycy5yZW1vdmUoaWQpOworfQorCit2b2lkIFRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6
d2lsbFBhaW50KCkKK3sKKyAgICBpZiAobV9kZWZlcnJlZFBhaW50TGF5ZXJJZCkKKyAgICAgICAg
bV9rbm93bkxheWVycy5hZGQobV9kZWZlcnJlZFBhaW50TGF5ZXJJZCk7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yLmgK
aW5kZXggOGJhYjUxYzc0ZjYxN2FmMGQxNWQ1ODE4MzgyNjg1YWRhZWY3YTc1ZC4uNjY0NmZiNGEz
ODI2YWYxYmZjNTYwNjE3MGJlM2RmZDM2YmEwZjZhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3IuaApAQCAtMzQsNiAr
MzQsNyBAQAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgorI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTU4LDYgKzU5LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgcHJvY2Vzc0V2ZW50KFRyYWNlRXZlbnRQaGFzZSwgY29uc3QgY2hhciog
bmFtZSwgdW5zaWduZWQgbG9uZyBsb25nIGlkLAogICAgICAgICBpbnQgbnVtQXJncywgY29uc3Qg
Y2hhciogY29uc3QqIGFyZ05hbWVzLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBhcmdUeXBlcywgY29u
c3QgdW5zaWduZWQgbG9uZyBsb25nKiBhcmdWYWx1ZXMsCiAgICAgICAgIHVuc2lnbmVkIGNoYXIg
ZmxhZ3MpOworICAgIHZvaWQgd2lsbFBhaW50KCk7CiAgICAgCiBwcml2YXRlOgogICAgIHR5cGVk
ZWYgdm9pZCAoVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjoqVHJhY2VFdmVudEhhbmRsZXIp
KGNvbnN0IGNoYXIqIG5hbWUsIFRyYWNlRXZlbnRQaGFzZSwgY29uc3QgVHJhY2VFdmVudEFyZ3Vt
ZW50cyYpOwpAQCAtODcsMTAgKzg5LDE4IEBAIHByaXZhdGU6CiAgICAgICAgIFRyYWNlRXZlbnRI
YW5kbGVyIG1faW5zdGFudDsKICAgICB9OwogCisgICAgdm9pZCBvbkRlZmVyUGFpbnRCZWdpbihj
b25zdCBjaGFyKiBuYW1lLCBUcmFjZUV2ZW50UGhhc2UsIGNvbnN0IFRyYWNlRXZlbnRBcmd1bWVu
dHMmKTsKKyAgICB2b2lkIG9uRGVmZXJQYWludEVuZChjb25zdCBjaGFyKiBuYW1lLCBUcmFjZUV2
ZW50UGhhc2UsIGNvbnN0IFRyYWNlRXZlbnRBcmd1bWVudHMmKTsKKyAgICB2b2lkIG9uUGVyZm9y
bURlZmVycmVkUGFpbnRCZWdpbihjb25zdCBjaGFyKiBuYW1lLCBUcmFjZUV2ZW50UGhhc2UsIGNv
bnN0IFRyYWNlRXZlbnRBcmd1bWVudHMmKTsKKyAgICB2b2lkIG9uUGVyZm9ybURlZmVycmVkUGFp
bnRFbmQoY29uc3QgY2hhciogbmFtZSwgVHJhY2VFdmVudFBoYXNlLCBjb25zdCBUcmFjZUV2ZW50
QXJndW1lbnRzJik7CisgICAgdm9pZCBvblJlbGVhc2VMYXllcklkKGNvbnN0IGNoYXIqIG5hbWUs
IFRyYWNlRXZlbnRQaGFzZSwgY29uc3QgVHJhY2VFdmVudEFyZ3VtZW50cyYpOworCiAgICAgSW5z
cGVjdG9yVGltZWxpbmVBZ2VudCogbV90aW1lbGluZUFnZW50OwogICAgIEluc3BlY3RvckNsaWVu
dCogbV9pbnNwZWN0b3JDbGllbnQ7CiAKICAgICBIYXNoTWFwPFN0cmluZywgRXZlbnRUeXBlRW50
cnk+IG1faGFuZGxlcnNCeVR5cGU7CisgICAgSGFzaFNldDx1bnNpZ25lZCBsb25nIGxvbmc+IG1f
a25vd25MYXllcnM7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIG1fZGVmZXJyZWRQYWludExheWVy
SWQ7CiB9OwogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvVGltZWxpbmVNb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
VGltZWxpbmVNb2RlbC5qcwppbmRleCBkNzI5YzVjZWNlNTgzMGFkYThhZmVkMTZiMmVkMWIxN2Iw
YWRiYWZkLi5lNzM5NjMxMGRjMjI5NWE3MGQyZDkyNTJmNmYyNmU3MjY2ZmIxYzM4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lTW9kZWwuanMK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZU1vZGVsLmpz
CkBAIC01Niw2ICs1Niw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUg
PSB7CiAgICAgSW52YWxpZGF0ZUxheW91dDogIkludmFsaWRhdGVMYXlvdXQiLAogICAgIExheW91
dDogIkxheW91dCIsCiAgICAgUGFpbnQ6ICJQYWludCIsCisgICAgRGVmZXJyZWRQYWludDogIkRl
ZmVycmVkUGFpbnQiLAogICAgIFNjcm9sbExheWVyOiAiU2Nyb2xsTGF5ZXIiLAogICAgIERlY29k
ZUltYWdlOiAiRGVjb2RlSW1hZ2UiLAogICAgIFJlc2l6ZUltYWdlOiAiUmVzaXplSW1hZ2UiLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBy
ZXNlbnRhdGlvbk1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9U
aW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmpzCmluZGV4IGMxMDI4MDUzZWU5OGY0ZDliMGE5NGE0
ZDNjMzEyMDE1MTEwZjc5MDkuLjQ2ODMyMzY0NTFkNDQ3MzM1YjhkMjZhM2Q2ODkzMjNjNWY5ODgw
MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxp
bmVQcmVzZW50YXRpb25Nb2RlbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1RpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuanMKQEAgLTc2LDYgKzc2LDcgQEAgV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuX2luaXRSZWNvcmRTdHlsZXMgPSBm
dW5jdGlvbigpCiAgICAgcmVjb3JkU3R5bGVzW3JlY29yZFR5cGVzLkludmFsaWRhdGVMYXlvdXRd
ID0geyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJJbnZhbGlkYXRlIExheW91dCIpLCBj
YXRlZ29yeTogY2F0ZWdvcmllc1sicmVuZGVyaW5nIl0gfTsKICAgICByZWNvcmRTdHlsZXNbcmVj
b3JkVHlwZXMuTGF5b3V0XSA9IHsgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiTGF5b3V0
IiksIGNhdGVnb3J5OiBjYXRlZ29yaWVzWyJyZW5kZXJpbmciXSB9OwogICAgIHJlY29yZFN0eWxl
c1tyZWNvcmRUeXBlcy5QYWludF0gPSB7IHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlBh
aW50IiksIGNhdGVnb3J5OiBjYXRlZ29yaWVzWyJwYWludGluZyJdIH07CisgICAgcmVjb3JkU3R5
bGVzW3JlY29yZFR5cGVzLkRlZmVycmVkUGFpbnRdID0geyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCJEZWZlcnJlZFBhaW50IiksIGNhdGVnb3J5OiBjYXRlZ29yaWVzWyJwYWludGluZyJd
IH07CiAgICAgcmVjb3JkU3R5bGVzW3JlY29yZFR5cGVzLlNjcm9sbExheWVyXSA9IHsgdGl0bGU6
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2Nyb2xsIiksIGNhdGVnb3J5OiBjYXRlZ29yaWVzWyJw
YWludGluZyJdIH07CiAgICAgcmVjb3JkU3R5bGVzW3JlY29yZFR5cGVzLkRlY29kZUltYWdlXSA9
IHsgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiSW1hZ2UgRGVjb2RlIiksIGNhdGVnb3J5
OiBjYXRlZ29yaWVzWyJwYWludGluZyJdIH07CiAgICAgcmVjb3JkU3R5bGVzW3JlY29yZFR5cGVz
LlJlc2l6ZUltYWdlXSA9IHsgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiSW1hZ2UgUmVz
aXplIiksIGNhdGVnb3J5OiBjYXRlZ29yaWVzWyJwYWludGluZyJdIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180938</attachid>
            <date>2012-12-29 07:43:35 -0800</date>
            <delta_ts>2013-01-14 09:11:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105851-20121229194045.patch</filename>
            <type>text/plain</type>
            <size>12933</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4NTM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTA5N2YxYWY2Yjg2ZWU4
YWZhMzc5ODI2ZTVlODM5NzQ1YmVkODAxMy4uOTg5NWZiNjU3Y2Q3ZDk2ZGVhZWYzODgyNjkwZDI1
MDIwNDllZDJhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTEyLTI5ICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogc2hvdyBkZWZlcnJlZCBwYWludHMgb24gVGltZWxpbmUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTg1MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0ga2VlcCBsYXllciBpZCB3aGVuIGRlZmVycmlu
ZyBhIHBhaW50OworICAgICAgICAtIGFkZCBsYXllciBpZCB0byBrbm93biBsYXllcnMgd2hlbiBh
Y3R1YWwgcGFpbnQgaGFwcGVuczsKKyAgICAgICAgLSByZWNvZ25pemUgZGVmZXJyZWQgcGFpbnRz
IG9mIGtub3duIGxheWVycyBhbmQgZW1pdCBEZWZlcnJlZFBhaW4gcmVjb3JkLgorCisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwOgorICAgICAgICAoVGltZWxp
bmVSZWNvcmRUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6
OndpbGxQYWludCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQu
aDoKKyAgICAgICAgKFRpbWVsaW5lUmVjb3JkVHlwZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6VGltZWxpbmVUcmFjZUV2
ZW50UHJvY2Vzc29yKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nl
c3Nvcjo6b25EZWZlclBhaW50QmVnaW4pOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJDb3JlOjpUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6Om9uRGVmZXJQYWludEVuZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6Om9uUGVyZm9ybURl
ZmVycmVkUGFpbnRCZWdpbik6CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVRyYWNlRXZlbnRQ
cm9jZXNzb3I6Om9uUGVyZm9ybURlZmVycmVkUGFpbnRFbmQpOgorICAgICAgICAoV2ViQ29yZTo6
VGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvblJlbGVhc2VMYXllcklkKToKKyAgICAgICAg
KFdlYkNvcmU6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6d2lsbFBhaW50KToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yLmg6CisgICAgICAgIChU
aW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3IpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvVGltZWxpbmVNb2RlbC5qczoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVs
aW5lUHJlc2VudGF0aW9uTW9kZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQ
cmVzZW50YXRpb25Nb2RlbC5faW5pdFJlY29yZFN0eWxlcyk6CisKIDIwMTItMTItMjggIEFuZHJl
eSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBwbHVtYiB0cmFjZSBldmVudHMgdG8gVGltZWxpbmUgYWdlbnQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKaW5kZXggODhk
YjU0YzM1NmY0MWNhYWYyMzIwOWU5YzI2MDNkYjQ1MGRlOWQyMC4uMzAxZmEwYjNiYzQ0OTIxNjg0
YWE2MThhMmRmYzMwMTQwZjcwOGIxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKQEAgLTc3LDYgKzc3LDEwIEBACiAj
aW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcu
aD4KIAorI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorI2luY2x1ZGUgInBsYXRmb3JtL2Nocm9taXVt
L1RyYWNlRXZlbnQuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBj
b25zdCBjaGFyKiBjb25zdCByZXF1ZXN0QW5pbWF0aW9uRnJhbWVFdmVudE5hbWUgPSAicmVxdWVz
dEFuaW1hdGlvbkZyYW1lIjsKQEAgLTUwMSw2ICs1MDUsOCBAQCB2b2lkIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hYSFJMb2FkRXZlbnRJbXBsKGNvbnN0IEluc3BlY3Rvcklu
c3RydQogCiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjp3aWxsUGFpbnRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdB
Z2VudHMsIEZyYW1lKiBmcmFtZSkKIHsKKyAgICBUUkFDRV9FVkVOVF9JTlNUQU5UMSgid2Via2l0
IiwgIkluc3RydW1lbnRhdGlvbjo6UGFpbnQiLCAicGFnZUlkIiwgZnJhbWUgPyByZWludGVycHJl
dF9jYXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4oZnJhbWUtPnBhZ2UoKSkgOiAwKTsKKwogICAgIGlu
dCB0aW1lbGluZUFnZW50SWQgPSAwOwogICAgIGlmIChJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0
aW1lbGluZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dCgpKSB7CiAgICAgICAgIHRpbWVsaW5lQWdlbnQtPndpbGxQYWludChmcmFtZSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKaW5k
ZXggZmI5ZTk0Y2M1MWNmNTEzYjJhYzczOTk1ZTM3YmM0MGI5NzVmY2ViMy4uZjNkMTQ0MDk2OGEw
ZjAxMjM0YWU4MTk3MmNhYTUxN2MxYmNiYzlmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcApAQCAtMTA5LDYgKzEwOSw5IEBA
IHN0YXRpYyBjb25zdCBjaGFyIEdDRXZlbnRbXSA9ICJHQ0V2ZW50IjsKIHN0YXRpYyBjb25zdCBj
aGFyIFJlcXVlc3RBbmltYXRpb25GcmFtZVtdID0gIlJlcXVlc3RBbmltYXRpb25GcmFtZSI7CiBz
dGF0aWMgY29uc3QgY2hhciBDYW5jZWxBbmltYXRpb25GcmFtZVtdID0gIkNhbmNlbEFuaW1hdGlv
bkZyYW1lIjsKIHN0YXRpYyBjb25zdCBjaGFyIEZpcmVBbmltYXRpb25GcmFtZVtdID0gIkZpcmVB
bmltYXRpb25GcmFtZSI7CisKKy8vIEV2ZW50IG5hbWVzIHZpc2libGUgdG8gb3RoZXIgbW9kdWxl
cy4KK2NvbnN0IGNoYXIgRGVmZXJyZWRQYWludFtdID0gIkRlZmVycmVkUGFpbnQiOwogfQogCiB2
b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnB1c2hHQ0V2ZW50UmVjb3JkcygpCkBAIC0xNzIs
OCArMTc1LDggQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpzdGFydChFcnJvclN0cmlu
ZyosIGNvbnN0IGludCogbWF4Q2FsbFN0YWNrRGVwdGgpCiAgICAgbV9pbnN0cnVtZW50aW5nQWdl
bnRzLT5zZXRJbnNwZWN0b3JUaW1lbGluZUFnZW50KHRoaXMpOwogICAgIFNjcmlwdEdDRXZlbnQ6
OmFkZEV2ZW50TGlzdGVuZXIodGhpcyk7CiAgICAgbV9zdGF0ZS0+c2V0Qm9vbGVhbihUaW1lbGlu
ZUFnZW50U3RhdGU6OnRpbWVsaW5lQWdlbnRFbmFibGVkLCB0cnVlKTsKLSAgICBpZiAobV9jbGll
bnQpCi0gICAgICAgIG1fdHJhY2VFdmVudFByb2Nlc3NvciA9IGFkb3B0UHRyKG5ldyBUaW1lbGlu
ZVRyYWNlRXZlbnRQcm9jZXNzb3IodGhpcywgbV9jbGllbnQpKTsKKyAgICBpZiAobV9jbGllbnQg
JiYgbV9wYWdlQWdlbnQpCisgICAgICAgIG1fdHJhY2VFdmVudFByb2Nlc3NvciA9IGFkb3B0UHRy
KG5ldyBUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3IodGhpcywgbV9jbGllbnQsIG1fcGFnZUFn
ZW50LT5wYWdlKCkpKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpzdG9wKEVy
cm9yU3RyaW5nKikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JUaW1lbGluZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudC5oCmluZGV4IGIzYmQwMDgwZjhlY2NmZjM5YzA2ZWRkYTY3NzA1YzlkMjcyOGEw
NWYuLjZkN2E2OGU3Y2IxZTU1NjdhZWE5NzFhYTdlY2NmZTRlYmIwOGVjZDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaApAQCAtNTks
NiArNTksMTAgQEAgY2xhc3MgVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOwogCiB0eXBlZGVm
IFN0cmluZyBFcnJvclN0cmluZzsKIAorbmFtZXNwYWNlIFRpbWVsaW5lUmVjb3JkVHlwZSB7Citl
eHRlcm4gY29uc3QgY2hhciBEZWZlcnJlZFBhaW50W107Cit9OworCiBjbGFzcyBJbnNwZWN0b3JU
aW1lbGluZUFnZW50CiAgICAgOiBwdWJsaWMgSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3RvclRp
bWVsaW5lQWdlbnQ+LAogICAgICAgcHVibGljIFNjcmlwdEdDRXZlbnRMaXN0ZW5lciwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNz
b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVudFByb2Nl
c3Nvci5jcHAKaW5kZXggMzc5ZTVjNzQ4ZDM0MmQzYTgwZTA4MjMxODFjNDI0MTZlYmMyYTI2ZS4u
YTAwNGY4MTFhYmEwNmVlODEwZTYyZGU3ZTRjMWI5OGI0ZDMwMGIyNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvci5j
cHAKQEAgLTQ0LDYgKzQ0LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2Ugewog
Citjb25zdCBjaGFyIGtMYXllcklkW10gPSAibGF5ZXJJZCI7Citjb25zdCBjaGFyIGtQYWdlSWRb
XSA9ICJwYWdlSWQiOworCiBjbGFzcyBUcmFjZUV2ZW50RGlzcGF0Y2hlciB7CiAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVHJhY2VFdmVudERpc3BhdGNoZXIpOwogcHVibGljOgpAQCAtMTczLDEw
ICsxNzYsMjAgQEAgcHJpdmF0ZToKICAgICBjb25zdCB1bnNpZ25lZCBsb25nIGxvbmcqIG1fYXJn
dW1lbnRWYWx1ZXM7CiB9OwogCi1UaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6OlRpbWVsaW5l
VHJhY2VFdmVudFByb2Nlc3NvcihJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50
LCBJbnNwZWN0b3JDbGllbnQgKmNsaWVudCkKK1RpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6
VGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yKEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIHRpbWVs
aW5lQWdlbnQsIEluc3BlY3RvckNsaWVudCAqY2xpZW50LCBQYWdlKiBwYWdlKQogICAgIDogbV90
aW1lbGluZUFnZW50KHRpbWVsaW5lQWdlbnQpCiAgICAgLCBtX2luc3BlY3RvckNsaWVudChjbGll
bnQpCisgICAgLCBtX3BhZ2VJZChyZWludGVycHJldF9jYXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4o
cGFnZSkpCisgICAgLCBtX2RlZmVycmVkUGFpbnRMYXllcklkKDApCisgICAgLCBtX2luVW5yZWxh
dGVkRGVmZXJyZWRQYWludChmYWxzZSkKIHsKKyAgICBtX2hhbmRsZXJzQnlUeXBlLnNldCgiSW5z
dHJ1bWVudGF0aW9uOjpEZWZlclBhaW50IiwKKyAgICAgICAgRXZlbnRUeXBlRW50cnkoJlRpbWVs
aW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25EZWZlclBhaW50QmVnaW4sICZUaW1lbGluZVRyYWNl
RXZlbnRQcm9jZXNzb3I6Om9uRGVmZXJQYWludEVuZCkpOworICAgIG1faGFuZGxlcnNCeVR5cGUu
c2V0KCJJbnN0cnVtZW50YXRpb246OlBlcmZvcm1EZWZlcnJlZFBhaW50IiwKKyAgICAgICAgRXZl
bnRUeXBlRW50cnkoJlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25QZXJmb3JtRGVmZXJy
ZWRQYWludEJlZ2luLCAmVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvblBlcmZvcm1EZWZl
cnJlZFBhaW50RW5kKSk7CisgICAgbV9oYW5kbGVyc0J5VHlwZS5zZXQoIkluc3RydW1lbnRhdGlv
bjo6UmVsZWFzZUxheWVySWQiLCBFdmVudFR5cGVFbnRyeSgmVGltZWxpbmVUcmFjZUV2ZW50UHJv
Y2Vzc29yOjpvblJlbGVhc2VMYXllcklkKSk7CisgICAgbV9oYW5kbGVyc0J5VHlwZS5zZXQoIklu
c3RydW1lbnRhdGlvbjo6UGFpbnQiLCBFdmVudFR5cGVFbnRyeSgmVGltZWxpbmVUcmFjZUV2ZW50
UHJvY2Vzc29yOjpvblBhaW50KSk7CisgICAgCiAgICAgVHJhY2VFdmVudERpc3BhdGNoZXI6Omlu
c3RhbmNlKCktPmFkZFByb2Nlc3Nvcih0aGlzLCBtX2luc3BlY3RvckNsaWVudCk7CiB9CiAKQEAg
LTIxNCw2ICsyMjcsNDkgQEAgdm9pZCBUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6OnByb2Nl
c3NFdmVudChUcmFjZUV2ZW50UGhhc2UgcGhhc2UsIGNvbnN0IGNoYXIKICAgICAodGhpcy0+Kmhh
bmRsZXIpKG5hbWUsIHBoYXNlLCBhcmd1bWVudHMpOwogfQogCit2b2lkIFRpbWVsaW5lVHJhY2VF
dmVudFByb2Nlc3Nvcjo6b25EZWZlclBhaW50QmVnaW4oY29uc3QgY2hhciosIFRyYWNlRXZlbnRQ
aGFzZSBwaGFzZSwgY29uc3QgVHJhY2VFdmVudEFyZ3VtZW50cyYgYXJndW1lbnRzKQoreworICAg
IG1fZGVmZXJyZWRQYWludExheWVySWQgPSBhcmd1bWVudHMuYXNVSW50KGtMYXllcklkKTsKKyAg
ICBBU1NFUlQobV9kZWZlcnJlZFBhaW50TGF5ZXJJZCk7Cit9CisKK3ZvaWQgVGltZWxpbmVUcmFj
ZUV2ZW50UHJvY2Vzc29yOjpvbkRlZmVyUGFpbnRFbmQoY29uc3QgY2hhciosIFRyYWNlRXZlbnRQ
aGFzZSBwaGFzZSwgY29uc3QgVHJhY2VFdmVudEFyZ3VtZW50cyYgYXJndW1lbnRzKQoreworICAg
IG1fZGVmZXJyZWRQYWludExheWVySWQgPSAwOworfQorCit2b2lkIFRpbWVsaW5lVHJhY2VFdmVu
dFByb2Nlc3Nvcjo6b25QZXJmb3JtRGVmZXJyZWRQYWludEJlZ2luKGNvbnN0IGNoYXIqIG5hbWUs
IFRyYWNlRXZlbnRQaGFzZSBwaGFzZSwgY29uc3QgVHJhY2VFdmVudEFyZ3VtZW50cyYgYXJndW1l
bnRzKQoreworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBsYXllcklkID0gYXJndW1lbnRzLmFzVUlu
dChrTGF5ZXJJZCk7CisgICAgQVNTRVJUKGxheWVySWQpOworICAgIGlmIChtX2tub3duTGF5ZXJz
LmNvbnRhaW5zKGxheWVySWQpKQorICAgICAgICBtX3RpbWVsaW5lQWdlbnQtPnB1c2hDdXJyZW50
UmVjb3JkKEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCksIFRpbWVsaW5lUmVjb3JkVHlwZTo6RGVm
ZXJyZWRQYWludCwgZmFsc2UsIDAsIHRydWUpOworICAgIGVsc2UKKyAgICAgICAgbV9pblVucmVs
YXRlZERlZmVycmVkUGFpbnQgPSB0cnVlOworfQorCit2b2lkIFRpbWVsaW5lVHJhY2VFdmVudFBy
b2Nlc3Nvcjo6b25QZXJmb3JtRGVmZXJyZWRQYWludEVuZChjb25zdCBjaGFyKiBuYW1lLCBUcmFj
ZUV2ZW50UGhhc2UgcGhhc2UsIGNvbnN0IFRyYWNlRXZlbnRBcmd1bWVudHMmIGFyZ3VtZW50cykK
K3sKKyAgICBpZiAobV9pblVucmVsYXRlZERlZmVycmVkUGFpbnQpCisgICAgICAgIG1faW5VbnJl
bGF0ZWREZWZlcnJlZFBhaW50ID0gZmFsc2U7CisgICAgZWxzZQorICAgICAgICBtX3RpbWVsaW5l
QWdlbnQtPmRpZENvbXBsZXRlQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29yZFR5cGU6OkRlZmVy
cmVkUGFpbnQpOworfQorCit2b2lkIFRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25SZWxl
YXNlTGF5ZXJJZChjb25zdCBjaGFyKiwgVHJhY2VFdmVudFBoYXNlLCBjb25zdCBUcmFjZUV2ZW50
QXJndW1lbnRzJiBhcmd1bWVudHMpCit7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIGlkID0gYXJn
dW1lbnRzLmFzVUludChrTGF5ZXJJZCk7CisgICAgQVNTRVJUKGlkKTsKKyAgICBtX2tub3duTGF5
ZXJzLnJlbW92ZShpZCk7Cit9CisKK3ZvaWQgVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpv
blBhaW50KGNvbnN0IGNoYXIqLCBUcmFjZUV2ZW50UGhhc2UsIGNvbnN0IFRyYWNlRXZlbnRBcmd1
bWVudHMmIGFyZ3VtZW50cykKK3sKKyAgICBpZiAoIW1fZGVmZXJyZWRQYWludExheWVySWQgfHwg
YXJndW1lbnRzLmFzVUludChrUGFnZUlkKSAhPSBtX3BhZ2VJZCkKKyAgICAgICAgcmV0dXJuOwor
ICAgIG1fa25vd25MYXllcnMuYWRkKG1fZGVmZXJyZWRQYWludExheWVySWQpOworfQorCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nv
ci5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nv
ci5oCmluZGV4IDhiYWI1MWM3NGY2MTdhZjBkMTVkNTgxODM4MjY4NWFkYWVmN2E3NWQuLjE3OWM4
NTY0ZjlmOWY2YWY2MzEyZTgwNGRmMTQzODAwYzk5Y2Q3YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3IuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yLmgKQEAgLTM0
LDYgKzM0LDcgQEAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCiAjaW5jbHVkZSA8d3RmL0hhc2hN
YXAuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC00MSw2ICs0Miw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSW5zcGVjdG9yQ2xpZW50OwogY2xhc3MgSW5z
cGVjdG9yVGltZWxpbmVBZ2VudDsKK2NsYXNzIFBhZ2U7CiBjbGFzcyBUcmFjZUV2ZW50QXJndW1l
bnRzOwogCiBjbGFzcyBUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3IgewpAQCAtNTIsMTIgKzU0
LDEzIEBAIHB1YmxpYzoKICAgICAgICAgVHJhY2VQaGFzZUluc3RhbnQgPSAnSScKICAgICB9Owog
Ci0gICAgVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yKEluc3BlY3RvclRpbWVsaW5lQWdlbnQq
LCBJbnNwZWN0b3JDbGllbnQqKTsKKyAgICBUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3IoSW5z
cGVjdG9yVGltZWxpbmVBZ2VudCosIEluc3BlY3RvckNsaWVudCosIFBhZ2UqKTsKICAgICB+VGlt
ZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yKCk7CiAKICAgICB2b2lkIHByb2Nlc3NFdmVudChUcmFj
ZUV2ZW50UGhhc2UsIGNvbnN0IGNoYXIqIG5hbWUsIHVuc2lnbmVkIGxvbmcgbG9uZyBpZCwKICAg
ICAgICAgaW50IG51bUFyZ3MsIGNvbnN0IGNoYXIqIGNvbnN0KiBhcmdOYW1lcywgY29uc3QgdW5z
aWduZWQgY2hhciogYXJnVHlwZXMsIGNvbnN0IHVuc2lnbmVkIGxvbmcgbG9uZyogYXJnVmFsdWVz
LAogICAgICAgICB1bnNpZ25lZCBjaGFyIGZsYWdzKTsKKyAgICB2b2lkIHdpbGxQYWludCgpOwog
ICAgIAogcHJpdmF0ZToKICAgICB0eXBlZGVmIHZvaWQgKFRpbWVsaW5lVHJhY2VFdmVudFByb2Nl
c3Nvcjo6KlRyYWNlRXZlbnRIYW5kbGVyKShjb25zdCBjaGFyKiBuYW1lLCBUcmFjZUV2ZW50UGhh
c2UsIGNvbnN0IFRyYWNlRXZlbnRBcmd1bWVudHMmKTsKQEAgLTg3LDEwICs5MCwyMSBAQCBwcml2
YXRlOgogICAgICAgICBUcmFjZUV2ZW50SGFuZGxlciBtX2luc3RhbnQ7CiAgICAgfTsKIAorICAg
IHZvaWQgb25EZWZlclBhaW50QmVnaW4oY29uc3QgY2hhciogbmFtZSwgVHJhY2VFdmVudFBoYXNl
LCBjb25zdCBUcmFjZUV2ZW50QXJndW1lbnRzJik7CisgICAgdm9pZCBvbkRlZmVyUGFpbnRFbmQo
Y29uc3QgY2hhciogbmFtZSwgVHJhY2VFdmVudFBoYXNlLCBjb25zdCBUcmFjZUV2ZW50QXJndW1l
bnRzJik7CisgICAgdm9pZCBvblBlcmZvcm1EZWZlcnJlZFBhaW50QmVnaW4oY29uc3QgY2hhciog
bmFtZSwgVHJhY2VFdmVudFBoYXNlLCBjb25zdCBUcmFjZUV2ZW50QXJndW1lbnRzJik7CisgICAg
dm9pZCBvblBlcmZvcm1EZWZlcnJlZFBhaW50RW5kKGNvbnN0IGNoYXIqIG5hbWUsIFRyYWNlRXZl
bnRQaGFzZSwgY29uc3QgVHJhY2VFdmVudEFyZ3VtZW50cyYpOworICAgIHZvaWQgb25SZWxlYXNl
TGF5ZXJJZChjb25zdCBjaGFyKiBuYW1lLCBUcmFjZUV2ZW50UGhhc2UsIGNvbnN0IFRyYWNlRXZl
bnRBcmd1bWVudHMmKTsKKyAgICB2b2lkIG9uUGFpbnQoY29uc3QgY2hhciogbmFtZSwgVHJhY2VF
dmVudFBoYXNlLCBjb25zdCBUcmFjZUV2ZW50QXJndW1lbnRzJik7CisKICAgICBJbnNwZWN0b3JU
aW1lbGluZUFnZW50KiBtX3RpbWVsaW5lQWdlbnQ7CiAgICAgSW5zcGVjdG9yQ2xpZW50KiBtX2lu
c3BlY3RvckNsaWVudDsKIAorICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBtX3BhZ2VJZDsKICAgICBI
YXNoTWFwPFN0cmluZywgRXZlbnRUeXBlRW50cnk+IG1faGFuZGxlcnNCeVR5cGU7CisgICAgSGFz
aFNldDx1bnNpZ25lZCBsb25nIGxvbmc+IG1fa25vd25MYXllcnM7CisgICAgdW5zaWduZWQgbG9u
ZyBsb25nIG1fZGVmZXJyZWRQYWludExheWVySWQ7CisgICAgYm9vbCBtX2luVW5yZWxhdGVkRGVm
ZXJyZWRQYWludDsKIH07CiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9UaW1lbGluZU1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9UaW1lbGluZU1vZGVsLmpzCmluZGV4IGQ3MjljNWNlY2U1ODMwYWRhOGFmZWQxNmIy
ZWQxYjE3YjBhZGJhZmQuLmU3Mzk2MzEwZGMyMjk1YTcwZDJkOTI1MmY2ZjI2ZTcyNjZmYjFjMzgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVN
b2RlbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5l
TW9kZWwuanMKQEAgLTU2LDYgKzU2LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVj
b3JkVHlwZSA9IHsKICAgICBJbnZhbGlkYXRlTGF5b3V0OiAiSW52YWxpZGF0ZUxheW91dCIsCiAg
ICAgTGF5b3V0OiAiTGF5b3V0IiwKICAgICBQYWludDogIlBhaW50IiwKKyAgICBEZWZlcnJlZFBh
aW50OiAiRGVmZXJyZWRQYWludCIsCiAgICAgU2Nyb2xsTGF5ZXI6ICJTY3JvbGxMYXllciIsCiAg
ICAgRGVjb2RlSW1hZ2U6ICJEZWNvZGVJbWFnZSIsCiAgICAgUmVzaXplSW1hZ2U6ICJSZXNpemVJ
bWFnZSIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Rp
bWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1RpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuanMKaW5kZXggYzEwMjgwNTNlZTk4ZjRk
OWIwYTk0YTRkM2MzMTIwMTUxMTBmNzkwOS4uNDY4MzIzNjQ1MWQ0NDczMzViOGQyNmEzZDY4OTMy
M2M1Zjk4ODAyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5qcwpAQCAtNzYsNiArNzYs
NyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5faW5pdFJlY29yZFN0
eWxlcyA9IGZ1bmN0aW9uKCkKICAgICByZWNvcmRTdHlsZXNbcmVjb3JkVHlwZXMuSW52YWxpZGF0
ZUxheW91dF0gPSB7IHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkludmFsaWRhdGUgTGF5
b3V0IiksIGNhdGVnb3J5OiBjYXRlZ29yaWVzWyJyZW5kZXJpbmciXSB9OwogICAgIHJlY29yZFN0
eWxlc1tyZWNvcmRUeXBlcy5MYXlvdXRdID0geyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJMYXlvdXQiKSwgY2F0ZWdvcnk6IGNhdGVnb3JpZXNbInJlbmRlcmluZyJdIH07CiAgICAgcmVj
b3JkU3R5bGVzW3JlY29yZFR5cGVzLlBhaW50XSA9IHsgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0
cmluZygiUGFpbnQiKSwgY2F0ZWdvcnk6IGNhdGVnb3JpZXNbInBhaW50aW5nIl0gfTsKKyAgICBy
ZWNvcmRTdHlsZXNbcmVjb3JkVHlwZXMuRGVmZXJyZWRQYWludF0gPSB7IHRpdGxlOiBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIkRlZmVycmVkUGFpbnQiKSwgY2F0ZWdvcnk6IGNhdGVnb3JpZXNbInBh
aW50aW5nIl0gfTsKICAgICByZWNvcmRTdHlsZXNbcmVjb3JkVHlwZXMuU2Nyb2xsTGF5ZXJdID0g
eyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTY3JvbGwiKSwgY2F0ZWdvcnk6IGNhdGVn
b3JpZXNbInBhaW50aW5nIl0gfTsKICAgICByZWNvcmRTdHlsZXNbcmVjb3JkVHlwZXMuRGVjb2Rl
SW1hZ2VdID0geyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJJbWFnZSBEZWNvZGUiKSwg
Y2F0ZWdvcnk6IGNhdGVnb3JpZXNbInBhaW50aW5nIl0gfTsKICAgICByZWNvcmRTdHlsZXNbcmVj
b3JkVHlwZXMuUmVzaXplSW1hZ2VdID0geyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJJ
bWFnZSBSZXNpemUiKSwgY2F0ZWdvcnk6IGNhdGVnb3JpZXNbInBhaW50aW5nIl0gfTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182589</attachid>
            <date>2013-01-14 09:11:38 -0800</date>
            <delta_ts>2013-02-01 04:51:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105851-20130114210838.patch</filename>
            <type>text/plain</type>
            <size>14195</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NjExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjQwNWI3OTYyYzJmY2Rl
Yjc3MjNkNGExYzBlNjEwOTBlMDUzYTE4My4uN2Q3Nzk2NmQ0ZGZlZmY0MTY3ZDhjY2NlYmVhY2Ez
YmMyODU4MTFjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTEyLTI5ICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogc2hvdyBkZWZlcnJlZCBwYWludHMgb24gVGltZWxpbmUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTg1MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0ga2VlcCBsYXllciBpZCB3aGVuIGRlZmVycmlu
ZyBhIHBhaW50OworICAgICAgICAtIGFkZCBsYXllciBpZCB0byBrbm93biBsYXllcnMgd2hlbiBh
Y3R1YWwgcGFpbnQgaGFwcGVuczsKKyAgICAgICAgLSByZWNvZ25pemUgZGVmZXJyZWQgcGFpbnRz
IG9mIGtub3duIGxheWVycyBhbmQgZW1pdCBEZWZlcnJlZFBhaW4gcmVjb3JkLgorCisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwOgorICAgICAgICAoVGltZWxp
bmVSZWNvcmRUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6
OndpbGxQYWludCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQu
aDoKKyAgICAgICAgKFRpbWVsaW5lUmVjb3JkVHlwZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6VGltZWxpbmVUcmFjZUV2
ZW50UHJvY2Vzc29yKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nl
c3Nvcjo6b25EZWZlclBhaW50QmVnaW4pOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJDb3JlOjpUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6Om9uRGVmZXJQYWludEVuZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6Om9uUGVyZm9ybURl
ZmVycmVkUGFpbnRCZWdpbik6CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVRyYWNlRXZlbnRQ
cm9jZXNzb3I6Om9uUGVyZm9ybURlZmVycmVkUGFpbnRFbmQpOgorICAgICAgICAoV2ViQ29yZTo6
VGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvblJlbGVhc2VMYXllcklkKToKKyAgICAgICAg
KFdlYkNvcmU6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6d2lsbFBhaW50KToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yLmg6CisgICAgICAgIChU
aW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3IpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvVGltZWxpbmVNb2RlbC5qczoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVs
aW5lUHJlc2VudGF0aW9uTW9kZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQ
cmVzZW50YXRpb25Nb2RlbC5faW5pdFJlY29yZFN0eWxlcyk6CisKIDIwMTItMTItMjggIEFuZHJl
eSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBwbHVtYiB0cmFjZSBldmVudHMgdG8gVGltZWxpbmUgYWdlbnQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKaW5kZXggODhk
YjU0YzM1NmY0MWNhYWYyMzIwOWU5YzI2MDNkYjQ1MGRlOWQyMC4uNGY3N2I3ZjA1M2VlOWY3Yjg1
OTMzY2FlOTM1MDgyNjNmMDc0MjllMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKQEAgLTc3LDYgKzc3LDEwIEBACiAj
aW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcu
aD4KIAorI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorI2luY2x1ZGUgInBsYXRmb3JtL2Nocm9taXVt
L1RyYWNlRXZlbnQuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBj
b25zdCBjaGFyKiBjb25zdCByZXF1ZXN0QW5pbWF0aW9uRnJhbWVFdmVudE5hbWUgPSAicmVxdWVz
dEFuaW1hdGlvbkZyYW1lIjsKQEAgLTUwMSw2ICs1MDUsOCBAQCB2b2lkIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hYSFJMb2FkRXZlbnRJbXBsKGNvbnN0IEluc3BlY3Rvcklu
c3RydQogCiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjp3aWxsUGFpbnRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdB
Z2VudHMsIEZyYW1lKiBmcmFtZSkKIHsKKyAgICBUUkFDRV9FVkVOVF9JTlNUQU5UMSgid2Via2l0
IiwgSW5zdHJ1bWVudGF0aW9uRXZlbnRzOjpQYWludCwgSW5zdHJ1bWVudGF0aW9uRXZlbnRBcmd1
bWVudHM6OlBhZ2VJZCwgZnJhbWUgPyByZWludGVycHJldF9jYXN0PHVuc2lnbmVkIGxvbmcgbG9u
Zz4oZnJhbWUtPnBhZ2UoKSkgOiAwKTsKKwogICAgIGludCB0aW1lbGluZUFnZW50SWQgPSAwOwog
ICAgIGlmIChJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50ID0gaW5zdHJ1bWVu
dGluZ0FnZW50cy0+aW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpKSB7CiAgICAgICAgIHRpbWVsaW5l
QWdlbnQtPndpbGxQYWludChmcmFtZSk7CkBAIC0xMzE2LDYgKzEzMjIsMTggQEAgdm9pZCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OnJlbmRlckxheWVyRGVzdHJveWVkSW1wbChJbnN0cnVtZW50
aW5nQWdlbnRzKiBpbnMKIH0KICNlbmRpZgogCituYW1lc3BhY2UgSW5zdHJ1bWVudGF0aW9uRXZl
bnRzIHsKK2NvbnN0IGNoYXIgRGVmZXJQYWludFtdID0gIkluc3RydW1lbnRhdGlvbjo6RGVmZXJQ
YWludCI7Citjb25zdCBjaGFyIFBlcmZvcm1EZWZlcnJlZFBhaW50W10gPSAiSW5zdHJ1bWVudGF0
aW9uOjpQZXJmb3JtRGVmZXJyZWRQYWludCI7Citjb25zdCBjaGFyIFBhaW50W10gPSAiSW5zdHJ1
bWVudGF0aW9uOjpQYWludCI7Citjb25zdCBjaGFyIFJlbGVhc2VMYXllcklkW10gPSAiSW5zdHJ1
bWVudGF0aW9uOjpSZWxlYXNlTGF5ZXJJZCI7Cit9OworCituYW1lc3BhY2UgSW5zdHJ1bWVudGF0
aW9uRXZlbnRBcmd1bWVudHMgeworY29uc3QgY2hhciBMYXllcklkW10gPSAibGF5ZXJJZCI7Citj
b25zdCBjaGFyIFBhZ2VJZFtdID0gInBhZ2VJZCI7Cit9OworCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKICNlbmRpZiAvLyAhRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCAyZWU2OTBlMjQy
OTkwNmI5YjI1ZTY0Yjg0ZjUzNjExMmFjYzlhZDAxLi5mZDhjMmUyYzUyOTQ5YTZhMTQ0Y2NjMzc0
ZjMwMzA1Y2Y5ODY2YmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC00NzMsNiArNDczLDE4IEBAIHByaXZhdGU6CiAj
ZW5kaWYKIH07CiAKK25hbWVzcGFjZSBJbnN0cnVtZW50YXRpb25FdmVudHMgeworZXh0ZXJuIGNv
bnN0IGNoYXIgRGVmZXJQYWludFtdOworZXh0ZXJuIGNvbnN0IGNoYXIgUGVyZm9ybURlZmVycmVk
UGFpbnRbXTsKK2V4dGVybiBjb25zdCBjaGFyIFBhaW50W107CitleHRlcm4gY29uc3QgY2hhciBS
ZWxlYXNlTGF5ZXJJZFtdOworfTsKKworbmFtZXNwYWNlIEluc3RydW1lbnRhdGlvbkV2ZW50QXJn
dW1lbnRzIHsKK2V4dGVybiBjb25zdCBjaGFyIExheWVySWRbXTsKK2V4dGVybiBjb25zdCBjaGFy
IFBhZ2VJZFtdOworfTsKKwogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpk
aWRDbGVhcldpbmRvd09iamVjdEluV29ybGQoRnJhbWUqIGZyYW1lLCBET01XcmFwcGVyV29ybGQq
IHdvcmxkKQogewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKaW5kZXggZmI5ZTk0Y2M1MWNm
NTEzYjJhYzczOTk1ZTM3YmM0MGI5NzVmY2ViMy4uNTgwZTU2MWMzZTUwNjE5MmZmY2UyMDdmMzMy
OTY1NmJmZTQzMTQzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclRpbWVsaW5lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JUaW1lbGluZUFnZW50LmNwcApAQCAtMTA5LDYgKzEwOSw5IEBAIHN0YXRpYyBjb25zdCBj
aGFyIEdDRXZlbnRbXSA9ICJHQ0V2ZW50IjsKIHN0YXRpYyBjb25zdCBjaGFyIFJlcXVlc3RBbmlt
YXRpb25GcmFtZVtdID0gIlJlcXVlc3RBbmltYXRpb25GcmFtZSI7CiBzdGF0aWMgY29uc3QgY2hh
ciBDYW5jZWxBbmltYXRpb25GcmFtZVtdID0gIkNhbmNlbEFuaW1hdGlvbkZyYW1lIjsKIHN0YXRp
YyBjb25zdCBjaGFyIEZpcmVBbmltYXRpb25GcmFtZVtdID0gIkZpcmVBbmltYXRpb25GcmFtZSI7
CisKKy8vIEV2ZW50IG5hbWVzIHZpc2libGUgdG8gb3RoZXIgbW9kdWxlcy4KK2NvbnN0IGNoYXIg
RGVmZXJyZWRQYWludFtdID0gIkRlZmVycmVkUGFpbnQiOwogfQogCiB2b2lkIEluc3BlY3RvclRp
bWVsaW5lQWdlbnQ6OnB1c2hHQ0V2ZW50UmVjb3JkcygpCkBAIC0xNzIsNyArMTc1LDcgQEAgdm9p
ZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpzdGFydChFcnJvclN0cmluZyosIGNvbnN0IGludCog
bWF4Q2FsbFN0YWNrRGVwdGgpCiAgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0
b3JUaW1lbGluZUFnZW50KHRoaXMpOwogICAgIFNjcmlwdEdDRXZlbnQ6OmFkZEV2ZW50TGlzdGVu
ZXIodGhpcyk7CiAgICAgbV9zdGF0ZS0+c2V0Qm9vbGVhbihUaW1lbGluZUFnZW50U3RhdGU6OnRp
bWVsaW5lQWdlbnRFbmFibGVkLCB0cnVlKTsKLSAgICBpZiAobV9jbGllbnQpCisgICAgaWYgKG1f
Y2xpZW50ICYmIG1fcGFnZUFnZW50KQogICAgICAgICBtX3RyYWNlRXZlbnRQcm9jZXNzb3IgPSBh
ZG9wdFB0cihuZXcgVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yKHRoaXMsIG1fY2xpZW50KSk7
CiB9CiAKQEAgLTYyOCw2ICs2MzEsMTEgQEAgZG91YmxlIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6
OnRpbWVzdGFtcEZyb21NaWNyb3NlY29uZHMoZG91YmxlIG1pY3Jvc2Vjb25kcykKICAgICByZXR1
cm4gKG1pY3Jvc2Vjb25kcyArIG1fdGltZXN0YW1wT2Zmc2V0KSAqIDEwMDAuMDsKIH0KIAorUGFn
ZSogSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6cGFnZSgpCit7CisgICAgcmV0dXJuIG1fcGFnZUFn
ZW50ID8gbV9wYWdlQWdlbnQtPnBhZ2UoKSA6IDA7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAogI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAppbmRleCBiM2JkMDA4MGY4ZWNjZmYz
OWMwNmVkZGE2NzcwNWM5ZDI3MjhhMDVmLi4wZjc5ZDE5YzdmNGRhOGUzMzBmODMxMzhkZjZjMTBj
Y2U1MWEwNjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
VGltZWxpbmVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JU
aW1lbGluZUFnZW50LmgKQEAgLTUyLDYgKzUyLDcgQEAgY2xhc3MgSW5zcGVjdG9yUGFnZUFnZW50
OwogY2xhc3MgSW5zcGVjdG9yU3RhdGU7CiBjbGFzcyBJbnN0cnVtZW50aW5nQWdlbnRzOwogY2xh
c3MgSW50UmVjdDsKK2NsYXNzIFBhZ2U7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiBjbGFzcyBSZXNv
dXJjZVJlcXVlc3Q7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwpAQCAtNTksNiArNjAsMTAgQEAg
Y2xhc3MgVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOwogCiB0eXBlZGVmIFN0cmluZyBFcnJv
clN0cmluZzsKIAorbmFtZXNwYWNlIFRpbWVsaW5lUmVjb3JkVHlwZSB7CitleHRlcm4gY29uc3Qg
Y2hhciBEZWZlcnJlZFBhaW50W107Cit9OworCiBjbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50
CiAgICAgOiBwdWJsaWMgSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3RvclRpbWVsaW5lQWdlbnQ+
LAogICAgICAgcHVibGljIFNjcmlwdEdDRXZlbnRMaXN0ZW5lciwKQEAgLTE5OCw2ICsyMDMsNyBA
QCBwcml2YXRlOgogCiAgICAgZG91YmxlIHRpbWVzdGFtcCgpOwogICAgIGRvdWJsZSB0aW1lc3Rh
bXBGcm9tTWljcm9zZWNvbmRzKGRvdWJsZSBtaWNyb3NlY29uZHMpOworICAgIFBhZ2UqIHBhZ2Uo
KTsKIAogICAgIEluc3BlY3RvclBhZ2VBZ2VudCogbV9wYWdlQWdlbnQ7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3IuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvci5j
cHAKaW5kZXggMzc5ZTVjNzQ4ZDM0MmQzYTgwZTA4MjMxODFjNDI0MTZlYmMyYTI2ZS4uZTI1MTE3
ODI5MTdlMWU3OTM4ZTUxMGE5YzU1ZmMwODFjZWJjYjk2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvci5jcHAKQEAg
LTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3IuaCIK
IAogI2luY2x1ZGUgIkluc3BlY3RvckNsaWVudC5oIgorI2luY2x1ZGUgIkluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkluc3BlY3RvclRpbWVsaW5lQWdlbnQuaCIKIAogI2lu
Y2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CkBAIC0xNzYsNyArMTc3LDE3IEBAIHByaXZhdGU6CiBU
aW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3NvcihJ
bnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50LCBJbnNwZWN0b3JDbGllbnQgKmNs
aWVudCkKICAgICA6IG1fdGltZWxpbmVBZ2VudCh0aW1lbGluZUFnZW50KQogICAgICwgbV9pbnNw
ZWN0b3JDbGllbnQoY2xpZW50KQorICAgICwgbV9kZWZlcnJlZFBhaW50TGF5ZXJJZCgwKQorICAg
ICwgbV9wYWdlSWQocmVpbnRlcnByZXRfY2FzdDx1bnNpZ25lZCBsb25nIGxvbmc+KG1fdGltZWxp
bmVBZ2VudC0+cGFnZSgpKSkKKyAgICAsIG1faW5VbnJlbGF0ZWREZWZlcnJlZFBhaW50KGZhbHNl
KQogeworICAgIG1faGFuZGxlcnNCeVR5cGUuc2V0KEluc3RydW1lbnRhdGlvbkV2ZW50czo6RGVm
ZXJQYWludCwKKyAgICAgICAgRXZlbnRUeXBlRW50cnkoJlRpbWVsaW5lVHJhY2VFdmVudFByb2Nl
c3Nvcjo6b25EZWZlclBhaW50QmVnaW4sICZUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6Om9u
RGVmZXJQYWludEVuZCkpOworICAgIG1faGFuZGxlcnNCeVR5cGUuc2V0KEluc3RydW1lbnRhdGlv
bkV2ZW50czo6UGVyZm9ybURlZmVycmVkUGFpbnQsCisgICAgICAgIEV2ZW50VHlwZUVudHJ5KCZU
aW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6Om9uUGVyZm9ybURlZmVycmVkUGFpbnRCZWdpbiwg
JlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25QZXJmb3JtRGVmZXJyZWRQYWludEVuZCkp
OworICAgIG1faGFuZGxlcnNCeVR5cGUuc2V0KEluc3RydW1lbnRhdGlvbkV2ZW50czo6UmVsZWFz
ZUxheWVySWQsIEV2ZW50VHlwZUVudHJ5KCZUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6Om9u
UmVsZWFzZUxheWVySWQpKTsKKyAgICBtX2hhbmRsZXJzQnlUeXBlLnNldChJbnN0cnVtZW50YXRp
b25FdmVudHM6OlBhaW50LCBFdmVudFR5cGVFbnRyeSgmVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vz
c29yOjpvblBhaW50KSk7CisgICAgCiAgICAgVHJhY2VFdmVudERpc3BhdGNoZXI6Omluc3RhbmNl
KCktPmFkZFByb2Nlc3Nvcih0aGlzLCBtX2luc3BlY3RvckNsaWVudCk7CiB9CiAKQEAgLTIxNCw2
ICsyMjUsNTIgQEAgdm9pZCBUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6OnByb2Nlc3NFdmVu
dChUcmFjZUV2ZW50UGhhc2UgcGhhc2UsIGNvbnN0IGNoYXIKICAgICAodGhpcy0+KmhhbmRsZXIp
KG5hbWUsIHBoYXNlLCBhcmd1bWVudHMpOwogfQogCit2b2lkIFRpbWVsaW5lVHJhY2VFdmVudFBy
b2Nlc3Nvcjo6b25EZWZlclBhaW50QmVnaW4oY29uc3QgY2hhciosIFRyYWNlRXZlbnRQaGFzZSBw
aGFzZSwgY29uc3QgVHJhY2VFdmVudEFyZ3VtZW50cyYgYXJndW1lbnRzKQoreworICAgIG1fZGVm
ZXJyZWRQYWludExheWVySWQgPSBhcmd1bWVudHMuYXNVSW50KEluc3RydW1lbnRhdGlvbkV2ZW50
QXJndW1lbnRzOjpMYXllcklkKTsKKyAgICBBU1NFUlQobV9kZWZlcnJlZFBhaW50TGF5ZXJJZCk7
Cit9CisKK3ZvaWQgVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvbkRlZmVyUGFpbnRFbmQo
Y29uc3QgY2hhciosIFRyYWNlRXZlbnRQaGFzZSBwaGFzZSwgY29uc3QgVHJhY2VFdmVudEFyZ3Vt
ZW50cyYgYXJndW1lbnRzKQoreworICAgIG1fZGVmZXJyZWRQYWludExheWVySWQgPSAwOworfQor
Cit2b2lkIFRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25QZXJmb3JtRGVmZXJyZWRQYWlu
dEJlZ2luKGNvbnN0IGNoYXIqIG5hbWUsIFRyYWNlRXZlbnRQaGFzZSBwaGFzZSwgY29uc3QgVHJh
Y2VFdmVudEFyZ3VtZW50cyYgYXJndW1lbnRzKQoreworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBs
YXllcklkID0gYXJndW1lbnRzLmFzVUludChJbnN0cnVtZW50YXRpb25FdmVudEFyZ3VtZW50czo6
TGF5ZXJJZCk7CisgICAgQVNTRVJUKGxheWVySWQpOworICAgIGlmIChtX2tub3duTGF5ZXJzLmNv
bnRhaW5zKGxheWVySWQpKQorICAgICAgICBtX3RpbWVsaW5lQWdlbnQtPnB1c2hDdXJyZW50UmVj
b3JkKEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCksIFRpbWVsaW5lUmVjb3JkVHlwZTo6RGVmZXJy
ZWRQYWludCwgZmFsc2UsIDAsIHRydWUpOworICAgIGVsc2UKKyAgICAgICAgbV9pblVucmVsYXRl
ZERlZmVycmVkUGFpbnQgPSB0cnVlOworfQorCit2b2lkIFRpbWVsaW5lVHJhY2VFdmVudFByb2Nl
c3Nvcjo6b25QZXJmb3JtRGVmZXJyZWRQYWludEVuZChjb25zdCBjaGFyKiBuYW1lLCBUcmFjZUV2
ZW50UGhhc2UgcGhhc2UsIGNvbnN0IFRyYWNlRXZlbnRBcmd1bWVudHMmIGFyZ3VtZW50cykKK3sK
KyAgICBpZiAobV9pblVucmVsYXRlZERlZmVycmVkUGFpbnQpCisgICAgICAgIG1faW5VbnJlbGF0
ZWREZWZlcnJlZFBhaW50ID0gZmFsc2U7CisgICAgZWxzZQorICAgICAgICBtX3RpbWVsaW5lQWdl
bnQtPmRpZENvbXBsZXRlQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29yZFR5cGU6OkRlZmVycmVk
UGFpbnQpOworfQorCit2b2lkIFRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25SZWxlYXNl
TGF5ZXJJZChjb25zdCBjaGFyKiwgVHJhY2VFdmVudFBoYXNlLCBjb25zdCBUcmFjZUV2ZW50QXJn
dW1lbnRzJiBhcmd1bWVudHMpCit7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIGlkID0gYXJndW1l
bnRzLmFzVUludChJbnN0cnVtZW50YXRpb25FdmVudEFyZ3VtZW50czo6TGF5ZXJJZCk7CisgICAg
QVNTRVJUKGlkKTsKKyAgICBtX2tub3duTGF5ZXJzLnJlbW92ZShpZCk7Cit9CisKK3ZvaWQgVGlt
ZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvblBhaW50KGNvbnN0IGNoYXIqLCBUcmFjZUV2ZW50
UGhhc2UsIGNvbnN0IFRyYWNlRXZlbnRBcmd1bWVudHMmIGFyZ3VtZW50cykKK3sKKyAgICBpZiAo
IW1fZGVmZXJyZWRQYWludExheWVySWQpCisgICAgICAgIHJldHVybjsKKworICAgIHVuc2lnbmVk
IGxvbmcgbG9uZyBwYWdlSWQgPSBhcmd1bWVudHMuYXNVSW50KEluc3RydW1lbnRhdGlvbkV2ZW50
QXJndW1lbnRzOjpQYWdlSWQpOworICAgIGlmIChwYWdlSWQgPT0gbV9wYWdlSWQpCisgICAgICAg
IG1fa25vd25MYXllcnMuYWRkKG1fZGVmZXJyZWRQYWludExheWVySWQpOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvci5o
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvci5o
CmluZGV4IDhiYWI1MWM3NGY2MTdhZjBkMTVkNTgxODM4MjY4NWFkYWVmN2E3NWQuLjFiYWZjNTM0
NDQ2ZjQwZDBmZWRmYjNiNDhjNDRiNzM2NTYwYTgxN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9UaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3IuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yLmgKQEAgLTM0LDYg
KzM0LDcgQEAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KKyNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC00MSw2ICs0Miw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSW5zcGVjdG9yQ2xpZW50OwogY2xhc3MgSW5zcGVj
dG9yVGltZWxpbmVBZ2VudDsKK2NsYXNzIFBhZ2U7CiBjbGFzcyBUcmFjZUV2ZW50QXJndW1lbnRz
OwogCiBjbGFzcyBUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3IgewpAQCAtODcsMTAgKzg5LDIx
IEBAIHByaXZhdGU6CiAgICAgICAgIFRyYWNlRXZlbnRIYW5kbGVyIG1faW5zdGFudDsKICAgICB9
OwogCisgICAgdm9pZCBvbkRlZmVyUGFpbnRCZWdpbihjb25zdCBjaGFyKiBuYW1lLCBUcmFjZUV2
ZW50UGhhc2UsIGNvbnN0IFRyYWNlRXZlbnRBcmd1bWVudHMmKTsKKyAgICB2b2lkIG9uRGVmZXJQ
YWludEVuZChjb25zdCBjaGFyKiBuYW1lLCBUcmFjZUV2ZW50UGhhc2UsIGNvbnN0IFRyYWNlRXZl
bnRBcmd1bWVudHMmKTsKKyAgICB2b2lkIG9uUGVyZm9ybURlZmVycmVkUGFpbnRCZWdpbihjb25z
dCBjaGFyKiBuYW1lLCBUcmFjZUV2ZW50UGhhc2UsIGNvbnN0IFRyYWNlRXZlbnRBcmd1bWVudHMm
KTsKKyAgICB2b2lkIG9uUGVyZm9ybURlZmVycmVkUGFpbnRFbmQoY29uc3QgY2hhciogbmFtZSwg
VHJhY2VFdmVudFBoYXNlLCBjb25zdCBUcmFjZUV2ZW50QXJndW1lbnRzJik7CisgICAgdm9pZCBv
blJlbGVhc2VMYXllcklkKGNvbnN0IGNoYXIqIG5hbWUsIFRyYWNlRXZlbnRQaGFzZSwgY29uc3Qg
VHJhY2VFdmVudEFyZ3VtZW50cyYpOworICAgIHZvaWQgb25QYWludChjb25zdCBjaGFyKiBuYW1l
LCBUcmFjZUV2ZW50UGhhc2UsIGNvbnN0IFRyYWNlRXZlbnRBcmd1bWVudHMmKTsKKwogICAgIElu
c3BlY3RvclRpbWVsaW5lQWdlbnQqIG1fdGltZWxpbmVBZ2VudDsKICAgICBJbnNwZWN0b3JDbGll
bnQqIG1faW5zcGVjdG9yQ2xpZW50OwogCiAgICAgSGFzaE1hcDxTdHJpbmcsIEV2ZW50VHlwZUVu
dHJ5PiBtX2hhbmRsZXJzQnlUeXBlOworICAgIEhhc2hTZXQ8dW5zaWduZWQgbG9uZyBsb25nPiBt
X2tub3duTGF5ZXJzOworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBtX2RlZmVycmVkUGFpbnRMYXll
cklkOworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBtX3BhZ2VJZDsKKyAgICBib29sIG1faW5VbnJl
bGF0ZWREZWZlcnJlZFBhaW50OwogfTsKIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lTW9kZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lTW9kZWwuanMKaW5kZXggZDcyOWM1Y2VjZTU4MzBhZGE4
YWZlZDE2YjJlZDFiMTdiMGFkYmFmZC4uZTczOTYzMTBkYzIyOTVhNzBkMmQ5MjUyZjZmMjZlNzI2
NmZiMWMzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9U
aW1lbGluZU1vZGVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
VGltZWxpbmVNb2RlbC5qcwpAQCAtNTYsNiArNTYsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVN
b2RlbC5SZWNvcmRUeXBlID0gewogICAgIEludmFsaWRhdGVMYXlvdXQ6ICJJbnZhbGlkYXRlTGF5
b3V0IiwKICAgICBMYXlvdXQ6ICJMYXlvdXQiLAogICAgIFBhaW50OiAiUGFpbnQiLAorICAgIERl
ZmVycmVkUGFpbnQ6ICJEZWZlcnJlZFBhaW50IiwKICAgICBTY3JvbGxMYXllcjogIlNjcm9sbExh
eWVyIiwKICAgICBEZWNvZGVJbWFnZTogIkRlY29kZUltYWdlIiwKICAgICBSZXNpemVJbWFnZTog
IlJlc2l6ZUltYWdlIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5qcwppbmRleCBjMTAyODA1
M2VlOThmNGQ5YjBhOTRhNGQzYzMxMjAxNTExMGY3OTA5Li40NjgzMjM2NDUxZDQ0NzMzNWI4ZDI2
YTNkNjg5MzIzYzVmOTg4MDJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1RpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmpzCkBAIC03
Niw2ICs3Niw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLl9pbml0
UmVjb3JkU3R5bGVzID0gZnVuY3Rpb24oKQogICAgIHJlY29yZFN0eWxlc1tyZWNvcmRUeXBlcy5J
bnZhbGlkYXRlTGF5b3V0XSA9IHsgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiSW52YWxp
ZGF0ZSBMYXlvdXQiKSwgY2F0ZWdvcnk6IGNhdGVnb3JpZXNbInJlbmRlcmluZyJdIH07CiAgICAg
cmVjb3JkU3R5bGVzW3JlY29yZFR5cGVzLkxheW91dF0gPSB7IHRpdGxlOiBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIkxheW91dCIpLCBjYXRlZ29yeTogY2F0ZWdvcmllc1sicmVuZGVyaW5nIl0gfTsK
ICAgICByZWNvcmRTdHlsZXNbcmVjb3JkVHlwZXMuUGFpbnRdID0geyB0aXRsZTogV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJQYWludCIpLCBjYXRlZ29yeTogY2F0ZWdvcmllc1sicGFpbnRpbmciXSB9
OworICAgIHJlY29yZFN0eWxlc1tyZWNvcmRUeXBlcy5EZWZlcnJlZFBhaW50XSA9IHsgdGl0bGU6
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRGVmZXJyZWRQYWludCIpLCBjYXRlZ29yeTogY2F0ZWdv
cmllc1sicGFpbnRpbmciXSB9OwogICAgIHJlY29yZFN0eWxlc1tyZWNvcmRUeXBlcy5TY3JvbGxM
YXllcl0gPSB7IHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNjcm9sbCIpLCBjYXRlZ29y
eTogY2F0ZWdvcmllc1sicGFpbnRpbmciXSB9OwogICAgIHJlY29yZFN0eWxlc1tyZWNvcmRUeXBl
cy5EZWNvZGVJbWFnZV0gPSB7IHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkltYWdlIERl
Y29kZSIpLCBjYXRlZ29yeTogY2F0ZWdvcmllc1sicGFpbnRpbmciXSB9OwogICAgIHJlY29yZFN0
eWxlc1tyZWNvcmRUeXBlcy5SZXNpemVJbWFnZV0gPSB7IHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIkltYWdlIFJlc2l6ZSIpLCBjYXRlZ29yeTogY2F0ZWdvcmllc1sicGFpbnRpbmciXSB9
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186012</attachid>
            <date>2013-02-01 04:51:23 -0800</date>
            <delta_ts>2013-02-05 06:29:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105851-20130201164805.patch</filename>
            <type>text/plain</type>
            <size>17988</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzBmNDRjMDRmMTFjYzQx
ZTRiOWQ1YmExN2VlZGE1N2I3MDhlNGY4NC4uYzdlZTE2YTRmNTg2OWNmMzIzM2ZmMWZmMWI1MmZl
MGUwNDIwNmIwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU0IEBACiAyMDEzLTAyLTAxICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogc2hvdyBkZWZlcnJlZCByYXN0ZXJpemF0aW9uIG9uIFRpbWVsaW5lCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU4NTEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIGFkZCBEZWZlclBhaW50LCBQYWlu
dCAmIFJhc3Rlcml6ZSB0cmFjZSBldmVudHMgaGFuZGxpbmcgdG8gdHJhY2UgZXZlbnQgcHJvY2Vz
c29yOworICAgICAgICAtIHB1b24gYmVnaW4gZnJhbWUsIGVtaXQgYWdncmVnYXRlZCBiYWNrZ3Jv
dW5kIGV2ZW50IGZvciBhbGwgcmFzdGVyaXplIGV2ZW50cyByZWxhdGVkIHRvIGluc3BlY3RlZCBw
YWdlLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkQmVnaW5GcmFtZUltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjp3aWxsUGFpbnRJbXBsKToKKyAgICAgICAgKEluc3RydW1lbnRhdGlv
bkV2ZW50cyk6CisgICAgICAgIChJbnN0cnVtZW50YXRpb25FdmVudEFyZ3VtZW50cyk6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uKToKKyAgICAgICAgKEluc3RydW1lbnRhdGlvbkV2ZW50cyk6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEluc3RydW1lbnRhdGlvbkV2ZW50QXJndW1l
bnRzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQmVn
aW5GcmFtZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3Bw
OgorICAgICAgICAoVGltZWxpbmVSZWNvcmRUeXBlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yVGltZWxpbmVBZ2VudC5oOgorICAgICAgICAoVGltZWxpbmVSZWNvcmRUeXBlKToKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGluc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3Rv
cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVS
YXN0ZXJEYXRhKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGluc3BlY3Rvci9UaW1l
bGluZVJlY29yZEZhY3RvcnkuaDoKKyAgICAgICAgKFRpbWVsaW5lUmVjb3JkRmFjdG9yeSk6Cisg
ICAgICAgICogaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6OlRpbWVsaW5lVHJhY2VF
dmVudFByb2Nlc3Nvcik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlRp
bWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25CZWdpbkZyYW1lKToKKyAgICAgICAgKFdlYkNv
cmU6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25EZWZlclBhaW50QmVnaW4pOgorICAg
ICAgICAoV2ViQ29yZTo6VGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvbkRlZmVyUGFpbnRF
bmQpOgorICAgICAgICAoV2ViQ29yZTo6VGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvblJh
c3Rlcml6ZUJlZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nl
c3Nvcjo6b25SYXN0ZXJpemVFbmQpOgorICAgICAgICAoV2ViQ29yZTo6VGltZWxpbmVUcmFjZUV2
ZW50UHJvY2Vzc29yOjpvblJlbGVhc2VSYXN0ZXJpemVySWQpOgorICAgICAgICAoV2ViQ29yZTo6
VGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvblBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6
OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6Zmx1c2hSYXN0ZXJpemVyU3RhdGlzdGljcyk6
CisgICAgICAgICogaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvci5oOgorICAg
ICAgICAoVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL1RpbWVsaW5lTW9kZWwuanM6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRp
bWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuX2luaXRSZWNvcmRTdHlsZXMpOgorCisyMDEzLTAyLTAx
ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgV2ViIElu
c3BlY3RvcjogcGx1bWIgdHJhY2UgZXZlbnRzIHRvIFRpbWVsaW5lIGFnZW50CiAgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU3OTYKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApp
bmRleCBhMWY1MDFkMjQwNTU4YjhjZWI4Y2IwZGVmMTAwNmRhYjVjYzA4OWQ1Li41YzQ1YTFkNThm
MzFjYThjZjQ4ZDMyZmE4ZjYxNmRmYjc4MGUyNDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApAQCAtNzcsNiArNzcs
MTAgQEAKICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
Q1N0cmluZy5oPgogCisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisjaW5jbHVkZSAicGxhdGZvcm0v
Y2hyb21pdW0vVHJhY2VFdmVudC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
c3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHJlcXVlc3RBbmltYXRpb25GcmFtZUV2ZW50TmFtZSA9
ICJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiOwpAQCAtNDczLDggKzQ3NywxMSBAQCB2b2lkIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmlyZVRpbWVySW1wbChjb25zdCBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb25DbwogICAgICAgICB0aW1lbGluZUFnZW50LT5kaWRGaXJlVGltZXIoKTsKIH0K
IAotdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEJlZ2luRnJhbWVJbXBsKEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMpCit2b2lkIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6ZGlkQmVnaW5GcmFtZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1
bWVudGluZ0FnZW50cywgUGFnZSogcGFnZSkKIHsKKyNpZiBQTEFURk9STShDSFJPTUlVTSkKKyAg
ICBUUkFDRV9FVkVOVF9JTlNUQU5UMSgid2Via2l0IiwgSW5zdHJ1bWVudGF0aW9uRXZlbnRzOjpC
ZWdpbkZyYW1lLCBJbnN0cnVtZW50YXRpb25FdmVudEFyZ3VtZW50czo6UGFnZUlkLCByZWludGVy
cHJldF9jYXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4ocGFnZSkpOworI2VuZGlmCiAgICAgaWYgKElu
c3BlY3RvclRpbWVsaW5lQWdlbnQqIHRpbWVsaW5lQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRz
LT5pbnNwZWN0b3JUaW1lbGluZUFnZW50KCkpCiAgICAgICAgIHRpbWVsaW5lQWdlbnQtPmRpZEJl
Z2luRnJhbWUoKTsKIH0KQEAgLTUyOSw2ICs1MzYsMTAgQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmRpZERpc3BhdGNoWEhSTG9hZEV2ZW50SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0
cnUKIAogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6d2lsbFBhaW50SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdl
bnRzLCBGcmFtZSogZnJhbWUpCiB7CisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisgICAgVFJBQ0Vf
RVZFTlRfSU5TVEFOVDEoIndlYmtpdCIsIEluc3RydW1lbnRhdGlvbkV2ZW50czo6UGFpbnQsIElu
c3RydW1lbnRhdGlvbkV2ZW50QXJndW1lbnRzOjpQYWdlSWQsIGZyYW1lID8gcmVpbnRlcnByZXRf
Y2FzdDx1bnNpZ25lZCBsb25nIGxvbmc+KGZyYW1lLT5wYWdlKCkpIDogMCk7CisjZW5kaWYKKwog
ICAgIGludCB0aW1lbGluZUFnZW50SWQgPSAwOwogICAgIGlmIChJbnNwZWN0b3JUaW1lbGluZUFn
ZW50KiB0aW1lbGluZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yVGltZWxp
bmVBZ2VudCgpKSB7CiAgICAgICAgIHRpbWVsaW5lQWdlbnQtPndpbGxQYWludChmcmFtZSk7CkBA
IC0xMzc5LDYgKzEzOTAsMTkgQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnJlbmRl
ckxheWVyRGVzdHJveWVkSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnMKIH0KICNlbmRpZgog
CituYW1lc3BhY2UgSW5zdHJ1bWVudGF0aW9uRXZlbnRzIHsKK2NvbnN0IGNoYXIgRGVmZXJQYWlu
dFtdID0gIkluc3RydW1lbnRhdGlvbjo6RGVmZXJQYWludCI7Citjb25zdCBjaGFyIFJhc3Rlcml6
ZVtdID0gIkluc3RydW1lbnRhdGlvbjo6UmFzdGVyIjsKK2NvbnN0IGNoYXIgUGFpbnRbXSA9ICJJ
bnN0cnVtZW50YXRpb246OlBhaW50IjsKK2NvbnN0IGNoYXIgUmVsZWFzZVJhc3Rlcml6ZXJJZFtd
ID0gIkluc3RydW1lbnRhdGlvbjo6UmVsZWFzZVJhc3Rlcml6ZXJJZCI7Citjb25zdCBjaGFyIEJl
Z2luRnJhbWVbXSA9ICJJbnN0cnVtZW50YXRpb246OkJlZ2luRnJhbWUiOworfTsKKworbmFtZXNw
YWNlIEluc3RydW1lbnRhdGlvbkV2ZW50QXJndW1lbnRzIHsKK2NvbnN0IGNoYXIgUmFzdGVyaXpl
cklkW10gPSAicmFzdGVyaXplcklkIjsKK2NvbnN0IGNoYXIgUGFnZUlkW10gPSAicGFnZUlkIjsK
K307CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vICFFTkFCTEUoSU5TUEVD
VE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5oCmluZGV4IDFmYThkZmIzYTA2ZDBjMTZjNmE1MzhmOWUyNTIwMDY1NDNjZDNkMmEu
LjdkNTdjODBlZTNlMGI5MWY3MmI2YmM0MWQ5ODc4MjQxZmI0Nzg3ZWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTM1
OCw3ICszNTgsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGRpZENyZWF0ZUlzb2xhdGVk
Q29udGV4dEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIEZyYW1lKiwgU2NyaXB0U3RhdGUqLCBT
ZWN1cml0eU9yaWdpbiopOwogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29r
aWUgd2lsbEZpcmVUaW1lckltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIGludCB0aW1lcklkLCBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CiAgICAgc3RhdGljIHZvaWQgZGlkRmlyZVRpbWVySW1w
bChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmKTsKLSAgICBzdGF0aWMgdm9p
ZCBkaWRCZWdpbkZyYW1lSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKik7CisgICAgc3RhdGljIHZv
aWQgZGlkQmVnaW5GcmFtZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIFBhZ2UqKTsKICAgICBz
dGF0aWMgdm9pZCBkaWRDYW5jZWxGcmFtZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyopOwogICAg
IHN0YXRpYyB2b2lkIGRpZEludmFsaWRhdGVMYXlvdXRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMq
LCBGcmFtZSopOwogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2ls
bExheW91dEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIEZyYW1lKik7CkBAIC01MDUsNiArNTA1
LDE5IEBAIHByaXZhdGU6CiAjZW5kaWYKIH07CiAKK25hbWVzcGFjZSBJbnN0cnVtZW50YXRpb25F
dmVudHMgeworZXh0ZXJuIGNvbnN0IGNoYXIgRGVmZXJQYWludFtdOworZXh0ZXJuIGNvbnN0IGNo
YXIgUmFzdGVyaXplW107CitleHRlcm4gY29uc3QgY2hhciBQYWludFtdOworZXh0ZXJuIGNvbnN0
IGNoYXIgUmVsZWFzZVJhc3Rlcml6ZXJJZFtdOworZXh0ZXJuIGNvbnN0IGNoYXIgQmVnaW5GcmFt
ZVtdOworfTsKKworbmFtZXNwYWNlIEluc3RydW1lbnRhdGlvbkV2ZW50QXJndW1lbnRzIHsKK2V4
dGVybiBjb25zdCBjaGFyIFJhc3Rlcml6ZXJJZFtdOworZXh0ZXJuIGNvbnN0IGNoYXIgUGFnZUlk
W107Cit9OworCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENsZWFy
V2luZG93T2JqZWN0SW5Xb3JsZChGcmFtZSogZnJhbWUsIERPTVdyYXBwZXJXb3JsZCogd29ybGQp
CiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKQEAgLTEwMDcsNyArMTAyMCw3IEBAIGlubGluZSB2
b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQmVnaW5GcmFtZShQYWdlKiBwYWdlKQog
I2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZv
aWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMg
PSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKLSAgICAgICAgZGlkQmVnaW5GcmFt
ZUltcGwoaW5zdHJ1bWVudGluZ0FnZW50cyk7CisgICAgICAgIGRpZEJlZ2luRnJhbWVJbXBsKGlu
c3RydW1lbnRpbmdBZ2VudHMsIHBhZ2UpOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0ocGFnZSk7
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JU
aW1lbGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50LmNwcAppbmRleCA3MzViYTQxNGJkZTk2MjNjNTY0YTRiN2E4OGFiZTY1ZWViNjY0
NjdhLi41ZDYwODA1MTM5NzEwY2Y5NzJlMTEzMDcyZGEwMjVhNjRmODU3YzZmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCkBA
IC0xMDksNiArMTA5LDkgQEAgc3RhdGljIGNvbnN0IGNoYXIgR0NFdmVudFtdID0gIkdDRXZlbnQi
Owogc3RhdGljIGNvbnN0IGNoYXIgUmVxdWVzdEFuaW1hdGlvbkZyYW1lW10gPSAiUmVxdWVzdEFu
aW1hdGlvbkZyYW1lIjsKIHN0YXRpYyBjb25zdCBjaGFyIENhbmNlbEFuaW1hdGlvbkZyYW1lW10g
PSAiQ2FuY2VsQW5pbWF0aW9uRnJhbWUiOwogc3RhdGljIGNvbnN0IGNoYXIgRmlyZUFuaW1hdGlv
bkZyYW1lW10gPSAiRmlyZUFuaW1hdGlvbkZyYW1lIjsKKworLy8gRXZlbnQgbmFtZXMgdmlzaWJs
ZSB0byBvdGhlciBtb2R1bGVzLgorY29uc3QgY2hhciBSYXN0ZXJpemVbXSA9ICJSYXN0ZXJpemUi
OwogfQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnB1c2hHQ0V2ZW50UmVjb3Jkcygp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQu
aAppbmRleCBhYjlkNWExZTRhMTRmYmI3ODZlZmY4NmFkNmQ4MDA5YmMxNjYzMzkyLi5iNDg1Yzlk
Njk1NzE2MTExNzFlMjEyZWQ5YzVlOTIzYTAyYTQ3NzUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKQEAgLTYxLDYgKzYxLDEwIEBA
IGNsYXNzIFRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3NvcjsKIAogdHlwZWRlZiBTdHJpbmcgRXJy
b3JTdHJpbmc7CiAKK25hbWVzcGFjZSBUaW1lbGluZVJlY29yZFR5cGUgeworZXh0ZXJuIGNvbnN0
IGNoYXIgUmFzdGVyaXplW107Cit9OworCiBjbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50CiAg
ICAgOiBwdWJsaWMgSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3RvclRpbWVsaW5lQWdlbnQ+LAog
ICAgICAgcHVibGljIFNjcmlwdEdDRXZlbnRMaXN0ZW5lciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAKaW5kZXggOGRlZTUzMDBkZjc1
NGFjMDYxMjBmMjliNjA1ZDgxYzM4YzkwODFiZC4uNjRiYWQ4MTFlMjlhMWNkYWRmMmQ0NGJjMTY3
MTcyZDllZmUwNzAzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVs
aW5lUmVjb3JkRmFjdG9yeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVs
aW5lUmVjb3JkRmFjdG9yeS5jcHAKQEAgLTIwNyw2ICsyMDcsMTQgQEAgdm9pZCBUaW1lbGluZVJl
Y29yZEZhY3Rvcnk6OmFkZFJlY3REYXRhKEluc3BlY3Rvck9iamVjdCogZGF0YSwgY29uc3QgTGF5
b3V0UmVjdCYKICAgICBkYXRhLT5zZXROdW1iZXIoImhlaWdodCIsIHJlY3QuaGVpZ2h0KCkpOwog
fQogCitQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gVGltZWxpbmVSZWNvcmRGYWN0b3J5Ojpj
cmVhdGVSYXN0ZXJEYXRhKGRvdWJsZSB0b3RhbENQVVRpbWUsIGludCB0aHJlYWRzVXNlZCkKK3sK
KyAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBkYXRhID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVh
dGUoKTsKKyAgICBkYXRhLT5zZXROdW1iZXIoInRvdGFsQ1BVVGltZSIsIHRvdGFsQ1BVVGltZSk7
CisgICAgZGF0YS0+c2V0TnVtYmVyKCJ0aHJlYWRzVXNlZCIsIHRocmVhZHNVc2VkKTsKKyAgICBy
ZXR1cm4gZGF0YS5yZWxlYXNlKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2Vu
ZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
VGltZWxpbmVSZWNvcmRGYWN0b3J5LmgKaW5kZXggZWVlZTY3MjAzMzI1MzM1Yjc4NDUzNDcwODNl
ODQyNGJkZmI5YzNkNy4uYTI5MmFlMDU2MDRjNTQyNjRhOWU3YzQ1ODNhYzE5OTNiZjFjZDZiMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9y
eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3Rvcnku
aApAQCAtODUsNiArODUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBjcmVhdGVBbmltYXRpb25GcmFtZURhdGEoaW50
IGNhbGxiYWNrSWQpOwogCisgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVj
dD4gY3JlYXRlUmFzdGVyRGF0YShkb3VibGUgdG90YWxDUFVUaW1lLCBpbnQgdGhyZWFkc1VzZWQp
OworCiAgICAgcHJpdmF0ZToKICAgICAgICAgVGltZWxpbmVSZWNvcmRGYWN0b3J5KCkgeyB9CiAg
ICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVRyYWNl
RXZlbnRQcm9jZXNzb3IuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lVHJh
Y2VFdmVudFByb2Nlc3Nvci5jcHAKaW5kZXggM2I2MmNmM2ViNTgyNTRkN2VlY2RiYjJhYWE0MmZk
M2UyNWY3YzFlMy4uYmQ1YjU0YWIzYTBmZjliZDM1M2NiZWM5OTI3YzY1NmJlMTAzZTdjMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVudFByb2Nl
c3Nvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVu
dFByb2Nlc3Nvci5jcHAKQEAgLTEwOSw3ICsxMDksMTkgQEAgVGltZWxpbmVUcmFjZUV2ZW50UHJv
Y2Vzc29yOjpUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3IoV2Vha1B0cjxJbnNwZWN0b3JUaW1l
bGkKICAgICA6IG1fdGltZWxpbmVBZ2VudCh0aW1lbGluZUFnZW50KQogICAgICwgbV9pbnNwZWN0
b3JDbGllbnQoY2xpZW50KQogICAgICwgbV9wYWdlSWQocmVpbnRlcnByZXRfY2FzdDx1bnNpZ25l
ZCBsb25nIGxvbmc+KG1fdGltZWxpbmVBZ2VudC5nZXQoKS0+cGFnZSgpKSkKKyAgICAsIG1fZmly
c3RSYXN0ZXJTdGFydFRpbWUoMCkKKyAgICAsIG1fbGFzdFJhc3RlckVuZFRpbWUoMCkKKyAgICAs
IG1fZnJhbWVSYXN0ZXJUaW1lKDApCisgICAgLCBtX3Jhc3Rlcml6ZXJJZCgwKQogeworICAgIG1f
aGFuZGxlcnNCeVR5cGUuc2V0KEluc3RydW1lbnRhdGlvbkV2ZW50czo6QmVnaW5GcmFtZSwgRXZl
bnRUeXBlRW50cnkoJlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25CZWdpbkZyYW1lKSk7
CisgICAgbV9oYW5kbGVyc0J5VHlwZS5zZXQoSW5zdHJ1bWVudGF0aW9uRXZlbnRzOjpEZWZlclBh
aW50LAorICAgICAgICBFdmVudFR5cGVFbnRyeSgmVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29y
OjpvbkRlZmVyUGFpbnRCZWdpbiwgJlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25EZWZl
clBhaW50RW5kKSk7CisgICAgbV9oYW5kbGVyc0J5VHlwZS5zZXQoSW5zdHJ1bWVudGF0aW9uRXZl
bnRzOjpSYXN0ZXJpemUsCisgICAgICAgIEV2ZW50VHlwZUVudHJ5KCZUaW1lbGluZVRyYWNlRXZl
bnRQcm9jZXNzb3I6Om9uUmFzdGVyaXplQmVnaW4sICZUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNz
b3I6Om9uUmFzdGVyaXplRW5kKSk7CisgICAgbV9oYW5kbGVyc0J5VHlwZS5zZXQoSW5zdHJ1bWVu
dGF0aW9uRXZlbnRzOjpSZWxlYXNlUmFzdGVyaXplcklkLCBFdmVudFR5cGVFbnRyeSgmVGltZWxp
bmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvblJlbGVhc2VSYXN0ZXJpemVySWQpKTsKKyAgICBtX2hh
bmRsZXJzQnlUeXBlLnNldChJbnN0cnVtZW50YXRpb25FdmVudHM6OlBhaW50LCBFdmVudFR5cGVF
bnRyeSgmVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvblBhaW50KSk7CisgICAgCiAgICAg
VHJhY2VFdmVudERpc3BhdGNoZXI6Omluc3RhbmNlKCktPmFkZFByb2Nlc3Nvcih0aGlzLCBtX2lu
c3BlY3RvckNsaWVudCk7CiB9CiAKQEAgLTE3Nyw2ICsxODksNzUgQEAgdm9pZCBUaW1lbGluZVRy
YWNlRXZlbnRQcm9jZXNzb3I6OnByb2Nlc3NFdmVudChjb25zdCBFdmVudFR5cGVFbnRyeSYgZXZl
bnRUeXBlRW4KICAgICAodGhpcy0+KmhhbmRsZXIpKGV2ZW50KTsKIH0KIAorCit2b2lkIFRpbWVs
aW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25CZWdpbkZyYW1lKGNvbnN0IFRyYWNlRXZlbnQmIGV2
ZW50KQoreworICAgIGZsdXNoUmFzdGVyaXplclN0YXRpc3RpY3MoKTsKK30KKwordm9pZCBUaW1l
bGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6Om9uRGVmZXJQYWludEJlZ2luKGNvbnN0IFRyYWNlRXZl
bnQmIGV2ZW50KQoreworICAgIG1fcmFzdGVyaXplcklkID0gZXZlbnQuYXNVSW50KEluc3RydW1l
bnRhdGlvbkV2ZW50QXJndW1lbnRzOjpSYXN0ZXJpemVySWQpOworICAgIEFTU0VSVChtX3Jhc3Rl
cml6ZXJJZCk7Cit9CisKK3ZvaWQgVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvbkRlZmVy
UGFpbnRFbmQoY29uc3QgVHJhY2VFdmVudCYpCit7CisgICAgbV9yYXN0ZXJpemVySWQgPSAwOwor
fQorCit2b2lkIFRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25SYXN0ZXJpemVCZWdpbihj
b25zdCBUcmFjZUV2ZW50JiBldmVudCkKK3sKKyAgICBUaHJlYWRJZGVudGlmaWVyIHRocmVhZElk
ZW50aWZpZXIgPSBldmVudC50aHJlYWRJZGVudGlmaWVyKCk7CisgICAgQVNTRVJUKCFtX3Jhc3Rl
clN0YXJ0VGltZUJ5VGhyZWFkLmdldCh0aHJlYWRJZGVudGlmaWVyKSk7CisgICAgZG91YmxlIHRp
bWVzdGFtcCA9IGV2ZW50LnRpbWVzdGFtcCgpOworICAgIG1fcmFzdGVyU3RhcnRUaW1lQnlUaHJl
YWQuc2V0KHRocmVhZElkZW50aWZpZXIsIHRpbWVzdGFtcCk7Cit9CisKK3ZvaWQgVGltZWxpbmVU
cmFjZUV2ZW50UHJvY2Vzc29yOjpvblJhc3Rlcml6ZUVuZChjb25zdCBUcmFjZUV2ZW50JiBldmVu
dCkKK3sKKyAgICBIYXNoTWFwPFRocmVhZElkZW50aWZpZXIsIGRvdWJsZT46Oml0ZXJhdG9yIGl0
ID0gbV9yYXN0ZXJTdGFydFRpbWVCeVRocmVhZC5maW5kKGV2ZW50LnRocmVhZElkZW50aWZpZXIo
KSk7CisgICAgaWYgKGl0ID09IG1fcmFzdGVyU3RhcnRUaW1lQnlUaHJlYWQuZW5kKCkpCisgICAg
ICAgIHJldHVybjsKKyAgICBkb3VibGUgc3RhcnRUaW1lID0gaXQtPnZhbHVlOworICAgIGRvdWJs
ZSBlbmRUaW1lID0gZXZlbnQudGltZXN0YW1wKCk7CisgICAgbV9mcmFtZVJhc3RlclRpbWUgKz0g
ZW5kVGltZSAtIHN0YXJ0VGltZTsKKyAgICBpdC0+dmFsdWUgPSAwOworICAgIGlmICghbV9maXJz
dFJhc3RlclN0YXJ0VGltZSB8fCBtX2ZpcnN0UmFzdGVyU3RhcnRUaW1lID4gc3RhcnRUaW1lKQor
ICAgICAgICBtX2ZpcnN0UmFzdGVyU3RhcnRUaW1lID0gc3RhcnRUaW1lOworICAgIG1fbGFzdFJh
c3RlckVuZFRpbWUgPSBlbmRUaW1lOworfQorCit2b2lkIFRpbWVsaW5lVHJhY2VFdmVudFByb2Nl
c3Nvcjo6b25SZWxlYXNlUmFzdGVyaXplcklkKGNvbnN0IFRyYWNlRXZlbnQmIGV2ZW50KQorewor
ICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBpZCA9IGV2ZW50LmFzVUludChJbnN0cnVtZW50YXRpb25F
dmVudEFyZ3VtZW50czo6UmFzdGVyaXplcklkKTsKKyAgICBBU1NFUlQoaWQpOworICAgIHByb2Nl
c3NCYWNrZ3JvdW5kRXZlbnRzKCk7CisgICAgbV9rbm93blJhc3Rlcml6ZXJzLnJlbW92ZShpZCk7
Cit9CisKK3ZvaWQgVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvblBhaW50KGNvbnN0IFRy
YWNlRXZlbnQmIGV2ZW50KQoreworICAgIGlmICghbV9yYXN0ZXJpemVySWQpCisgICAgICAgIHJl
dHVybjsKKworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBwYWdlSWQgPSBldmVudC5hc1VJbnQoSW5z
dHJ1bWVudGF0aW9uRXZlbnRBcmd1bWVudHM6OlBhZ2VJZCk7CisgICAgaWYgKHBhZ2VJZCA9PSBt
X3BhZ2VJZCkKKyAgICAgICAgbV9rbm93blJhc3Rlcml6ZXJzLmFkZChtX3Jhc3Rlcml6ZXJJZCk7
Cit9CisKK3ZvaWQgVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpmbHVzaFJhc3Rlcml6ZXJT
dGF0aXN0aWNzKCkKK3sKKyAgICBwcm9jZXNzQmFja2dyb3VuZEV2ZW50cygpOworICAgIGlmICht
X2xhc3RSYXN0ZXJFbmRUaW1lKSB7CisgICAgICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRh
dGEgPSBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZVJhc3RlckRhdGEobV9mcmFtZVJhc3Rl
clRpbWUsIG1fcmFzdGVyU3RhcnRUaW1lQnlUaHJlYWQuc2l6ZSgpKTsKKyAgICAgICAgc2VuZFRp
bWVsaW5lUmVjb3JkKGRhdGEsIFRpbWVsaW5lUmVjb3JkVHlwZTo6UmFzdGVyaXplLCBtX2ZpcnN0
UmFzdGVyU3RhcnRUaW1lLCBtX2xhc3RSYXN0ZXJFbmRUaW1lLCAibXVsdGlwbGUiKTsKKyAgICB9
CisgICAgbV9maXJzdFJhc3RlclN0YXJ0VGltZSA9IDA7CisgICAgbV9sYXN0UmFzdGVyRW5kVGlt
ZSA9IDA7CisgICAgbV9mcmFtZVJhc3RlclRpbWUgPSAwOworfQorCiB2b2lkIFRpbWVsaW5lVHJh
Y2VFdmVudFByb2Nlc3Nvcjo6c2VuZFRpbWVsaW5lUmVjb3JkKFBhc3NSZWZQdHI8SW5zcGVjdG9y
T2JqZWN0PiBkYXRhLCBjb25zdCBTdHJpbmcmIHJlY29yZFR5cGUsIGRvdWJsZSBzdGFydFRpbWUs
IGRvdWJsZSBlbmRUaW1lLCBjb25zdCBTdHJpbmcmIHRocmVhZCkKIHsKICAgICBJbnNwZWN0b3JU
aW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50ID0gbV90aW1lbGluZUFnZW50LmdldCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVudFByb2Nl
c3Nvci5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVudFByb2Nl
c3Nvci5oCmluZGV4IGI5YzhmMTk4NzJlOWM5NWViZjJlZGUwYTBmYmY3ZWQ4YzJhNGYzNjYuLjJj
ZDc5ODMyYjI4ZTIxMzE4YjFhMTAwMGFlMWJhYWIxYmQ4MjhmYmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3IuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yLmgKQEAg
LTMzLDYgKzMzLDggQEAKIAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAKKyNpbmNsdWRlICJJbnNw
ZWN0b3JWYWx1ZXMuaCIKKwogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3Rm
L0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KQEAgLTE3Miw5ICsxNzQs
MTkgQEAgcHJpdmF0ZToKICAgICB9OwogCiAgICAgdm9pZCBwcm9jZXNzQmFja2dyb3VuZEV2ZW50
cygpOwotICAgIHZvaWQgc2VuZFRpbWVsaW5lUmVjb3JkKFBhc3NSZWZQdHI8SW5zcGVjdG9yT2Jq
ZWN0PiBkYXRhLCBjb25zdCBTdHJpbmcmIHJlY29yZFR5cGUsIGRvdWJsZSBzdGFydFRpbWUsIGRv
dWJsZSBlbmRUaW1lLCBjb25zdCBTdHJpbmcmIHRocmVhZCk7CisgICAgdm9pZCBzZW5kVGltZWxp
bmVSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEsIGNvbnN0IFN0cmluZyYg
cmVjb3JkVHlwZSwgZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIGVuZFRpbWUsIGNvbnN0IFN0cmlu
ZyYgVGhyZWFkKTsKICAgICB2b2lkIHByb2Nlc3NFdmVudChjb25zdCBFdmVudFR5cGVFbnRyeSYs
IGNvbnN0IFRyYWNlRXZlbnQmKTsKIAorICAgIHZvaWQgb25CZWdpbkZyYW1lKGNvbnN0IFRyYWNl
RXZlbnQmKTsKKyAgICB2b2lkIG9uRGVmZXJQYWludEJlZ2luKGNvbnN0IFRyYWNlRXZlbnQmKTsK
KyAgICB2b2lkIG9uRGVmZXJQYWludEVuZChjb25zdCBUcmFjZUV2ZW50Jik7CisgICAgdm9pZCBv
blJhc3Rlcml6ZUJlZ2luKGNvbnN0IFRyYWNlRXZlbnQmKTsKKyAgICB2b2lkIG9uUmFzdGVyaXpl
RW5kKGNvbnN0IFRyYWNlRXZlbnQmKTsKKyAgICB2b2lkIG9uUmVsZWFzZVJhc3Rlcml6ZXJJZChj
b25zdCBUcmFjZUV2ZW50Jik7CisgICAgdm9pZCBvblBhaW50KGNvbnN0IFRyYWNlRXZlbnQmKTsK
KworICAgIHZvaWQgZmx1c2hSYXN0ZXJpemVyU3RhdGlzdGljcygpOworCiAgICAgV2Vha1B0cjxJ
bnNwZWN0b3JUaW1lbGluZUFnZW50PiBtX3RpbWVsaW5lQWdlbnQ7CiAgICAgSW5zcGVjdG9yQ2xp
ZW50KiBtX2luc3BlY3RvckNsaWVudDsKIApAQCAtMTgyLDYgKzE5NCwxNSBAQCBwcml2YXRlOgog
ICAgIE11dGV4IG1fYmFja2dyb3VuZEV2ZW50c011dGV4OwogICAgIFZlY3RvcjxUcmFjZUV2ZW50
PiBtX2JhY2tncm91bmRFdmVudHM7CiAgICAgdW5zaWduZWQgbG9uZyBsb25nIG1fcGFnZUlkOwor
CisgICAgSGFzaFNldDx1bnNpZ25lZCBsb25nIGxvbmc+IG1fa25vd25SYXN0ZXJpemVyczsKKyAg
ICBIYXNoTWFwPFRocmVhZElkZW50aWZpZXIsIGRvdWJsZT4gbV9yYXN0ZXJTdGFydFRpbWVCeVRo
cmVhZDsKKyAgICBkb3VibGUgbV9maXJzdFJhc3RlclN0YXJ0VGltZTsKKyAgICBkb3VibGUgbV9s
YXN0UmFzdGVyRW5kVGltZTsKKyAgICBkb3VibGUgbV9mcmFtZVJhc3RlclRpbWU7CisgICAgZG91
YmxlIG1fZnJhbWVSYXN0ZXJQaXhlbHM7CisKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgbV9yYXN0
ZXJpemVySWQ7CiB9OwogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvVGltZWxpbmVNb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvVGltZWxpbmVNb2RlbC5qcwppbmRleCBkNzI5YzVjZWNlNTgzMGFkYThhZmVkMTZiMmVk
MWIxN2IwYWRiYWZkLi5lZWYwNWMwMTRhYWNiYzE4ODUxOGRhNzkzNDY5YmVkNGJjNjFhZGE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lTW9k
ZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZU1v
ZGVsLmpzCkBAIC01Niw2ICs1Niw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29y
ZFR5cGUgPSB7CiAgICAgSW52YWxpZGF0ZUxheW91dDogIkludmFsaWRhdGVMYXlvdXQiLAogICAg
IExheW91dDogIkxheW91dCIsCiAgICAgUGFpbnQ6ICJQYWludCIsCisgICAgUmFzdGVyaXplOiAi
UmFzdGVyaXplIiwKICAgICBTY3JvbGxMYXllcjogIlNjcm9sbExheWVyIiwKICAgICBEZWNvZGVJ
bWFnZTogIkRlY29kZUltYWdlIiwKICAgICBSZXNpemVJbWFnZTogIlJlc2l6ZUltYWdlIiwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQcmVz
ZW50YXRpb25Nb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGlt
ZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5qcwppbmRleCA3ZTliNzM5NmY5ODFiNzBkOWY0NmExMzQ3
OWEwNjFhN2Q1ZDM4NTEwLi5iNzc1OGM4N2I4ZjY0OWQ1ZTIwZWM3OGFjNjFhMjNkMmM2Zjc2ZjRh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5l
UHJlc2VudGF0aW9uTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmpzCkBAIC03Niw2ICs3Niw3IEBAIFdlYklu
c3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLl9pbml0UmVjb3JkU3R5bGVzID0gZnVu
Y3Rpb24oKQogICAgIHJlY29yZFN0eWxlc1tyZWNvcmRUeXBlcy5JbnZhbGlkYXRlTGF5b3V0XSA9
IHsgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiSW52YWxpZGF0ZSBMYXlvdXQiKSwgY2F0
ZWdvcnk6IGNhdGVnb3JpZXNbInJlbmRlcmluZyJdIH07CiAgICAgcmVjb3JkU3R5bGVzW3JlY29y
ZFR5cGVzLkxheW91dF0gPSB7IHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkxheW91dCIp
LCBjYXRlZ29yeTogY2F0ZWdvcmllc1sicmVuZGVyaW5nIl0gfTsKICAgICByZWNvcmRTdHlsZXNb
cmVjb3JkVHlwZXMuUGFpbnRdID0geyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJQYWlu
dCIpLCBjYXRlZ29yeTogY2F0ZWdvcmllc1sicGFpbnRpbmciXSB9OworICAgIHJlY29yZFN0eWxl
c1tyZWNvcmRUeXBlcy5SYXN0ZXJpemVdID0geyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJSYXN0ZXJpemUiKSwgY2F0ZWdvcnk6IGNhdGVnb3JpZXNbInBhaW50aW5nIl0gfTsKICAgICBy
ZWNvcmRTdHlsZXNbcmVjb3JkVHlwZXMuU2Nyb2xsTGF5ZXJdID0geyB0aXRsZTogV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJTY3JvbGwiKSwgY2F0ZWdvcnk6IGNhdGVnb3JpZXNbInBhaW50aW5nIl0g
fTsKICAgICByZWNvcmRTdHlsZXNbcmVjb3JkVHlwZXMuRGVjb2RlSW1hZ2VdID0geyB0aXRsZTog
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJJbWFnZSBEZWNvZGUiKSwgY2F0ZWdvcnk6IGNhdGVnb3Jp
ZXNbInBhaW50aW5nIl0gfTsKICAgICByZWNvcmRTdHlsZXNbcmVjb3JkVHlwZXMuUmVzaXplSW1h
Z2VdID0geyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJJbWFnZSBSZXNpemUiKSwgY2F0
ZWdvcnk6IGNhdGVnb3JpZXNbInBhaW50aW5nIl0gfTsK
</data>
<flag name="review"
          id="205292"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186871</attachid>
            <date>2013-02-06 09:26:45 -0800</date>
            <delta_ts>2013-02-26 08:43:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105851-20130206212321.patch</filename>
            <type>text/plain</type>
            <size>17818</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxOTc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDE2NzAzMTU5NGM0Zjdh
ODlmZTY0M2M0NTE1OTY0ZDZkZjc3ZmFjMS4uMDQwNmM4ZWM3MjhkN2IzMWM4ZDgyY2ZlZjhjYTcz
ZGNhNWQ1MDJkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU0IEBACiAyMDEzLTAyLTAxICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogc2hvdyBkZWZlcnJlZCByYXN0ZXJpemF0aW9uIG9uIFRpbWVsaW5lCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU4NTEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIGFkZCBEZWZlclBhaW50LCBQYWlu
dCAmIFJhc3Rlcml6ZSB0cmFjZSBldmVudHMgaGFuZGxpbmcgdG8gdHJhY2UgZXZlbnQgcHJvY2Vz
c29yOworICAgICAgICAtIHB1b24gYmVnaW4gZnJhbWUsIGVtaXQgYWdncmVnYXRlZCBiYWNrZ3Jv
dW5kIGV2ZW50IGZvciBhbGwgcmFzdGVyaXplIGV2ZW50cyByZWxhdGVkIHRvIGluc3BlY3RlZCBw
YWdlLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkQmVnaW5GcmFtZUltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjp3aWxsUGFpbnRJbXBsKToKKyAgICAgICAgKEluc3RydW1lbnRhdGlv
bkV2ZW50cyk6CisgICAgICAgIChJbnN0cnVtZW50YXRpb25FdmVudEFyZ3VtZW50cyk6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uKToKKyAgICAgICAgKEluc3RydW1lbnRhdGlvbkV2ZW50cyk6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEluc3RydW1lbnRhdGlvbkV2ZW50QXJndW1l
bnRzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQmVn
aW5GcmFtZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3Bw
OgorICAgICAgICAoVGltZWxpbmVSZWNvcmRUeXBlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yVGltZWxpbmVBZ2VudC5oOgorICAgICAgICAoVGltZWxpbmVSZWNvcmRUeXBlKToKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGluc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3Rv
cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVS
YXN0ZXJEYXRhKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGluc3BlY3Rvci9UaW1l
bGluZVJlY29yZEZhY3RvcnkuaDoKKyAgICAgICAgKFRpbWVsaW5lUmVjb3JkRmFjdG9yeSk6Cisg
ICAgICAgICogaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6OlRpbWVsaW5lVHJhY2VF
dmVudFByb2Nlc3Nvcik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlRp
bWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25CZWdpbkZyYW1lKToKKyAgICAgICAgKFdlYkNv
cmU6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25EZWZlclBhaW50QmVnaW4pOgorICAg
ICAgICAoV2ViQ29yZTo6VGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvbkRlZmVyUGFpbnRF
bmQpOgorICAgICAgICAoV2ViQ29yZTo6VGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvblJh
c3Rlcml6ZUJlZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nl
c3Nvcjo6b25SYXN0ZXJpemVFbmQpOgorICAgICAgICAoV2ViQ29yZTo6VGltZWxpbmVUcmFjZUV2
ZW50UHJvY2Vzc29yOjpvblJlbGVhc2VSYXN0ZXJpemVySWQpOgorICAgICAgICAoV2ViQ29yZTo6
VGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvblBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6
OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6Zmx1c2hSYXN0ZXJpemVyU3RhdGlzdGljcyk6
CisgICAgICAgICogaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvci5oOgorICAg
ICAgICAoVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL1RpbWVsaW5lTW9kZWwuanM6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRp
bWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuX2luaXRSZWNvcmRTdHlsZXMpOgorCisyMDEzLTAyLTAx
ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgV2ViIElu
c3BlY3RvcjogcGx1bWIgdHJhY2UgZXZlbnRzIHRvIFRpbWVsaW5lIGFnZW50CiAgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU3OTYKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApp
bmRleCBhMWY1MDFkMjQwNTU4YjhjZWI4Y2IwZGVmMTAwNmRhYjVjYzA4OWQ1Li4zMTVmMWVjNGEw
OWJiMTYwZGI4YzkzZDk4ODhlN2RmNzY1ZDFiM2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApAQCAtNzcsNiArNzcs
MTAgQEAKICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
Q1N0cmluZy5oPgogCisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisjaW5jbHVkZSAicGxhdGZvcm0v
Y2hyb21pdW0vVHJhY2VFdmVudC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
c3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHJlcXVlc3RBbmltYXRpb25GcmFtZUV2ZW50TmFtZSA9
ICJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiOwpAQCAtNDczLDggKzQ3NywxMSBAQCB2b2lkIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmlyZVRpbWVySW1wbChjb25zdCBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb25DbwogICAgICAgICB0aW1lbGluZUFnZW50LT5kaWRGaXJlVGltZXIoKTsKIH0K
IAotdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEJlZ2luRnJhbWVJbXBsKEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMpCit2b2lkIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6ZGlkQmVnaW5GcmFtZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1
bWVudGluZ0FnZW50cywgUGFnZSogcGFnZSkKIHsKKyNpZiBQTEFURk9STShDSFJPTUlVTSkKKyAg
ICBUUkFDRV9FVkVOVF9JTlNUQU5UMSgiaW5zdHJ1bWVudGF0aW9uIiwgSW5zdHJ1bWVudGF0aW9u
RXZlbnRzOjpCZWdpbkZyYW1lLCBJbnN0cnVtZW50YXRpb25FdmVudEFyZ3VtZW50czo6UGFnZUlk
LCByZWludGVycHJldF9jYXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4ocGFnZSkpOworI2VuZGlmCiAg
ICAgaWYgKEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIHRpbWVsaW5lQWdlbnQgPSBpbnN0cnVtZW50
aW5nQWdlbnRzLT5pbnNwZWN0b3JUaW1lbGluZUFnZW50KCkpCiAgICAgICAgIHRpbWVsaW5lQWdl
bnQtPmRpZEJlZ2luRnJhbWUoKTsKIH0KQEAgLTUyOSw2ICs1MzYsMTAgQEAgdm9pZCBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmRpZERpc3BhdGNoWEhSTG9hZEV2ZW50SW1wbChjb25zdCBJbnNw
ZWN0b3JJbnN0cnUKIAogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6d2lsbFBhaW50SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVt
ZW50aW5nQWdlbnRzLCBGcmFtZSogZnJhbWUpCiB7CisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisg
ICAgVFJBQ0VfRVZFTlRfSU5TVEFOVDEoImluc3RydW1lbnRhdGlvbiIsIEluc3RydW1lbnRhdGlv
bkV2ZW50czo6UGFpbnQsIEluc3RydW1lbnRhdGlvbkV2ZW50QXJndW1lbnRzOjpQYWdlSWQsIGZy
YW1lID8gcmVpbnRlcnByZXRfY2FzdDx1bnNpZ25lZCBsb25nIGxvbmc+KGZyYW1lLT5wYWdlKCkp
IDogMCk7CisjZW5kaWYKKwogICAgIGludCB0aW1lbGluZUFnZW50SWQgPSAwOwogICAgIGlmIChJ
bnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50
cy0+aW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpKSB7CiAgICAgICAgIHRpbWVsaW5lQWdlbnQtPndp
bGxQYWludChmcmFtZSk7CkBAIC0xMzc5LDYgKzEzOTAsMTkgQEAgdm9pZCBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OnJlbmRlckxheWVyRGVzdHJveWVkSW1wbChJbnN0cnVtZW50aW5nQWdlbnRz
KiBpbnMKIH0KICNlbmRpZgogCituYW1lc3BhY2UgSW5zdHJ1bWVudGF0aW9uRXZlbnRzIHsKK2Nv
bnN0IGNoYXIgRGVmZXJQYWludFtdID0gIkRlZmVyUGFpbnQiOworY29uc3QgY2hhciBSYXN0ZXJp
emVbXSA9ICJQZXJmb3JtUmFzdGVyIjsKK2NvbnN0IGNoYXIgUGFpbnRbXSA9ICJQYWludCI7Citj
b25zdCBjaGFyIFJlbGVhc2VMYXllcklkW10gPSAiUmVsZWFzZUxheWVySWQiOworY29uc3QgY2hh
ciBCZWdpbkZyYW1lW10gPSAiQmVnaW5GcmFtZSI7Cit9OworCituYW1lc3BhY2UgSW5zdHJ1bWVu
dGF0aW9uRXZlbnRBcmd1bWVudHMgeworY29uc3QgY2hhciBMYXllcklkW10gPSAibGF5ZXJJZCI7
Citjb25zdCBjaGFyIFBhZ2VJZFtdID0gInBhZ2VJZCI7Cit9OworCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKICNlbmRpZiAvLyAhRU5BQkxFKElOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCAxZmE4ZGZi
M2EwNmQwYzE2YzZhNTM4ZjllMjUyMDA2NTQzY2QzZDJhLi5kMmZjNTExN2Q0N2NmODBlYjU0MWRl
OTJjNThmNTI3NTgzNjEyNzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC0zNTgsNyArMzU4LDcgQEAgcHJpdmF0ZToK
ICAgICBzdGF0aWMgdm9pZCBkaWRDcmVhdGVJc29sYXRlZENvbnRleHRJbXBsKEluc3RydW1lbnRp
bmdBZ2VudHMqLCBGcmFtZSosIFNjcmlwdFN0YXRlKiwgU2VjdXJpdHlPcmlnaW4qKTsKICAgICBz
dGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIHdpbGxGaXJlVGltZXJJbXBsKElu
c3RydW1lbnRpbmdBZ2VudHMqLCBpbnQgdGltZXJJZCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCop
OwogICAgIHN0YXRpYyB2b2lkIGRpZEZpcmVUaW1lckltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uQ29va2llJik7Ci0gICAgc3RhdGljIHZvaWQgZGlkQmVnaW5GcmFtZUltcGwoSW5z
dHJ1bWVudGluZ0FnZW50cyopOworICAgIHN0YXRpYyB2b2lkIGRpZEJlZ2luRnJhbWVJbXBsKElu
c3RydW1lbnRpbmdBZ2VudHMqLCBQYWdlKik7CiAgICAgc3RhdGljIHZvaWQgZGlkQ2FuY2VsRnJh
bWVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqKTsKICAgICBzdGF0aWMgdm9pZCBkaWRJbnZhbGlk
YXRlTGF5b3V0SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgRnJhbWUqKTsKICAgICBzdGF0aWMg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIHdpbGxMYXlvdXRJbXBsKEluc3RydW1lbnRp
bmdBZ2VudHMqLCBGcmFtZSopOwpAQCAtNTA1LDYgKzUwNSwxOSBAQCBwcml2YXRlOgogI2VuZGlm
CiB9OwogCituYW1lc3BhY2UgSW5zdHJ1bWVudGF0aW9uRXZlbnRzIHsKK2V4dGVybiBjb25zdCBj
aGFyIERlZmVyUGFpbnRbXTsKK2V4dGVybiBjb25zdCBjaGFyIFJhc3Rlcml6ZVtdOworZXh0ZXJu
IGNvbnN0IGNoYXIgUGFpbnRbXTsKK2V4dGVybiBjb25zdCBjaGFyIFJlbGVhc2VMYXllcklkW107
CitleHRlcm4gY29uc3QgY2hhciBCZWdpbkZyYW1lW107Cit9OworCituYW1lc3BhY2UgSW5zdHJ1
bWVudGF0aW9uRXZlbnRBcmd1bWVudHMgeworZXh0ZXJuIGNvbnN0IGNoYXIgTGF5ZXJJZFtdOwor
ZXh0ZXJuIGNvbnN0IGNoYXIgUGFnZUlkW107Cit9OworCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZENsZWFyV2luZG93T2JqZWN0SW5Xb3JsZChGcmFtZSogZnJhbWUs
IERPTVdyYXBwZXJXb3JsZCogd29ybGQpCiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKQEAgLTEw
MDcsNyArMTAyMCw3IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
QmVnaW5GcmFtZShQYWdlKiBwYWdlKQogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9S
RVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2Vu
dHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdl
KSkKLSAgICAgICAgZGlkQmVnaW5GcmFtZUltcGwoaW5zdHJ1bWVudGluZ0FnZW50cyk7CisgICAg
ICAgIGRpZEJlZ2luRnJhbWVJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIHBhZ2UpOwogI2Vsc2UK
ICAgICBVTlVTRURfUEFSQU0ocGFnZSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAppbmRleCA3MzViYTQxNGJkZTk2
MjNjNTY0YTRiN2E4OGFiZTY1ZWViNjY0NjdhLi41ZDYwODA1MTM5NzEwY2Y5NzJlMTEzMDcyZGEw
MjVhNjRmODU3YzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yVGltZWxpbmVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclRpbWVsaW5lQWdlbnQuY3BwCkBAIC0xMDksNiArMTA5LDkgQEAgc3RhdGljIGNvbnN0IGNo
YXIgR0NFdmVudFtdID0gIkdDRXZlbnQiOwogc3RhdGljIGNvbnN0IGNoYXIgUmVxdWVzdEFuaW1h
dGlvbkZyYW1lW10gPSAiUmVxdWVzdEFuaW1hdGlvbkZyYW1lIjsKIHN0YXRpYyBjb25zdCBjaGFy
IENhbmNlbEFuaW1hdGlvbkZyYW1lW10gPSAiQ2FuY2VsQW5pbWF0aW9uRnJhbWUiOwogc3RhdGlj
IGNvbnN0IGNoYXIgRmlyZUFuaW1hdGlvbkZyYW1lW10gPSAiRmlyZUFuaW1hdGlvbkZyYW1lIjsK
KworLy8gRXZlbnQgbmFtZXMgdmlzaWJsZSB0byBvdGhlciBtb2R1bGVzLgorY29uc3QgY2hhciBS
YXN0ZXJpemVbXSA9ICJSYXN0ZXJpemUiOwogfQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdl
bnQ6OnB1c2hHQ0V2ZW50UmVjb3JkcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAppbmRleCBhYjlkNWExZTRhMTRmYmI3ODZlZmY4NmFk
NmQ4MDA5YmMxNjYzMzkyLi5iNDg1YzlkNjk1NzE2MTExNzFlMjEyZWQ5YzVlOTIzYTAyYTQ3NzUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFn
ZW50LmgKQEAgLTYxLDYgKzYxLDEwIEBAIGNsYXNzIFRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nv
cjsKIAogdHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CiAKK25hbWVzcGFjZSBUaW1lbGluZVJl
Y29yZFR5cGUgeworZXh0ZXJuIGNvbnN0IGNoYXIgUmFzdGVyaXplW107Cit9OworCiBjbGFzcyBJ
bnNwZWN0b3JUaW1lbGluZUFnZW50CiAgICAgOiBwdWJsaWMgSW5zcGVjdG9yQmFzZUFnZW50PElu
c3BlY3RvclRpbWVsaW5lQWdlbnQ+LAogICAgICAgcHVibGljIFNjcmlwdEdDRXZlbnRMaXN0ZW5l
ciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZh
Y3RvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9y
eS5jcHAKaW5kZXggOGRlZTUzMDBkZjc1NGFjMDYxMjBmMjliNjA1ZDgxYzM4YzkwODFiZC4uNjRi
YWQ4MTFlMjlhMWNkYWRmMmQ0NGJjMTY3MTcyZDllZmUwNzAzMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAKQEAgLTIwNyw2ICsy
MDcsMTQgQEAgdm9pZCBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmFkZFJlY3REYXRhKEluc3BlY3Rv
ck9iamVjdCogZGF0YSwgY29uc3QgTGF5b3V0UmVjdCYKICAgICBkYXRhLT5zZXROdW1iZXIoImhl
aWdodCIsIHJlY3QuaGVpZ2h0KCkpOwogfQogCitQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4g
VGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVSYXN0ZXJEYXRhKGRvdWJsZSB0b3RhbENQVVRp
bWUsIGludCB0aHJlYWRzVXNlZCkKK3sKKyAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBkYXRh
ID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKKyAgICBkYXRhLT5zZXROdW1iZXIoInRvdGFs
Q1BVVGltZSIsIHRvdGFsQ1BVVGltZSk7CisgICAgZGF0YS0+c2V0TnVtYmVyKCJ0aHJlYWRzVXNl
ZCIsIHRocmVhZHNVc2VkKTsKKyAgICByZXR1cm4gZGF0YS5yZWxlYXNlKCk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmgKaW5kZXggZWVl
ZTY3MjAzMzI1MzM1Yjc4NDUzNDcwODNlODQyNGJkZmI5YzNkNy4uYTI5MmFlMDU2MDRjNTQyNjRh
OWU3YzQ1ODNhYzE5OTNiZjFjZDZiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9UaW1lbGluZVJlY29yZEZhY3RvcnkuaApAQCAtODUsNiArODUsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBjcmVh
dGVBbmltYXRpb25GcmFtZURhdGEoaW50IGNhbGxiYWNrSWQpOwogCisgICAgICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gY3JlYXRlUmFzdGVyRGF0YShkb3VibGUgdG90YWxD
UFVUaW1lLCBpbnQgdGhyZWFkc1VzZWQpOworCiAgICAgcHJpdmF0ZToKICAgICAgICAgVGltZWxp
bmVSZWNvcmRGYWN0b3J5KCkgeyB9CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9UaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvci5jcHAKaW5kZXggM2I2MmNm
M2ViNTgyNTRkN2VlY2RiYjJhYWE0MmZkM2UyNWY3YzFlMy4uMDI0Y2NmYTJmN2JmNWZlMzA5MTg1
NzAyNWQwYzAwZmQ0ODZhYzg1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L1RpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvci5jcHAKQEAgLTEwOSw3ICsxMDksMTkg
QEAgVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNz
b3IoV2Vha1B0cjxJbnNwZWN0b3JUaW1lbGkKICAgICA6IG1fdGltZWxpbmVBZ2VudCh0aW1lbGlu
ZUFnZW50KQogICAgICwgbV9pbnNwZWN0b3JDbGllbnQoY2xpZW50KQogICAgICwgbV9wYWdlSWQo
cmVpbnRlcnByZXRfY2FzdDx1bnNpZ25lZCBsb25nIGxvbmc+KG1fdGltZWxpbmVBZ2VudC5nZXQo
KS0+cGFnZSgpKSkKKyAgICAsIG1fZmlyc3RSYXN0ZXJTdGFydFRpbWUoMCkKKyAgICAsIG1fbGFz
dFJhc3RlckVuZFRpbWUoMCkKKyAgICAsIG1fZnJhbWVSYXN0ZXJUaW1lKDApCisgICAgLCBtX2xh
eWVySWQoMCkKIHsKKyAgICBtX2hhbmRsZXJzQnlUeXBlLnNldChJbnN0cnVtZW50YXRpb25FdmVu
dHM6OkJlZ2luRnJhbWUsIEV2ZW50VHlwZUVudHJ5KCZUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNz
b3I6Om9uQmVnaW5GcmFtZSkpOworICAgIG1faGFuZGxlcnNCeVR5cGUuc2V0KEluc3RydW1lbnRh
dGlvbkV2ZW50czo6RGVmZXJQYWludCwKKyAgICAgICAgRXZlbnRUeXBlRW50cnkoJlRpbWVsaW5l
VHJhY2VFdmVudFByb2Nlc3Nvcjo6b25EZWZlclBhaW50QmVnaW4sICZUaW1lbGluZVRyYWNlRXZl
bnRQcm9jZXNzb3I6Om9uRGVmZXJQYWludEVuZCkpOworICAgIG1faGFuZGxlcnNCeVR5cGUuc2V0
KEluc3RydW1lbnRhdGlvbkV2ZW50czo6UmFzdGVyaXplLAorICAgICAgICBFdmVudFR5cGVFbnRy
eSgmVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvblJhc3Rlcml6ZUJlZ2luLCAmVGltZWxp
bmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvblJhc3Rlcml6ZUVuZCkpOworICAgIG1faGFuZGxlcnNC
eVR5cGUuc2V0KEluc3RydW1lbnRhdGlvbkV2ZW50czo6UmVsZWFzZUxheWVySWQsIEV2ZW50VHlw
ZUVudHJ5KCZUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6Om9uUmVsZWFzZUxheWVySWQpKTsK
KyAgICBtX2hhbmRsZXJzQnlUeXBlLnNldChJbnN0cnVtZW50YXRpb25FdmVudHM6OlBhaW50LCBF
dmVudFR5cGVFbnRyeSgmVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvblBhaW50KSk7Cisg
ICAgCiAgICAgVHJhY2VFdmVudERpc3BhdGNoZXI6Omluc3RhbmNlKCktPmFkZFByb2Nlc3Nvcih0
aGlzLCBtX2luc3BlY3RvckNsaWVudCk7CiB9CiAKQEAgLTE3Nyw2ICsxODksNzUgQEAgdm9pZCBU
aW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6OnByb2Nlc3NFdmVudChjb25zdCBFdmVudFR5cGVF
bnRyeSYgZXZlbnRUeXBlRW4KICAgICAodGhpcy0+KmhhbmRsZXIpKGV2ZW50KTsKIH0KIAorCit2
b2lkIFRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25CZWdpbkZyYW1lKGNvbnN0IFRyYWNl
RXZlbnQmIGV2ZW50KQoreworICAgIGZsdXNoUmFzdGVyaXplclN0YXRpc3RpY3MoKTsKK30KKwor
dm9pZCBUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6Om9uRGVmZXJQYWludEJlZ2luKGNvbnN0
IFRyYWNlRXZlbnQmIGV2ZW50KQoreworICAgIG1fbGF5ZXJJZCA9IGV2ZW50LmFzVUludChJbnN0
cnVtZW50YXRpb25FdmVudEFyZ3VtZW50czo6TGF5ZXJJZCk7CisgICAgQVNTRVJUKG1fbGF5ZXJJ
ZCk7Cit9CisKK3ZvaWQgVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvbkRlZmVyUGFpbnRF
bmQoY29uc3QgVHJhY2VFdmVudCYpCit7CisgICAgbV9sYXllcklkID0gMDsKK30KKwordm9pZCBU
aW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6Om9uUmFzdGVyaXplQmVnaW4oY29uc3QgVHJhY2VF
dmVudCYgZXZlbnQpCit7CisgICAgVGhyZWFkSWRlbnRpZmllciB0aHJlYWRJZGVudGlmaWVyID0g
ZXZlbnQudGhyZWFkSWRlbnRpZmllcigpOworICAgIEFTU0VSVCghbV9yYXN0ZXJTdGFydFRpbWVC
eVRocmVhZC5nZXQodGhyZWFkSWRlbnRpZmllcikpOworICAgIGRvdWJsZSB0aW1lc3RhbXAgPSBl
dmVudC50aW1lc3RhbXAoKTsKKyAgICBtX3Jhc3RlclN0YXJ0VGltZUJ5VGhyZWFkLnNldCh0aHJl
YWRJZGVudGlmaWVyLCB0aW1lc3RhbXApOworfQorCit2b2lkIFRpbWVsaW5lVHJhY2VFdmVudFBy
b2Nlc3Nvcjo6b25SYXN0ZXJpemVFbmQoY29uc3QgVHJhY2VFdmVudCYgZXZlbnQpCit7CisgICAg
SGFzaE1hcDxUaHJlYWRJZGVudGlmaWVyLCBkb3VibGU+OjppdGVyYXRvciBpdCA9IG1fcmFzdGVy
U3RhcnRUaW1lQnlUaHJlYWQuZmluZChldmVudC50aHJlYWRJZGVudGlmaWVyKCkpOworICAgIGlm
IChpdCA9PSBtX3Jhc3RlclN0YXJ0VGltZUJ5VGhyZWFkLmVuZCgpKQorICAgICAgICByZXR1cm47
CisgICAgZG91YmxlIHN0YXJ0VGltZSA9IGl0LT52YWx1ZTsKKyAgICBkb3VibGUgZW5kVGltZSA9
IGV2ZW50LnRpbWVzdGFtcCgpOworICAgIG1fZnJhbWVSYXN0ZXJUaW1lICs9IGVuZFRpbWUgLSBz
dGFydFRpbWU7CisgICAgaXQtPnZhbHVlID0gMDsKKyAgICBpZiAoIW1fZmlyc3RSYXN0ZXJTdGFy
dFRpbWUgfHwgbV9maXJzdFJhc3RlclN0YXJ0VGltZSA+IHN0YXJ0VGltZSkKKyAgICAgICAgbV9m
aXJzdFJhc3RlclN0YXJ0VGltZSA9IHN0YXJ0VGltZTsKKyAgICBtX2xhc3RSYXN0ZXJFbmRUaW1l
ID0gZW5kVGltZTsKK30KKwordm9pZCBUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6Om9uUmVs
ZWFzZUxheWVySWQoY29uc3QgVHJhY2VFdmVudCYgZXZlbnQpCit7CisgICAgdW5zaWduZWQgbG9u
ZyBsb25nIGlkID0gZXZlbnQuYXNVSW50KEluc3RydW1lbnRhdGlvbkV2ZW50QXJndW1lbnRzOjpM
YXllcklkKTsKKyAgICBBU1NFUlQoaWQpOworICAgIHByb2Nlc3NCYWNrZ3JvdW5kRXZlbnRzKCk7
CisgICAgbV9rbm93bkxheWVycy5yZW1vdmUoaWQpOworfQorCit2b2lkIFRpbWVsaW5lVHJhY2VF
dmVudFByb2Nlc3Nvcjo6b25QYWludChjb25zdCBUcmFjZUV2ZW50JiBldmVudCkKK3sKKyAgICBp
ZiAoIW1fbGF5ZXJJZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgdW5zaWduZWQgbG9uZyBsb25n
IHBhZ2VJZCA9IGV2ZW50LmFzVUludChJbnN0cnVtZW50YXRpb25FdmVudEFyZ3VtZW50czo6UGFn
ZUlkKTsKKyAgICBpZiAocGFnZUlkID09IG1fcGFnZUlkKQorICAgICAgICBtX2tub3duTGF5ZXJz
LmFkZChtX2xheWVySWQpOworfQorCit2b2lkIFRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6
Zmx1c2hSYXN0ZXJpemVyU3RhdGlzdGljcygpCit7CisgICAgcHJvY2Vzc0JhY2tncm91bmRFdmVu
dHMoKTsKKyAgICBpZiAobV9sYXN0UmFzdGVyRW5kVGltZSkgeworICAgICAgICBSZWZQdHI8SW5z
cGVjdG9yT2JqZWN0PiBkYXRhID0gVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVSYXN0ZXJE
YXRhKG1fZnJhbWVSYXN0ZXJUaW1lLCBtX3Jhc3RlclN0YXJ0VGltZUJ5VGhyZWFkLnNpemUoKSk7
CisgICAgICAgIHNlbmRUaW1lbGluZVJlY29yZChkYXRhLCBUaW1lbGluZVJlY29yZFR5cGU6OlJh
c3Rlcml6ZSwgbV9maXJzdFJhc3RlclN0YXJ0VGltZSwgbV9sYXN0UmFzdGVyRW5kVGltZSwgIm11
bHRpcGxlIik7CisgICAgfQorICAgIG1fZmlyc3RSYXN0ZXJTdGFydFRpbWUgPSAwOworICAgIG1f
bGFzdFJhc3RlckVuZFRpbWUgPSAwOworICAgIG1fZnJhbWVSYXN0ZXJUaW1lID0gMDsKK30KKwog
dm9pZCBUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6OnNlbmRUaW1lbGluZVJlY29yZChQYXNz
UmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGF0YSwgY29uc3QgU3RyaW5nJiByZWNvcmRUeXBlLCBk
b3VibGUgc3RhcnRUaW1lLCBkb3VibGUgZW5kVGltZSwgY29uc3QgU3RyaW5nJiB0aHJlYWQpCiB7
CiAgICAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogdGltZWxpbmVBZ2VudCA9IG1fdGltZWxpbmVB
Z2VudC5nZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGlu
ZVRyYWNlRXZlbnRQcm9jZXNzb3IuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGlu
ZVRyYWNlRXZlbnRQcm9jZXNzb3IuaAppbmRleCBiOWM4ZjE5ODcyZTljOTVlYmYyZWRlMGEwZmJm
N2VkOGMyYTRmMzY2Li5iNGZjMmZlZmY4ZjEwMTAxZWZjOTdkMTZjMDlmYTJlYzVmNTYwZjZkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVUcmFjZUV2ZW50UHJv
Y2Vzc29yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVu
dFByb2Nlc3Nvci5oCkBAIC0zMyw2ICszMyw4IEBACiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQog
CisjaW5jbHVkZSAiSW5zcGVjdG9yVmFsdWVzLmgiCisKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CkBAIC0xNzIsOSArMTc0LDE5IEBAIHByaXZhdGU6CiAgICAgfTsKIAogICAgIHZvaWQgcHJvY2Vz
c0JhY2tncm91bmRFdmVudHMoKTsKLSAgICB2b2lkIHNlbmRUaW1lbGluZVJlY29yZChQYXNzUmVm
UHRyPEluc3BlY3Rvck9iamVjdD4gZGF0YSwgY29uc3QgU3RyaW5nJiByZWNvcmRUeXBlLCBkb3Vi
bGUgc3RhcnRUaW1lLCBkb3VibGUgZW5kVGltZSwgY29uc3QgU3RyaW5nJiB0aHJlYWQpOworICAg
IHZvaWQgc2VuZFRpbWVsaW5lUmVjb3JkKFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBkYXRh
LCBjb25zdCBTdHJpbmcmIHJlY29yZFR5cGUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBlbmRU
aW1lLCBjb25zdCBTdHJpbmcmIFRocmVhZCk7CiAgICAgdm9pZCBwcm9jZXNzRXZlbnQoY29uc3Qg
RXZlbnRUeXBlRW50cnkmLCBjb25zdCBUcmFjZUV2ZW50Jik7CiAKKyAgICB2b2lkIG9uQmVnaW5G
cmFtZShjb25zdCBUcmFjZUV2ZW50Jik7CisgICAgdm9pZCBvbkRlZmVyUGFpbnRCZWdpbihjb25z
dCBUcmFjZUV2ZW50Jik7CisgICAgdm9pZCBvbkRlZmVyUGFpbnRFbmQoY29uc3QgVHJhY2VFdmVu
dCYpOworICAgIHZvaWQgb25SYXN0ZXJpemVCZWdpbihjb25zdCBUcmFjZUV2ZW50Jik7CisgICAg
dm9pZCBvblJhc3Rlcml6ZUVuZChjb25zdCBUcmFjZUV2ZW50Jik7CisgICAgdm9pZCBvblJlbGVh
c2VMYXllcklkKGNvbnN0IFRyYWNlRXZlbnQmKTsKKyAgICB2b2lkIG9uUGFpbnQoY29uc3QgVHJh
Y2VFdmVudCYpOworCisgICAgdm9pZCBmbHVzaFJhc3Rlcml6ZXJTdGF0aXN0aWNzKCk7CisKICAg
ICBXZWFrUHRyPEluc3BlY3RvclRpbWVsaW5lQWdlbnQ+IG1fdGltZWxpbmVBZ2VudDsKICAgICBJ
bnNwZWN0b3JDbGllbnQqIG1faW5zcGVjdG9yQ2xpZW50OwogCkBAIC0xODIsNiArMTk0LDE1IEBA
IHByaXZhdGU6CiAgICAgTXV0ZXggbV9iYWNrZ3JvdW5kRXZlbnRzTXV0ZXg7CiAgICAgVmVjdG9y
PFRyYWNlRXZlbnQ+IG1fYmFja2dyb3VuZEV2ZW50czsKICAgICB1bnNpZ25lZCBsb25nIGxvbmcg
bV9wYWdlSWQ7CisKKyAgICBIYXNoU2V0PHVuc2lnbmVkIGxvbmcgbG9uZz4gbV9rbm93bkxheWVy
czsKKyAgICBIYXNoTWFwPFRocmVhZElkZW50aWZpZXIsIGRvdWJsZT4gbV9yYXN0ZXJTdGFydFRp
bWVCeVRocmVhZDsKKyAgICBkb3VibGUgbV9maXJzdFJhc3RlclN0YXJ0VGltZTsKKyAgICBkb3Vi
bGUgbV9sYXN0UmFzdGVyRW5kVGltZTsKKyAgICBkb3VibGUgbV9mcmFtZVJhc3RlclRpbWU7Cisg
ICAgZG91YmxlIG1fZnJhbWVSYXN0ZXJQaXhlbHM7CisKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcg
bV9sYXllcklkOwogfTsKIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1RpbWVsaW5lTW9kZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1RpbWVsaW5lTW9kZWwuanMKaW5kZXggZDcyOWM1Y2VjZTU4MzBhZGE4YWZlZDE2YjJl
ZDFiMTdiMGFkYmFmZC4uZWVmMDVjMDE0YWFjYmMxODg1MThkYTc5MzQ2OWJlZDRiYzYxYWRhNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZU1v
ZGVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVN
b2RlbC5qcwpAQCAtNTYsNiArNTYsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNv
cmRUeXBlID0gewogICAgIEludmFsaWRhdGVMYXlvdXQ6ICJJbnZhbGlkYXRlTGF5b3V0IiwKICAg
ICBMYXlvdXQ6ICJMYXlvdXQiLAogICAgIFBhaW50OiAiUGFpbnQiLAorICAgIFJhc3Rlcml6ZTog
IlJhc3Rlcml6ZSIsCiAgICAgU2Nyb2xsTGF5ZXI6ICJTY3JvbGxMYXllciIsCiAgICAgRGVjb2Rl
SW1hZ2U6ICJEZWNvZGVJbWFnZSIsCiAgICAgUmVzaXplSW1hZ2U6ICJSZXNpemVJbWFnZSIsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUHJl
c2VudGF0aW9uTW9kZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Rp
bWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuanMKaW5kZXggN2U5YjczOTZmOTgxYjcwZDlmNDZhMTM0
NzlhMDYxYTdkNWQzODUxMC4uYjc3NThjODdiOGY2NDlkNWUyMGVjNzhhYzYxYTIzZDJjNmY3NmY0
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGlu
ZVByZXNlbnRhdGlvbk1vZGVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5qcwpAQCAtNzYsNiArNzYsNyBAQCBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5faW5pdFJlY29yZFN0eWxlcyA9IGZ1
bmN0aW9uKCkKICAgICByZWNvcmRTdHlsZXNbcmVjb3JkVHlwZXMuSW52YWxpZGF0ZUxheW91dF0g
PSB7IHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkludmFsaWRhdGUgTGF5b3V0IiksIGNh
dGVnb3J5OiBjYXRlZ29yaWVzWyJyZW5kZXJpbmciXSB9OwogICAgIHJlY29yZFN0eWxlc1tyZWNv
cmRUeXBlcy5MYXlvdXRdID0geyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJMYXlvdXQi
KSwgY2F0ZWdvcnk6IGNhdGVnb3JpZXNbInJlbmRlcmluZyJdIH07CiAgICAgcmVjb3JkU3R5bGVz
W3JlY29yZFR5cGVzLlBhaW50XSA9IHsgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiUGFp
bnQiKSwgY2F0ZWdvcnk6IGNhdGVnb3JpZXNbInBhaW50aW5nIl0gfTsKKyAgICByZWNvcmRTdHls
ZXNbcmVjb3JkVHlwZXMuUmFzdGVyaXplXSA9IHsgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiUmFzdGVyaXplIiksIGNhdGVnb3J5OiBjYXRlZ29yaWVzWyJwYWludGluZyJdIH07CiAgICAg
cmVjb3JkU3R5bGVzW3JlY29yZFR5cGVzLlNjcm9sbExheWVyXSA9IHsgdGl0bGU6IFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiU2Nyb2xsIiksIGNhdGVnb3J5OiBjYXRlZ29yaWVzWyJwYWludGluZyJd
IH07CiAgICAgcmVjb3JkU3R5bGVzW3JlY29yZFR5cGVzLkRlY29kZUltYWdlXSA9IHsgdGl0bGU6
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiSW1hZ2UgRGVjb2RlIiksIGNhdGVnb3J5OiBjYXRlZ29y
aWVzWyJwYWludGluZyJdIH07CiAgICAgcmVjb3JkU3R5bGVzW3JlY29yZFR5cGVzLlJlc2l6ZUlt
YWdlXSA9IHsgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiSW1hZ2UgUmVzaXplIiksIGNh
dGVnb3J5OiBjYXRlZ29yaWVzWyJwYWludGluZyJdIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190297</attachid>
            <date>2013-02-26 08:49:21 -0800</date>
            <delta_ts>2013-02-26 09:13:34 -0800</delta_ts>
            <desc>EWS run</desc>
            <filename>bug-105851-20130226204535.patch</filename>
            <type>text/plain</type>
            <size>27267</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0MDYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTcyYzI3OWEzMDUxZTNi
YjhiZjMyNzQ5NGZiMzllOWIwNzNkYTA1ZS4uYTRhNTAxMDA5MDM5ZDQ2MTA1NTY1ODhkNzkyMzE0
YmMyOWQxN2YwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDEzLTAyLTI2ICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkZWQgc3VwcG9y
dCBmb3IgUmFzdGVyaXplIGJhY2tncm91bmQgZXZlbnRzIGluIFRpbWVsaW5lCisKKyAgICAgICAg
V2ViIEluc3BlY3Rvcjogc2hvdyByYXN0ZXIgdGFza3Mgb24gVGltZWxpbmUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTg1MQorCisgICAgICAgIC0g
YWRkIERlZmVyUGFpbnQsIFBhaW50ICYgUmFzdGVyVGFzayB0cmFjZSBldmVudHMgaGFuZGxpbmcg
dG8gdHJhY2UgZXZlbnQgcHJvY2Vzc29yOworICAgICAgICAtIHVwb24gYmVnaW4gZnJhbWUsIGVt
aXQgYWdncmVnYXRlZCBiYWNrZ3JvdW5kIGV2ZW50IGZvciBhbGwgcmFzdGVyIHRhc2tzIHJlbGF0
ZWQgdG8gaW5zcGVjdGVkIHBhZ2UuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjp3aWxsUGFpbnRJbXBsKToKKyAgICAgICAgKEluc3RydW1lbnRhdGlvbkV2ZW50cyk6
CisgICAgICAgIChJbnN0cnVtZW50YXRpb25FdmVudEFyZ3VtZW50cyk6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoSW5zdHJ1bWVudGF0
aW9uRXZlbnRzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zdHJ1bWVudGF0aW9u
RXZlbnRBcmd1bWVudHMpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFn
ZW50LmNwcDoKKyAgICAgICAgKFRpbWVsaW5lUmVjb3JkVHlwZSk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpzdG9wKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQ6OmRpZEJlZ2luRnJhbWUpOgorICAgICAgICAqIGluc3BlY3Rvci9J
bnNwZWN0b3JUaW1lbGluZUFnZW50Lmg6CisgICAgICAgIChUaW1lbGluZVJlY29yZFR5cGUpOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFj
dG9yeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0
ZVJhc3RlckRhdGEpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogaW5zcGVjdG9yL1Rp
bWVsaW5lUmVjb3JkRmFjdG9yeS5oOgorICAgICAgICAoVGltZWxpbmVSZWNvcmRGYWN0b3J5KToK
KyAgICAgICAgKiBpbnNwZWN0b3IvVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6VGltZWxpbmVUcmFj
ZUV2ZW50UHJvY2Vzc29yKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lVHJhY2VFdmVudFBy
b2Nlc3Nvcjo6flRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcik6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6cmVnaXN0
ZXJIYW5kbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nv
cjo6c2h1dGRvd24pOgorICAgICAgICAoV2ViQ29yZTo6VGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vz
c29yOjpUcmFjZUV2ZW50OjpmaW5kUGFyYW1ldGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVs
aW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6VHJhY2VFdmVudDo6cGFyYW1ldGVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6cHJvY2Vzc0V2ZW50T25BbnlU
aHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6VGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpv
bkJlZ2luRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6VGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vz
c29yOjpvblBhaW50TGF5ZXJCZWdpbik6CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVRyYWNl
RXZlbnRQcm9jZXNzb3I6Om9uUGFpbnRMYXllckVuZCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1l
bGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6Om9uUmFzdGVyVGFza0JlZ2luKToKKyAgICAgICAgKFdl
YkNvcmU6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25SYXN0ZXJUYXNrRW5kKToKKyAg
ICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25MYXllckRlbGV0
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6VGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvblBh
aW50KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6Zmx1
c2hSYXN0ZXJpemVyU3RhdGlzdGljcyk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVRyYWNl
RXZlbnRQcm9jZXNzb3I6OnNlbmRUaW1lbGluZVJlY29yZCk6CisgICAgICAgIChXZWJDb3JlOjpU
aW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6OnByb2Nlc3NCYWNrZ3JvdW5kRXZlbnRzKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yLmg6CisgICAgICAg
IChXZWJDb3JlOjpUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6OlRyYWNlRXZlbnQ6OlRyYWNl
RXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6VGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpU
cmFjZUV2ZW50OjppZCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVRyYWNlRXZlbnRQcm9j
ZXNzb3I6OlRyYWNlRXZlbnQ6OmFzSW50KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lVHJh
Y2VFdmVudFByb2Nlc3Nvcjo6VHJhY2VFdmVudDo6YXNVSW50KToKKyAgICAgICAgKFRpbWVsaW5l
VHJhY2VFdmVudFByb2Nlc3Nvcik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1l
bGluZU1vZGVsLmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQcmVz
ZW50YXRpb25Nb2RlbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRh
dGlvbk1vZGVsLl9pbml0UmVjb3JkU3R5bGVzKToKKwogMjAxMy0wMi0yNiAgQWxiZXJ0byBHYXJj
aWEgIDxhZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0JsYWNrQmVycnldIFVwc3RyZWFt
IHRoZSBkYXRhbGlzdCBzdXBwb3J0IFVJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCmluZGV4IDM3YTg2NWE5NGJhZjQxNWQ1
NTc2ZWQ3ODUyMWFlZjYzZDBjZDdkNTUuLjc3ODhkMjdjMGUxMGNmMjM0ZDg4YTE2Y2ExZDExZjFl
OWNkMmEyNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uY3BwCkBAIC03OCw2ICs3OCwxMCBAQAogI2luY2x1ZGUgPHd0Zi9T
dGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKKyNpZiBQTEFU
Rk9STShDSFJPTUlVTSkKKyNpbmNsdWRlICJwbGF0Zm9ybS9jaHJvbWl1bS9UcmFjZUV2ZW50Lmgi
CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgY2hhciogY29u
c3QgcmVxdWVzdEFuaW1hdGlvbkZyYW1lRXZlbnROYW1lID0gInJlcXVlc3RBbmltYXRpb25GcmFt
ZSI7CkBAIC01MjMsNiArNTI3LDEwIEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpk
aWREaXNwYXRjaFhIUkxvYWRFdmVudEltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1CiAKIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxQ
YWludEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgRnJhbWUq
IGZyYW1lKQogeworI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorICAgIFRSQUNFX0VWRU5UX0lOU1RB
TlQxKCJpbnN0cnVtZW50YXRpb24iLCBJbnN0cnVtZW50YXRpb25FdmVudHM6OlBhaW50LCBJbnN0
cnVtZW50YXRpb25FdmVudEFyZ3VtZW50czo6UGFnZUlkLCBmcmFtZSA/IHJlaW50ZXJwcmV0X2Nh
c3Q8dW5zaWduZWQgbG9uZyBsb25nPihmcmFtZS0+cGFnZSgpKSA6IDApOworI2VuZGlmCisKICAg
ICBpbnQgdGltZWxpbmVBZ2VudElkID0gMDsKICAgICBpZiAoSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dCogdGltZWxpbmVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvclRpbWVsaW5l
QWdlbnQoKSkgewogICAgICAgICB0aW1lbGluZUFnZW50LT53aWxsUGFpbnQoZnJhbWUpOwpAQCAt
MTM2MSw2ICsxMzY5LDE5IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpyZW5kZXJM
YXllckRlc3Ryb3llZEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zCiB9CiAjZW5kaWYKIAor
bmFtZXNwYWNlIEluc3RydW1lbnRhdGlvbkV2ZW50cyB7Citjb25zdCBjaGFyIFBhaW50TGF5ZXJb
XSA9ICJQYWludExheWVyIjsKK2NvbnN0IGNoYXIgUmFzdGVyVGFza1tdID0gIlJhc3RlclRhc2si
OworY29uc3QgY2hhciBQYWludFtdID0gIlBhaW50IjsKK2NvbnN0IGNoYXIgTGF5ZXJbXSA9ICJM
YXllciI7Citjb25zdCBjaGFyIEJlZ2luRnJhbWVbXSA9ICJCZWdpbkZyYW1lIjsKK307CisKK25h
bWVzcGFjZSBJbnN0cnVtZW50YXRpb25FdmVudEFyZ3VtZW50cyB7Citjb25zdCBjaGFyIExheWVy
SWRbXSA9ICJsYXllcklkIjsKK2NvbnN0IGNoYXIgUGFnZUlkW10gPSAicGFnZUlkIjsKK307CisK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vICFFTkFCTEUoSU5TUEVDVE9SKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5oCmluZGV4IDk5MmRiMGE4ZjNkZmM2M2RiNmFlZWIwZTQzMmE2YjI1NjRmZGFhYjguLjg2YjE1
ODI2MTVhYmJiYzE4ZDRhNDY4ODMyZmZkMDY5MzNlOTRjNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTUwMCw2ICs1
MDAsMTkgQEAgcHJpdmF0ZToKICNlbmRpZgogfTsKIAorbmFtZXNwYWNlIEluc3RydW1lbnRhdGlv
bkV2ZW50cyB7CitleHRlcm4gY29uc3QgY2hhciBQYWludExheWVyW107CitleHRlcm4gY29uc3Qg
Y2hhciBSYXN0ZXJUYXNrW107CitleHRlcm4gY29uc3QgY2hhciBQYWludFtdOworZXh0ZXJuIGNv
bnN0IGNoYXIgTGF5ZXJbXTsKK2V4dGVybiBjb25zdCBjaGFyIEJlZ2luRnJhbWVbXTsKK307CisK
K25hbWVzcGFjZSBJbnN0cnVtZW50YXRpb25FdmVudEFyZ3VtZW50cyB7CitleHRlcm4gY29uc3Qg
Y2hhciBMYXllcklkW107CitleHRlcm4gY29uc3QgY2hhciBQYWdlSWRbXTsKK307CisKIGlubGlu
ZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ2xlYXJXaW5kb3dPYmplY3RJbldv
cmxkKEZyYW1lKiBmcmFtZSwgRE9NV3JhcHBlcldvcmxkKiB3b3JsZCkKIHsKICNpZiBFTkFCTEUo
SU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clRpbWVsaW5lQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRp
bWVsaW5lQWdlbnQuY3BwCmluZGV4IGE0MTExMzc1ZjcxN2M1MGM4NDQ2OWI3ZWM5NmQzZjdlMzFh
OWUwZTQuLmExYjY2MDQyYzZlOWE0MDE4YmMxZWRiMjcxOGM4ZmM2YjFkMDE1NGEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAK
QEAgLTExNyw2ICsxMTcsOSBAQCBzdGF0aWMgY29uc3QgY2hhciBXZWJTb2NrZXRDcmVhdGVbXSA9
ICJXZWJTb2NrZXRDcmVhdGUiOwogc3RhdGljIGNvbnN0IGNoYXIgV2ViU29ja2V0U2VuZEhhbmRz
aGFrZVJlcXVlc3RbXSA9ICJXZWJTb2NrZXRTZW5kSGFuZHNoYWtlUmVxdWVzdCI7CiBzdGF0aWMg
Y29uc3QgY2hhciBXZWJTb2NrZXRSZWNlaXZlSGFuZHNoYWtlUmVzcG9uc2VbXSA9ICJXZWJTb2Nr
ZXRSZWNlaXZlSGFuZHNoYWtlUmVzcG9uc2UiOwogc3RhdGljIGNvbnN0IGNoYXIgV2ViU29ja2V0
RGVzdHJveVtdID0gIldlYlNvY2tldERlc3Ryb3kiOworCisvLyBFdmVudCBuYW1lcyB2aXNpYmxl
IHRvIG90aGVyIG1vZHVsZXMuCitjb25zdCBjaGFyIFJhc3Rlcml6ZVtdID0gIlJhc3Rlcml6ZSI7
CiB9CiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6cHVzaEdDRXZlbnRSZWNvcmRzKCkK
QEAgLTE4OSw2ICsxOTIsNyBAQCB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnN0b3AoRXJy
b3JTdHJpbmcqKQogICAgIGlmICghbV9zdGF0ZS0+Z2V0Qm9vbGVhbihUaW1lbGluZUFnZW50U3Rh
dGU6OnRpbWVsaW5lQWdlbnRFbmFibGVkKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgbV90cmFj
ZUV2ZW50UHJvY2Vzc29yLT5zaHV0ZG93bigpOwogICAgIG1fdHJhY2VFdmVudFByb2Nlc3Nvci5j
bGVhcigpOwogICAgIG1fd2Vha0ZhY3RvcnkucmV2b2tlQWxsKCk7CiAgICAgbV9pbnN0cnVtZW50
aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JUaW1lbGluZUFnZW50KDApOwpAQCAtMjIyLDYgKzIyNiw3
IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6c3VwcG9ydHNGcmFtZUluc3RydW1lbnRh
dGlvbihFcnJvclN0cmluZyosIGJvb2wqIHJlCiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dDo6ZGlkQmVnaW5GcmFtZSgpCiB7CisgICAgVFJBQ0VfRVZFTlRfSU5TVEFOVDAoIndlYmtpdCIs
IEluc3RydW1lbnRhdGlvbkV2ZW50czo6QmVnaW5GcmFtZSk7CiAgICAgbV9wZW5kaW5nRnJhbWVS
ZWNvcmQgPSBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNSZWNvcmQodGltZXN0
YW1wKCksIDApOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yVGltZWxpbmVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clRpbWVsaW5lQWdlbnQuaAppbmRleCA4NzZlMjhjMWQxZjgwNGU1NjczYWVhN2UyYjNlOGVhNjBk
ZDRhMjM1Li5jNDk5Yzk4OWE5ZDU0Y2JhZmVmNjVlMDBmYzU2MzExZGE1OGE0YWQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKQEAg
LTYzLDYgKzYzLDEwIEBAIGNsYXNzIFRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3NvcjsKIAogdHlw
ZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CiAKK25hbWVzcGFjZSBUaW1lbGluZVJlY29yZFR5cGUg
eworZXh0ZXJuIGNvbnN0IGNoYXIgUmFzdGVyaXplW107Cit9OworCiBjbGFzcyBJbnNwZWN0b3JU
aW1lbGluZUFnZW50CiAgICAgOiBwdWJsaWMgSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3RvclRp
bWVsaW5lQWdlbnQ+LAogICAgICAgcHVibGljIFNjcmlwdEdDRXZlbnRMaXN0ZW5lciwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAKaW5k
ZXggOGRlZTUzMDBkZjc1NGFjMDYxMjBmMjliNjA1ZDgxYzM4YzkwODFiZC4uNjRiYWQ4MTFlMjlh
MWNkYWRmMmQ0NGJjMTY3MTcyZDllZmUwNzAzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAKQEAgLTIwNyw2ICsyMDcsMTQgQEAg
dm9pZCBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmFkZFJlY3REYXRhKEluc3BlY3Rvck9iamVjdCog
ZGF0YSwgY29uc3QgTGF5b3V0UmVjdCYKICAgICBkYXRhLT5zZXROdW1iZXIoImhlaWdodCIsIHJl
Y3QuaGVpZ2h0KCkpOwogfQogCitQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gVGltZWxpbmVS
ZWNvcmRGYWN0b3J5OjpjcmVhdGVSYXN0ZXJEYXRhKGRvdWJsZSB0b3RhbENQVVRpbWUsIGludCB0
aHJlYWRzVXNlZCkKK3sKKyAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBkYXRhID0gSW5zcGVj
dG9yT2JqZWN0OjpjcmVhdGUoKTsKKyAgICBkYXRhLT5zZXROdW1iZXIoInRvdGFsQ1BVVGltZSIs
IHRvdGFsQ1BVVGltZSk7CisgICAgZGF0YS0+c2V0TnVtYmVyKCJ0aHJlYWRzVXNlZCIsIHRocmVh
ZHNVc2VkKTsKKyAgICByZXR1cm4gZGF0YS5yZWxlYXNlKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmggYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmgKaW5kZXggZWY1ZGQ1NmQxMjlk
ZWJlODcwMDk5N2ZkZDhhNmRmNjBjZGQ2MTBjMC4uYWI1NGEzYTEzYmFiYTEzN2Y4OTNkNDNlOTZk
Yzg0NjI5NzIzZDgzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVs
aW5lUmVjb3JkRmFjdG9yeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGlu
ZVJlY29yZEZhY3RvcnkuaApAQCAtMTA2LDYgKzEwNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgICAgIHJldHVybiBkYXRhLnJlbGVhc2UoKTsKICAgICAgICAgfQogI2VuZGlmCisg
ICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gY3JlYXRlUmFzdGVyRGF0
YShkb3VibGUgdG90YWxDUFVUaW1lLCBpbnQgdGhyZWFkc1VzZWQpOwogCiAgICAgcHJpdmF0ZToK
ICAgICAgICAgVGltZWxpbmVSZWNvcmRGYWN0b3J5KCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3IuY3BwCmluZGV4
IDNiNjJjZjNlYjU4MjU0ZDdlZWNkYmIyYWFhNDJmZDNlMjVmN2MxZTMuLjkyMTBjYWFkZWY1NGZm
OTVmZjFhMDBlMGY4NDVmN2IxZjU1MDI1OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9UaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9UaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3IuY3BwCkBAIC03NSw4ICs3
NSw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0gICAgICAgIG1fcHJvY2Vzc29yc1tpbmRleF0gPSBt
X3Byb2Nlc3NvcnMubGFzdCgpOwotICAgICAgICBtX3Byb2Nlc3NvcnMucmVtb3ZlTGFzdCgpOwor
ICAgICAgICBtX3Byb2Nlc3NvcnMucmVtb3ZlKGluZGV4KTsKICAgICAgICAgaWYgKG1fcHJvY2Vz
c29ycy5pc0VtcHR5KCkpCiAgICAgICAgICAgICBjbGllbnQtPnNldFRyYWNlRXZlbnRDYWxsYmFj
aygwKTsKICAgICB9CkBAIC0xMDksNzYgKzEwOCwxNDggQEAgVGltZWxpbmVUcmFjZUV2ZW50UHJv
Y2Vzc29yOjpUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3IoV2Vha1B0cjxJbnNwZWN0b3JUaW1l
bGkKICAgICA6IG1fdGltZWxpbmVBZ2VudCh0aW1lbGluZUFnZW50KQogICAgICwgbV9pbnNwZWN0
b3JDbGllbnQoY2xpZW50KQogICAgICwgbV9wYWdlSWQocmVpbnRlcnByZXRfY2FzdDx1bnNpZ25l
ZCBsb25nIGxvbmc+KG1fdGltZWxpbmVBZ2VudC5nZXQoKS0+cGFnZSgpKSkKKyAgICAsIG1fZmly
c3RSYXN0ZXJTdGFydFRpbWUoMCkKKyAgICAsIG1fbGFzdFJhc3RlckVuZFRpbWUoMCkKKyAgICAs
IG1fZnJhbWVSYXN0ZXJUaW1lKDApCisgICAgLCBtX2xheWVySWQoMCkKIHsKKyAgICByZWdpc3Rl
ckhhbmRsZXIoSW5zdHJ1bWVudGF0aW9uRXZlbnRzOjpCZWdpbkZyYW1lLCBUcmFjZVBoYXNlSW5z
dGFudCwgJlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25CZWdpbkZyYW1lKTsKKyAgICBy
ZWdpc3RlckhhbmRsZXIoSW5zdHJ1bWVudGF0aW9uRXZlbnRzOjpQYWludExheWVyLCBUcmFjZVBo
YXNlQmVnaW4sICZUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6Om9uUGFpbnRMYXllckJlZ2lu
KTsKKyAgICByZWdpc3RlckhhbmRsZXIoSW5zdHJ1bWVudGF0aW9uRXZlbnRzOjpQYWludExheWVy
LCBUcmFjZVBoYXNlRW5kLCAmVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvblBhaW50TGF5
ZXJFbmQpOworICAgIHJlZ2lzdGVySGFuZGxlcihJbnN0cnVtZW50YXRpb25FdmVudHM6OlJhc3Rl
clRhc2ssIFRyYWNlUGhhc2VCZWdpbiwgJlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25S
YXN0ZXJUYXNrQmVnaW4pOworICAgIHJlZ2lzdGVySGFuZGxlcihJbnN0cnVtZW50YXRpb25FdmVu
dHM6OlJhc3RlclRhc2ssIFRyYWNlUGhhc2VFbmQsICZUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNz
b3I6Om9uUmFzdGVyVGFza0VuZCk7CisgICAgcmVnaXN0ZXJIYW5kbGVyKEluc3RydW1lbnRhdGlv
bkV2ZW50czo6TGF5ZXIsIFRyYWNlUGhhc2VEZWxldGVPYmplY3QsICZUaW1lbGluZVRyYWNlRXZl
bnRQcm9jZXNzb3I6Om9uTGF5ZXJEZWxldGVkKTsKKyAgICByZWdpc3RlckhhbmRsZXIoSW5zdHJ1
bWVudGF0aW9uRXZlbnRzOjpQYWludCwgVHJhY2VQaGFzZUluc3RhbnQsICZUaW1lbGluZVRyYWNl
RXZlbnRQcm9jZXNzb3I6Om9uUGFpbnQpOworCiAgICAgVHJhY2VFdmVudERpc3BhdGNoZXI6Omlu
c3RhbmNlKCktPmFkZFByb2Nlc3Nvcih0aGlzLCBtX2luc3BlY3RvckNsaWVudCk7CiB9CiAKIFRp
bWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6flRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcigp
CiB7Cit9CisKK3ZvaWQgVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpyZWdpc3RlckhhbmRs
ZXIoY29uc3QgY2hhciogbmFtZSwgVHJhY2VFdmVudFBoYXNlIHBoYXNlLCBUcmFjZUV2ZW50SGFu
ZGxlciBoYW5kbGVyKQoreworICAgIG1faGFuZGxlcnNCeVR5cGUuc2V0KHN0ZDo6bWFrZV9wYWly
KG5hbWUsIHBoYXNlKSwgaGFuZGxlcik7Cit9CisKK3ZvaWQgVGltZWxpbmVUcmFjZUV2ZW50UHJv
Y2Vzc29yOjpzaHV0ZG93bigpCit7CiAgICAgVHJhY2VFdmVudERpc3BhdGNoZXI6Omluc3RhbmNl
KCktPnJlbW92ZVByb2Nlc3Nvcih0aGlzLCBtX2luc3BlY3RvckNsaWVudCk7CiB9CiAKK3NpemVf
dCBUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6OlRyYWNlRXZlbnQ6OmZpbmRQYXJhbWV0ZXIo
Y29uc3QgY2hhciogbmFtZSkgY29uc3QKK3sKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IG1fYXJn
dW1lbnRDb3VudDsgKytpKSB7CisgICAgICAgIGlmICghc3RyY21wKG5hbWUsIG1fYXJndW1lbnRO
YW1lc1tpXSkpCisgICAgICAgICAgICByZXR1cm4gaTsKKyAgICB9CisgICAgcmV0dXJuIG5vdEZv
dW5kOworfQorCiBjb25zdCBUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6OlRyYWNlVmFsdWVV
bmlvbiYgVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpUcmFjZUV2ZW50OjpwYXJhbWV0ZXIo
Y29uc3QgY2hhciogbmFtZSwgVHJhY2VWYWx1ZVR5cGVzIGV4cGVjdGVkVHlwZSkgY29uc3QKIHsK
ICAgICBzdGF0aWMgVHJhY2VWYWx1ZVVuaW9uIG1pc3NpbmdWYWx1ZTsKLQotICAgIGZvciAoaW50
IGkgPSAwOyBpIDwgbV9hcmd1bWVudENvdW50OyArK2kpIHsKLSAgICAgICAgaWYgKCFzdHJjbXAo
bmFtZSwgbV9hcmd1bWVudE5hbWVzW2ldKSkgewotICAgICAgICAgICAgaWYgKG1fYXJndW1lbnRU
eXBlc1tpXSAhPSBleHBlY3RlZFR5cGUpIHsKLSAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gbWlzc2luZ1ZhbHVlOwotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgcmV0dXJuICpyZWludGVycHJldF9jYXN0PGNvbnN0IFRyYWNlVmFs
dWVVbmlvbio+KG1fYXJndW1lbnRWYWx1ZXMgKyBpKTsKLSAgICAgICAgfQorICAgIHNpemVfdCBp
bmRleCA9IGZpbmRQYXJhbWV0ZXIobmFtZSk7CisgICAgaWYgKGluZGV4ID09IG5vdEZvdW5kIHx8
IG1fYXJndW1lbnRUeXBlc1tpbmRleF0gIT0gZXhwZWN0ZWRUeXBlKSB7CisgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gbWlzc2luZ1ZhbHVlOwogICAgIH0KLSAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gbWlzc2luZ1ZhbHVlOworICAgIHJl
dHVybiAqcmVpbnRlcnByZXRfY2FzdDxjb25zdCBUcmFjZVZhbHVlVW5pb24qPihtX2FyZ3VtZW50
VmFsdWVzICsgaW5kZXgpOwogfQogCi12b2lkIFRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6
cHJvY2Vzc0V2ZW50T25BbnlUaHJlYWQoVHJhY2VFdmVudFBoYXNlIHBoYXNlLCBjb25zdCBjaGFy
KiBuYW1lLCB1bnNpZ25lZCBsb25nIGxvbmcsCit2b2lkIFRpbWVsaW5lVHJhY2VFdmVudFByb2Nl
c3Nvcjo6cHJvY2Vzc0V2ZW50T25BbnlUaHJlYWQoVHJhY2VFdmVudFBoYXNlIHBoYXNlLCBjb25z
dCBjaGFyKiBuYW1lLCB1bnNpZ25lZCBsb25nIGxvbmcgaWQsCiAgICAgaW50IG51bUFyZ3MsIGNv
bnN0IGNoYXIqIGNvbnN0KiBhcmdOYW1lcywgY29uc3QgdW5zaWduZWQgY2hhciogYXJnVHlwZXMs
IGNvbnN0IHVuc2lnbmVkIGxvbmcgbG9uZyogYXJnVmFsdWVzLAogICAgIHVuc2lnbmVkIGNoYXIp
CiB7Ci0gICAgSGFzaE1hcDxTdHJpbmcsIEV2ZW50VHlwZUVudHJ5Pjo6aXRlcmF0b3IgaXQgPSBt
X2hhbmRsZXJzQnlUeXBlLmZpbmQobmFtZSk7CisgICAgSGFuZGxlcnNNYXA6Oml0ZXJhdG9yIGl0
ID0gbV9oYW5kbGVyc0J5VHlwZS5maW5kKHN0ZDo6bWFrZV9wYWlyKG5hbWUsIHBoYXNlKSk7CiAg
ICAgaWYgKGl0ID09IG1faGFuZGxlcnNCeVR5cGUuZW5kKCkpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIFRyYWNlRXZlbnQgZXZlbnQoV1RGOjptb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSwg
cGhhc2UsIG5hbWUsIGN1cnJlbnRUaHJlYWQoKSwgbnVtQXJncywgYXJnTmFtZXMsIGFyZ1R5cGVz
LCBhcmdWYWx1ZXMpOworICAgIFRyYWNlRXZlbnQgZXZlbnQoV1RGOjptb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKSwgcGhhc2UsIG5hbWUsIGlkLCBjdXJyZW50VGhyZWFkKCksIG51bUFyZ3Ms
IGFyZ05hbWVzLCBhcmdUeXBlcywgYXJnVmFsdWVzKTsKIAogICAgIGlmICghaXNNYWluVGhyZWFk
KCkpIHsKICAgICAgICAgTXV0ZXhMb2NrZXIgbG9ja2VyKG1fYmFja2dyb3VuZEV2ZW50c011dGV4
KTsKICAgICAgICAgbV9iYWNrZ3JvdW5kRXZlbnRzLmFwcGVuZChldmVudCk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CisgICAgKHRoaXMtPiooaXQtPnZhbHVlKSkoZXZlbnQpOworfQogCi0gICAg
cHJvY2Vzc0V2ZW50KGl0LT52YWx1ZSwgZXZlbnQpOwordm9pZCBUaW1lbGluZVRyYWNlRXZlbnRQ
cm9jZXNzb3I6Om9uQmVnaW5GcmFtZShjb25zdCBUcmFjZUV2ZW50JikKK3sKKyAgICBmbHVzaFJh
c3Rlcml6ZXJTdGF0aXN0aWNzKCk7CiB9CiAKLXZvaWQgVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vz
c29yOjpwcm9jZXNzRXZlbnQoY29uc3QgRXZlbnRUeXBlRW50cnkmIGV2ZW50VHlwZUVudHJ5LCBj
b25zdCBUcmFjZUV2ZW50JiBldmVudCkKK3ZvaWQgVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29y
OjpvblBhaW50TGF5ZXJCZWdpbihjb25zdCBUcmFjZUV2ZW50JiBldmVudCkKIHsKLSAgICBUcmFj
ZUV2ZW50SGFuZGxlciBoYW5kbGVyID0gMDsKLSAgICBzd2l0Y2ggKGV2ZW50LnBoYXNlKCkpIHsK
LSAgICBjYXNlIFRyYWNlUGhhc2VCZWdpbjoKLSAgICAgICAgaGFuZGxlciA9IGV2ZW50VHlwZUVu
dHJ5Lm1fYmVnaW47Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgVHJhY2VQaGFzZUVuZDoKLSAg
ICAgICAgaGFuZGxlciA9IGV2ZW50VHlwZUVudHJ5Lm1fZW5kOwotICAgICAgICBicmVhazsKLSAg
ICBjYXNlIFRyYWNlUGhhc2VJbnN0YW50OgotICAgICAgICBoYW5kbGVyID0gZXZlbnRUeXBlRW50
cnkubV9pbnN0YW50OwotICAgICAgICBicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLSAgICB9Ci0gICAgaWYgKCFoYW5kbGVyKSB7Ci0gICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIG1fbGF5ZXJJZCA9IGV2ZW50LmFzVUludChJbnN0cnVt
ZW50YXRpb25FdmVudEFyZ3VtZW50czo6TGF5ZXJJZCk7CisgICAgQVNTRVJUKG1fbGF5ZXJJZCk7
Cit9CisKK3ZvaWQgVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvblBhaW50TGF5ZXJFbmQo
Y29uc3QgVHJhY2VFdmVudCYpCit7CisgICAgbV9sYXllcklkID0gMDsKK30KKwordm9pZCBUaW1l
bGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6Om9uUmFzdGVyVGFza0JlZ2luKGNvbnN0IFRyYWNlRXZl
bnQmIGV2ZW50KQoreworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBsYXllcklkID0gZXZlbnQuYXNV
SW50KEluc3RydW1lbnRhdGlvbkV2ZW50QXJndW1lbnRzOjpMYXllcklkKTsKKyAgICBUaHJlYWRJ
ZGVudGlmaWVyIHRocmVhZElkZW50aWZpZXIgPSBldmVudC50aHJlYWRJZGVudGlmaWVyKCk7Cisg
ICAgQVNTRVJUKG1fcmFzdGVyU3RhcnRUaW1lQnlUaHJlYWQuZ2V0KHRocmVhZElkZW50aWZpZXIp
ID09IEhhc2hUcmFpdHM8ZG91YmxlPjo6ZW1wdHlWYWx1ZSgpKTsKKyAgICBkb3VibGUgdGltZXN0
YW1wID0gbV9rbm93bkxheWVycy5jb250YWlucyhsYXllcklkKSA/IGV2ZW50LnRpbWVzdGFtcCgp
IDogMDsKKyAgICBtX3Jhc3RlclN0YXJ0VGltZUJ5VGhyZWFkLnNldCh0aHJlYWRJZGVudGlmaWVy
LCB0aW1lc3RhbXApOworfQorCit2b2lkIFRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25S
YXN0ZXJUYXNrRW5kKGNvbnN0IFRyYWNlRXZlbnQmIGV2ZW50KQoreworICAgIEhhc2hNYXA8VGhy
ZWFkSWRlbnRpZmllciwgZG91YmxlPjo6aXRlcmF0b3IgaXQgPSBtX3Jhc3RlclN0YXJ0VGltZUJ5
VGhyZWFkLmZpbmQoZXZlbnQudGhyZWFkSWRlbnRpZmllcigpKTsKKyAgICBpZiAoaXQgPT0gbV9y
YXN0ZXJTdGFydFRpbWVCeVRocmVhZC5lbmQoKSkKICAgICAgICAgcmV0dXJuOworICAgIGRvdWJs
ZSBzdGFydFRpbWUgPSBpdC0+dmFsdWU7CisgICAgZG91YmxlIGVuZFRpbWUgPSBldmVudC50aW1l
c3RhbXAoKTsKKyAgICBpZiAoc3RhcnRUaW1lID09IEhhc2hUcmFpdHM8ZG91YmxlPjo6ZW1wdHlW
YWx1ZSgpKSAvLyBSYXN0ZXJpemluZyB1bmtub3duIGxheWVyLgorICAgICAgICByZXR1cm47Cisg
ICAgbV9mcmFtZVJhc3RlclRpbWUgKz0gZW5kVGltZSAtIHN0YXJ0VGltZTsKKyAgICBpdC0+dmFs
dWUgPSBIYXNoVHJhaXRzPGRvdWJsZT46OmVtcHR5VmFsdWUoKTsKKyAgICBpZiAoIW1fZmlyc3RS
YXN0ZXJTdGFydFRpbWUgfHwgbV9maXJzdFJhc3RlclN0YXJ0VGltZSA+IHN0YXJ0VGltZSkKKyAg
ICAgICAgbV9maXJzdFJhc3RlclN0YXJ0VGltZSA9IHN0YXJ0VGltZTsKKyAgICBtX2xhc3RSYXN0
ZXJFbmRUaW1lID0gZW5kVGltZTsKK30KKwordm9pZCBUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNz
b3I6Om9uTGF5ZXJEZWxldGVkKGNvbnN0IFRyYWNlRXZlbnQmIGV2ZW50KQoreworICAgIHVuc2ln
bmVkIGxvbmcgbG9uZyBpZCA9IGV2ZW50LmlkKCk7CisgICAgQVNTRVJUKGlkKTsKKyAgICBwcm9j
ZXNzQmFja2dyb3VuZEV2ZW50cygpOworICAgIG1fa25vd25MYXllcnMucmVtb3ZlKGlkKTsKK30K
Kwordm9pZCBUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6Om9uUGFpbnQoY29uc3QgVHJhY2VF
dmVudCYgZXZlbnQpCit7CisgICAgaWYgKCFtX2xheWVySWQpCisgICAgICAgIHJldHVybjsKKwor
ICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBwYWdlSWQgPSBldmVudC5hc1VJbnQoSW5zdHJ1bWVudGF0
aW9uRXZlbnRBcmd1bWVudHM6OlBhZ2VJZCk7CisgICAgaWYgKHBhZ2VJZCA9PSBtX3BhZ2VJZCkK
KyAgICAgICAgbV9rbm93bkxheWVycy5hZGQobV9sYXllcklkKTsKK30KKwordm9pZCBUaW1lbGlu
ZVRyYWNlRXZlbnRQcm9jZXNzb3I6OmZsdXNoUmFzdGVyaXplclN0YXRpc3RpY3MoKQoreworICAg
IHByb2Nlc3NCYWNrZ3JvdW5kRXZlbnRzKCk7CisgICAgaWYgKG1fbGFzdFJhc3RlckVuZFRpbWUp
IHsKKyAgICAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGF0YSA9IFRpbWVsaW5lUmVjb3Jk
RmFjdG9yeTo6Y3JlYXRlUmFzdGVyRGF0YShtX2ZyYW1lUmFzdGVyVGltZSwgbV9yYXN0ZXJTdGFy
dFRpbWVCeVRocmVhZC5zaXplKCkpOworICAgICAgICBzZW5kVGltZWxpbmVSZWNvcmQoZGF0YSwg
VGltZWxpbmVSZWNvcmRUeXBlOjpSYXN0ZXJpemUsIG1fZmlyc3RSYXN0ZXJTdGFydFRpbWUsIG1f
bGFzdFJhc3RlckVuZFRpbWUsICJtdWx0aXBsZSIpOwogICAgIH0KLSAgICAodGhpcy0+KmhhbmRs
ZXIpKGV2ZW50KTsKKyAgICBtX2ZpcnN0UmFzdGVyU3RhcnRUaW1lID0gMDsKKyAgICBtX2xhc3RS
YXN0ZXJFbmRUaW1lID0gMDsKKyAgICBtX2ZyYW1lUmFzdGVyVGltZSA9IDA7CiB9CiAKIHZvaWQg
VGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpzZW5kVGltZWxpbmVSZWNvcmQoUGFzc1JlZlB0
cjxJbnNwZWN0b3JPYmplY3Q+IGRhdGEsIGNvbnN0IFN0cmluZyYgcmVjb3JkVHlwZSwgZG91Ymxl
IHN0YXJ0VGltZSwgZG91YmxlIGVuZFRpbWUsIGNvbnN0IFN0cmluZyYgdGhyZWFkKQogeworICAg
IEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogdGlt
ZWxpbmVBZ2VudCA9IG1fdGltZWxpbmVBZ2VudC5nZXQoKTsKICAgICBpZiAoIXRpbWVsaW5lQWdl
bnQpCiAgICAgICAgIHJldHVybjsKQEAgLTE4Nyw2ICsyNTgsNyBAQCB2b2lkIFRpbWVsaW5lVHJh
Y2VFdmVudFByb2Nlc3Nvcjo6c2VuZFRpbWVsaW5lUmVjb3JkKFBhc3NSZWZQdHI8SW5zcGVjdG9y
T2JqZWN0PgogCiB2b2lkIFRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6cHJvY2Vzc0JhY2tn
cm91bmRFdmVudHMoKQogeworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgVmVjdG9y
PFRyYWNlRXZlbnQ+IGV2ZW50czsKICAgICB7CiAgICAgICAgIE11dGV4TG9ja2VyIGxvY2tlciht
X2JhY2tncm91bmRFdmVudHNNdXRleCk7CkBAIC0xOTUsNyArMjY3LDkgQEAgdm9pZCBUaW1lbGlu
ZVRyYWNlRXZlbnRQcm9jZXNzb3I6OnByb2Nlc3NCYWNrZ3JvdW5kRXZlbnRzKCkKICAgICB9CiAg
ICAgZm9yIChzaXplX3QgaSA9IDAsIHNpemUgPSBldmVudHMuc2l6ZSgpOyBpIDwgc2l6ZTsgKytp
KSB7CiAgICAgICAgIGNvbnN0IFRyYWNlRXZlbnQmIGV2ZW50ID0gZXZlbnRzW2ldOwotICAgICAg
ICBwcm9jZXNzRXZlbnQobV9oYW5kbGVyc0J5VHlwZS5maW5kKGV2ZW50Lm5hbWUoKSktPnZhbHVl
LCBldmVudCk7CisgICAgICAgIEhhbmRsZXJzTWFwOjppdGVyYXRvciBpdCA9IG1faGFuZGxlcnNC
eVR5cGUuZmluZChzdGQ6Om1ha2VfcGFpcihldmVudC5uYW1lKCksIGV2ZW50LnBoYXNlKCkpKTsK
KyAgICAgICAgQVNTRVJUKGl0ICE9IG1faGFuZGxlcnNCeVR5cGUuZW5kKCkgJiYgaXQtPnZhbHVl
KTsKKyAgICAgICAgKHRoaXMtPiooaXQtPnZhbHVlKSkoZXZlbnQpOwogICAgIH0KIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVudFByb2Nl
c3Nvci5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVudFByb2Nl
c3Nvci5oCmluZGV4IDc0ZGE3Y2FmMmZmZmU4NTg5NmQwODVlNDZkZjgxNjcxOWE4MzZhN2MuLjg2
MWFiOTA4MjBkM2VhYzhkNTBhMmYwOGQ2ZWU5YWRlYmRmYjhjM2EgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3IuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yLmgKQEAg
LTU1LDEyICs1NSwxNSBAQCBwdWJsaWM6CiAgICAgZW51bSBUcmFjZUV2ZW50UGhhc2UgewogICAg
ICAgICBUcmFjZVBoYXNlQmVnaW4gPSAnQicsCiAgICAgICAgIFRyYWNlUGhhc2VFbmQgPSAnRScs
Ci0gICAgICAgIFRyYWNlUGhhc2VJbnN0YW50ID0gJ0knCisgICAgICAgIFRyYWNlUGhhc2VJbnN0
YW50ID0gJ0knLAorICAgICAgICBUcmFjZVBoYXNlQ3JlYXRlT2JqZWN0ID0gJ04nLAorICAgICAg
ICBUcmFjZVBoYXNlRGVsZXRlT2JqZWN0ID0gJ0QnCiAgICAgfTsKIAogICAgIFRpbWVsaW5lVHJh
Y2VFdmVudFByb2Nlc3NvcihXZWFrUHRyPEluc3BlY3RvclRpbWVsaW5lQWdlbnQ+LCBJbnNwZWN0
b3JDbGllbnQqKTsKICAgICB+VGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yKCk7CiAKKyAgICB2
b2lkIHNodXRkb3duKCk7CiAgICAgdm9pZCBwcm9jZXNzRXZlbnRPbkFueVRocmVhZChUcmFjZUV2
ZW50UGhhc2UsIGNvbnN0IGNoYXIqIG5hbWUsIHVuc2lnbmVkIGxvbmcgbG9uZyBpZCwKICAgICAg
ICAgaW50IG51bUFyZ3MsIGNvbnN0IGNoYXIqIGNvbnN0KiBhcmdOYW1lcywgY29uc3QgdW5zaWdu
ZWQgY2hhciogYXJnVHlwZXMsIGNvbnN0IHVuc2lnbmVkIGxvbmcgbG9uZyogYXJnVmFsdWVzLAog
ICAgICAgICB1bnNpZ25lZCBjaGFyIGZsYWdzKTsKQEAgLTkzLDIyICs5NiwzMCBAQCBwcml2YXRl
OgogICAgICAgICB7CiAgICAgICAgIH0KIAotICAgICAgICBUcmFjZUV2ZW50KGRvdWJsZSB0aW1l
c3RhbXAsIFRyYWNlRXZlbnRQaGFzZSBwaGFzZSwgY29uc3QgY2hhciogbmFtZSwgVGhyZWFkSWRl
bnRpZmllciB0aHJlYWRJZGVudGlmaWVyLAorICAgICAgICBUcmFjZUV2ZW50KGRvdWJsZSB0aW1l
c3RhbXAsIFRyYWNlRXZlbnRQaGFzZSBwaGFzZSwgY29uc3QgY2hhciogbmFtZSwgdW5zaWduZWQg
bG9uZyBsb25nIGlkLCBUaHJlYWRJZGVudGlmaWVyIHRocmVhZElkZW50aWZpZXIsCiAgICAgICAg
ICAgICBpbnQgYXJndW1lbnRDb3VudCwgY29uc3QgY2hhciogY29uc3QqIGFyZ3VtZW50TmFtZXMs
IGNvbnN0IHVuc2lnbmVkIGNoYXIqIGFyZ3VtZW50VHlwZXMsIGNvbnN0IHVuc2lnbmVkIGxvbmcg
bG9uZyogYXJndW1lbnRWYWx1ZXMpCiAgICAgICAgICAgICA6IG1fdGltZXN0YW1wKHRpbWVzdGFt
cCkKICAgICAgICAgICAgICwgbV9waGFzZShwaGFzZSkKICAgICAgICAgICAgICwgbV9uYW1lKG5h
bWUpCisgICAgICAgICAgICAsIG1faWQoaWQpCiAgICAgICAgICAgICAsIG1fdGhyZWFkSWRlbnRp
Zmllcih0aHJlYWRJZGVudGlmaWVyKQogICAgICAgICAgICAgLCBtX2FyZ3VtZW50Q291bnQoYXJn
dW1lbnRDb3VudCkKLSAgICAgICAgICAgICwgbV9hcmd1bWVudE5hbWVzKGFyZ3VtZW50TmFtZXMp
Ci0gICAgICAgICAgICAsIG1fYXJndW1lbnRUeXBlcyhhcmd1bWVudFR5cGVzKQotICAgICAgICAg
ICAgLCBtX2FyZ3VtZW50VmFsdWVzKGFyZ3VtZW50VmFsdWVzKQogICAgICAgICB7CisgICAgICAg
ICAgICBpZiAobV9hcmd1bWVudENvdW50ID4gTWF4QXJndW1lbnRzKSB7CisgICAgICAgICAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICAgICAgbV9hcmd1bWVudENvdW50
ID0gTWF4QXJndW1lbnRzOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZm9yIChpbnQgaSA9
IDA7IGkgPCBtX2FyZ3VtZW50Q291bnQ7ICsraSkgeworICAgICAgICAgICAgICAgIG1fYXJndW1l
bnROYW1lc1tpXSA9IGFyZ3VtZW50TmFtZXNbaV07CisgICAgICAgICAgICAgICAgbV9hcmd1bWVu
dFR5cGVzW2ldID0gYXJndW1lbnRUeXBlc1tpXTsKKyAgICAgICAgICAgICAgICBtX2FyZ3VtZW50
VmFsdWVzW2ldID0gYXJndW1lbnRWYWx1ZXNbaV07CisgICAgICAgICAgICB9CiAgICAgICAgIH0K
IAogICAgICAgICBkb3VibGUgdGltZXN0YW1wKCkgY29uc3QgeyByZXR1cm4gbV90aW1lc3RhbXA7
IH0KICAgICAgICAgVHJhY2VFdmVudFBoYXNlIHBoYXNlKCkgY29uc3QgeyByZXR1cm4gbV9waGFz
ZTsgfQogICAgICAgICBjb25zdCBjaGFyKiBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lOyB9
CisgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBpZCgpIGNvbnN0IHsgcmV0dXJuIG1faWQ7IH0K
ICAgICAgICAgVGhyZWFkSWRlbnRpZmllciB0aHJlYWRJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1
cm4gbV90aHJlYWRJZGVudGlmaWVyOyB9CiAgICAgICAgIGludCBhcmd1bWVudENvdW50KCkgY29u
c3QgeyByZXR1cm4gbV9hcmd1bWVudENvdW50OyB9CiAKQEAgLTExOCwxMSArMTI5LDE2IEBAIHBy
aXZhdGU6CiAgICAgICAgIH0KICAgICAgICAgbG9uZyBsb25nIGFzSW50KGNvbnN0IGNoYXIqIG5h
bWUpIGNvbnN0CiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBwYXJhbWV0ZXIobmFtZSwg
VHlwZUludCkubV9pbnQ7CisgICAgICAgICAgICBzaXplX3QgaW5kZXggPSBmaW5kUGFyYW1ldGVy
KG5hbWUpOworICAgICAgICAgICAgaWYgKGluZGV4ID09IG5vdEZvdW5kIHx8IChtX2FyZ3VtZW50
VHlwZXNbaW5kZXhdICE9IFR5cGVJbnQgJiYgbV9hcmd1bWVudFR5cGVzW2luZGV4XSAhPSBUeXBl
VUludCkpIHsKKyAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAg
ICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybiByZWlu
dGVycHJldF9jYXN0PGNvbnN0IFRyYWNlVmFsdWVVbmlvbio+KG1fYXJndW1lbnRWYWx1ZXMgKyBp
bmRleCktPm1faW50OwogICAgICAgICB9CiAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBhc1VJ
bnQoY29uc3QgY2hhciogbmFtZSkgY29uc3QKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJu
IHBhcmFtZXRlcihuYW1lLCBUeXBlVUludCkubV91aW50OworICAgICAgICAgICAgcmV0dXJuIGFz
SW50KG5hbWUpOwogICAgICAgICB9CiAgICAgICAgIGRvdWJsZSBhc0RvdWJsZShjb25zdCBjaGFy
KiBuYW1lKSBjb25zdAogICAgICAgICB7CkBAIC0xMzQsNTggKzE1MCw1NiBAQCBwcml2YXRlOgog
ICAgICAgICB9CiAKICAgICBwcml2YXRlOgorICAgICAgICBlbnVtIHsgTWF4QXJndW1lbnRzID0g
MiB9OworCisgICAgICAgIHNpemVfdCBmaW5kUGFyYW1ldGVyKGNvbnN0IGNoYXIqKSBjb25zdDsK
ICAgICAgICAgY29uc3QgVHJhY2VWYWx1ZVVuaW9uJiBwYXJhbWV0ZXIoY29uc3QgY2hhciogbmFt
ZSwgVHJhY2VWYWx1ZVR5cGVzIGV4cGVjdGVkVHlwZSkgY29uc3Q7CiAKICAgICAgICAgZG91Ymxl
IG1fdGltZXN0YW1wOwogICAgICAgICBUcmFjZUV2ZW50UGhhc2UgbV9waGFzZTsKICAgICAgICAg
Y29uc3QgY2hhciogbV9uYW1lOworICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgbV9pZDsKICAg
ICAgICAgVGhyZWFkSWRlbnRpZmllciBtX3RocmVhZElkZW50aWZpZXI7CiAgICAgICAgIGludCBt
X2FyZ3VtZW50Q291bnQ7Ci0gICAgICAgIGNvbnN0IGNoYXIqIGNvbnN0KiBtX2FyZ3VtZW50TmFt
ZXM7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIG1fYXJndW1lbnRUeXBlczsKLSAgICAg
ICAgY29uc3QgdW5zaWduZWQgbG9uZyBsb25nKiBtX2FyZ3VtZW50VmFsdWVzOworICAgICAgICBj
b25zdCBjaGFyKiBtX2FyZ3VtZW50TmFtZXNbTWF4QXJndW1lbnRzXTsKKyAgICAgICAgdW5zaWdu
ZWQgY2hhciBtX2FyZ3VtZW50VHlwZXNbTWF4QXJndW1lbnRzXTsKKyAgICAgICAgdW5zaWduZWQg
bG9uZyBsb25nIG1fYXJndW1lbnRWYWx1ZXNbTWF4QXJndW1lbnRzXTsKICAgICB9OwogCiAgICAg
dHlwZWRlZiB2b2lkIChUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6OipUcmFjZUV2ZW50SGFu
ZGxlcikoY29uc3QgVHJhY2VFdmVudCYpOwogCi0gICAgc3RydWN0IEV2ZW50VHlwZUVudHJ5IHsK
LSAgICAgICAgRXZlbnRUeXBlRW50cnkoKQotICAgICAgICAgICAgOiBtX2JlZ2luKDApCi0gICAg
ICAgICAgICAsIG1fZW5kKDApCi0gICAgICAgICAgICAsIG1faW5zdGFudCgwKQotICAgICAgICB7
Ci0gICAgICAgIH0KLSAgICAgICAgZXhwbGljaXQgRXZlbnRUeXBlRW50cnkoVHJhY2VFdmVudEhh
bmRsZXIgaW5zdGFudCkKLSAgICAgICAgICAgIDogbV9iZWdpbigwKQotICAgICAgICAgICAgLCBt
X2VuZCgwKQotICAgICAgICAgICAgLCBtX2luc3RhbnQoaW5zdGFudCkKLSAgICAgICAgewotICAg
ICAgICB9Ci0gICAgICAgIEV2ZW50VHlwZUVudHJ5KFRyYWNlRXZlbnRIYW5kbGVyIGJlZ2luLCBU
cmFjZUV2ZW50SGFuZGxlciBlbmQpCi0gICAgICAgICAgICA6IG1fYmVnaW4oYmVnaW4pCi0gICAg
ICAgICAgICAsIG1fZW5kKGVuZCkKLSAgICAgICAgICAgICwgbV9pbnN0YW50KDApCi0gICAgICAg
IHsKLSAgICAgICAgfQorICAgIHZvaWQgcHJvY2Vzc0JhY2tncm91bmRFdmVudHMoKTsKKyAgICB2
b2lkIHNlbmRUaW1lbGluZVJlY29yZChQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGF0YSwg
Y29uc3QgU3RyaW5nJiByZWNvcmRUeXBlLCBkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgZW5kVGlt
ZSwgY29uc3QgU3RyaW5nJiBUaHJlYWQpOwogCi0gICAgICAgIFRyYWNlRXZlbnRIYW5kbGVyIG1f
YmVnaW47Ci0gICAgICAgIFRyYWNlRXZlbnRIYW5kbGVyIG1fZW5kOwotICAgICAgICBUcmFjZUV2
ZW50SGFuZGxlciBtX2luc3RhbnQ7Ci0gICAgfTsKKyAgICB2b2lkIG9uQmVnaW5GcmFtZShjb25z
dCBUcmFjZUV2ZW50Jik7CisgICAgdm9pZCBvblBhaW50TGF5ZXJCZWdpbihjb25zdCBUcmFjZUV2
ZW50Jik7CisgICAgdm9pZCBvblBhaW50TGF5ZXJFbmQoY29uc3QgVHJhY2VFdmVudCYpOworICAg
IHZvaWQgb25SYXN0ZXJUYXNrQmVnaW4oY29uc3QgVHJhY2VFdmVudCYpOworICAgIHZvaWQgb25S
YXN0ZXJUYXNrRW5kKGNvbnN0IFRyYWNlRXZlbnQmKTsKKyAgICB2b2lkIG9uTGF5ZXJEZWxldGVk
KGNvbnN0IFRyYWNlRXZlbnQmKTsKKyAgICB2b2lkIG9uUGFpbnQoY29uc3QgVHJhY2VFdmVudCYp
OwogCi0gICAgdm9pZCBwcm9jZXNzQmFja2dyb3VuZEV2ZW50cygpOwotICAgIHZvaWQgc2VuZFRp
bWVsaW5lUmVjb3JkKFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBkYXRhLCBjb25zdCBTdHJp
bmcmIHJlY29yZFR5cGUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBlbmRUaW1lLCBjb25zdCBT
dHJpbmcmIHRocmVhZCk7Ci0gICAgdm9pZCBwcm9jZXNzRXZlbnQoY29uc3QgRXZlbnRUeXBlRW50
cnkmLCBjb25zdCBUcmFjZUV2ZW50Jik7CisgICAgdm9pZCBmbHVzaFJhc3Rlcml6ZXJTdGF0aXN0
aWNzKCk7CisKKyAgICB2b2lkIHJlZ2lzdGVySGFuZGxlcihjb25zdCBjaGFyKiBuYW1lLCBUcmFj
ZUV2ZW50UGhhc2UsIFRyYWNlRXZlbnRIYW5kbGVyKTsKIAogICAgIFdlYWtQdHI8SW5zcGVjdG9y
VGltZWxpbmVBZ2VudD4gbV90aW1lbGluZUFnZW50OwogICAgIEluc3BlY3RvckNsaWVudCogbV9p
bnNwZWN0b3JDbGllbnQ7CiAKLSAgICBIYXNoTWFwPFN0cmluZywgRXZlbnRUeXBlRW50cnk+IG1f
aGFuZGxlcnNCeVR5cGU7CisgICAgdHlwZWRlZiBIYXNoTWFwPHN0ZDo6cGFpcjxTdHJpbmcsIGlu
dD4sIFRyYWNlRXZlbnRIYW5kbGVyPiBIYW5kbGVyc01hcDsKKyAgICBIYW5kbGVyc01hcCBtX2hh
bmRsZXJzQnlUeXBlOwogICAgIE11dGV4IG1fYmFja2dyb3VuZEV2ZW50c011dGV4OwogICAgIFZl
Y3RvcjxUcmFjZUV2ZW50PiBtX2JhY2tncm91bmRFdmVudHM7CiAgICAgdW5zaWduZWQgbG9uZyBs
b25nIG1fcGFnZUlkOwotfTsKIAorICAgIEhhc2hTZXQ8dW5zaWduZWQgbG9uZyBsb25nPiBtX2tu
b3duTGF5ZXJzOworICAgIEhhc2hNYXA8VGhyZWFkSWRlbnRpZmllciwgZG91YmxlPiBtX3Jhc3Rl
clN0YXJ0VGltZUJ5VGhyZWFkOworICAgIGRvdWJsZSBtX2ZpcnN0UmFzdGVyU3RhcnRUaW1lOwor
ICAgIGRvdWJsZSBtX2xhc3RSYXN0ZXJFbmRUaW1lOworICAgIGRvdWJsZSBtX2ZyYW1lUmFzdGVy
VGltZTsKKworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBtX2xheWVySWQ7Cit9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvVGltZWxpbmVNb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvVGltZWxpbmVNb2RlbC5qcwppbmRleCA2ZGFkMjFkY2M2Y2YwYTkwNTE4Y2FmNzFiMzdi
NjExOThiNmE3OTczLi4zZTVhZGUxNjhjODYyMmUwNTRlYjA3MWIzZGM0MzFjODhiMzE0NTI5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lTW9k
ZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZU1v
ZGVsLmpzCkBAIC01Niw2ICs1Niw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29y
ZFR5cGUgPSB7CiAgICAgSW52YWxpZGF0ZUxheW91dDogIkludmFsaWRhdGVMYXlvdXQiLAogICAg
IExheW91dDogIkxheW91dCIsCiAgICAgUGFpbnQ6ICJQYWludCIsCisgICAgUmFzdGVyaXplOiAi
UmFzdGVyaXplIiwKICAgICBTY3JvbGxMYXllcjogIlNjcm9sbExheWVyIiwKICAgICBEZWNvZGVJ
bWFnZTogIkRlY29kZUltYWdlIiwKICAgICBSZXNpemVJbWFnZTogIlJlc2l6ZUltYWdlIiwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQcmVz
ZW50YXRpb25Nb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGlt
ZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5qcwppbmRleCA3ZmY0MmQ3NWU3NGJmOTVkNmUzZTIwYzg5
MWJkMWQ5YTVjN2QxZWE4Li4yNWU4OTMyNzQ4MzYxNDI3ZWQzOTdkNzMwZmFjZTE1ODkzYTg3Mjcx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5l
UHJlc2VudGF0aW9uTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmpzCkBAIC03Niw2ICs3Niw3IEBAIFdlYklu
c3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLl9pbml0UmVjb3JkU3R5bGVzID0gZnVu
Y3Rpb24oKQogICAgIHJlY29yZFN0eWxlc1tyZWNvcmRUeXBlcy5JbnZhbGlkYXRlTGF5b3V0XSA9
IHsgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiSW52YWxpZGF0ZSBMYXlvdXQiKSwgY2F0
ZWdvcnk6IGNhdGVnb3JpZXNbInJlbmRlcmluZyJdIH07CiAgICAgcmVjb3JkU3R5bGVzW3JlY29y
ZFR5cGVzLkxheW91dF0gPSB7IHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkxheW91dCIp
LCBjYXRlZ29yeTogY2F0ZWdvcmllc1sicmVuZGVyaW5nIl0gfTsKICAgICByZWNvcmRTdHlsZXNb
cmVjb3JkVHlwZXMuUGFpbnRdID0geyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJQYWlu
dCIpLCBjYXRlZ29yeTogY2F0ZWdvcmllc1sicGFpbnRpbmciXSB9OworICAgIHJlY29yZFN0eWxl
c1tyZWNvcmRUeXBlcy5SYXN0ZXJpemVdID0geyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJSYXN0ZXJpemUiKSwgY2F0ZWdvcnk6IGNhdGVnb3JpZXNbInBhaW50aW5nIl0gfTsKICAgICBy
ZWNvcmRTdHlsZXNbcmVjb3JkVHlwZXMuU2Nyb2xsTGF5ZXJdID0geyB0aXRsZTogV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJTY3JvbGwiKSwgY2F0ZWdvcnk6IGNhdGVnb3JpZXNbInBhaW50aW5nIl0g
fTsKICAgICByZWNvcmRTdHlsZXNbcmVjb3JkVHlwZXMuRGVjb2RlSW1hZ2VdID0geyB0aXRsZTog
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJJbWFnZSBEZWNvZGUiKSwgY2F0ZWdvcnk6IGNhdGVnb3Jp
ZXNbInBhaW50aW5nIl0gfTsKICAgICByZWNvcmRTdHlsZXNbcmVjb3JkVHlwZXMuUmVzaXplSW1h
Z2VdID0geyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJJbWFnZSBSZXNpemUiKSwgY2F0
ZWdvcnk6IGNhdGVnb3JpZXNbInBhaW50aW5nIl0gfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1lbnVtLXN0YWJpbGl0eS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZW51bS1zdGFiaWxpdHkt
ZXhwZWN0ZWQudHh0CmluZGV4IGQ1N2I1MjYxZjA3MTBiODUyYTRmMzYwMTE1ZTk3MzlmNzY1OTE5
ODUuLmYyNTNkZTU3MmZmMTk5N2VmMTdkYzUzNGE2ZGM0ODgzYzg5MWI3MzYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1lbnVtLXN0YWJpbGl0eS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5l
LWVudW0tc3RhYmlsaXR5LWV4cGVjdGVkLnR4dApAQCAtMTksNiArMTksNyBAQCBBcHBsaWNhdGlv
bnMgb3V0c2lkZSBvZiBXZWJLaXQgZGVwZW5kIG9uIHRoZSBzdGFiaWxpdHkgb2YgdGhlIG1hcHBp
bmcgb2YgdGhlc2UgdAogICAgIFBhaW50IDogIlBhaW50IgogICAgIFBhcnNlSFRNTCA6ICJQYXJz
ZUhUTUwiCiAgICAgUHJvZ3JhbSA6ICJQcm9ncmFtIgorICAgIFJhc3Rlcml6ZSA6ICJSYXN0ZXJp
emUiCiAgICAgUmVjYWxjdWxhdGVTdHlsZXMgOiAiUmVjYWxjdWxhdGVTdHlsZXMiCiAgICAgUmVx
dWVzdEFuaW1hdGlvbkZyYW1lIDogIlJlcXVlc3RBbmltYXRpb25GcmFtZSIKICAgICBSZXNpemVJ
bWFnZSA6ICJSZXNpemVJbWFnZSIK
</data>
<flag name="commit-queue"
          id="210928"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190300</attachid>
            <date>2013-02-26 09:16:23 -0800</date>
            <delta_ts>2013-02-26 09:16:23 -0800</delta_ts>
            <desc>EWS run</desc>
            <filename>bug-105851-20130226211237.patch</filename>
            <type>text/plain</type>
            <size>27230</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0MDYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTcyYzI3OWEzMDUxZTNi
YjhiZjMyNzQ5NGZiMzllOWIwNzNkYTA1ZS4uNWQ5Y2ZjZDFkOGQ4MGJhYWVkZWM3YTkwN2Y1Y2Ex
YWZlZDEwZWZmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDEzLTAyLTI2ICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogc2hvdyByYXN0ZXIgdGFza3Mgb24gVGltZWxpbmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTg1MQorCisgICAgICAgIC0gYWRkIERlZmVyUGFp
bnQsIFBhaW50ICYgUmFzdGVyVGFzayB0cmFjZSBldmVudHMgaGFuZGxpbmcgdG8gdHJhY2UgZXZl
bnQgcHJvY2Vzc29yOworICAgICAgICAtIHVwb24gYmVnaW4gZnJhbWUsIGVtaXQgYWdncmVnYXRl
ZCBiYWNrZ3JvdW5kIGV2ZW50IGZvciBhbGwgcmFzdGVyIHRhc2tzIHJlbGF0ZWQgdG8gaW5zcGVj
dGVkIHBhZ2UuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxs
UGFpbnRJbXBsKToKKyAgICAgICAgKEluc3RydW1lbnRhdGlvbkV2ZW50cyk6CisgICAgICAgIChJ
bnN0cnVtZW50YXRpb25FdmVudEFyZ3VtZW50cyk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoSW5zdHJ1bWVudGF0aW9uRXZlbnRzKToK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoSW5zdHJ1bWVudGF0aW9uRXZlbnRBcmd1bWVu
dHMpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcDoKKyAg
ICAgICAgKFRpbWVsaW5lUmVjb3JkVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JU
aW1lbGluZUFnZW50OjpzdG9wKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5l
QWdlbnQ6OmRpZEJlZ2luRnJhbWUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50Lmg6CisgICAgICAgIChUaW1lbGluZVJlY29yZFR5cGUpOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgICogaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZVJhc3RlckRhdGEp
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3Jk
RmFjdG9yeS5oOgorICAgICAgICAoVGltZWxpbmVSZWNvcmRGYWN0b3J5KToKKyAgICAgICAgKiBp
bnNwZWN0b3IvVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6VGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vz
c29yKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6flRp
bWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6cmVnaXN0ZXJIYW5kbGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6c2h1dGRvd24p
OgorICAgICAgICAoV2ViQ29yZTo6VGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpUcmFjZUV2
ZW50OjpmaW5kUGFyYW1ldGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lVHJhY2VFdmVu
dFByb2Nlc3Nvcjo6VHJhY2VFdmVudDo6cGFyYW1ldGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRp
bWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6cHJvY2Vzc0V2ZW50T25BbnlUaHJlYWQpOgorICAg
ICAgICAoV2ViQ29yZTo6VGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvbkJlZ2luRnJhbWUp
OgorICAgICAgICAoV2ViQ29yZTo6VGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvblBhaW50
TGF5ZXJCZWdpbik6CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNz
b3I6Om9uUGFpbnRMYXllckVuZCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVRyYWNlRXZl
bnRQcm9jZXNzb3I6Om9uUmFzdGVyVGFza0JlZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVs
aW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25SYXN0ZXJUYXNrRW5kKToKKyAgICAgICAgKFdlYkNv
cmU6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25MYXllckRlbGV0ZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6VGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpvblBhaW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6Zmx1c2hSYXN0ZXJpemVy
U3RhdGlzdGljcyk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNz
b3I6OnNlbmRUaW1lbGluZVJlY29yZCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVRyYWNl
RXZlbnRQcm9jZXNzb3I6OnByb2Nlc3NCYWNrZ3JvdW5kRXZlbnRzKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yLmg6CisgICAgICAgIChXZWJDb3JlOjpU
aW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6OlRyYWNlRXZlbnQ6OlRyYWNlRXZlbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6VGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpUcmFjZUV2ZW50Ojpp
ZCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6OlRyYWNl
RXZlbnQ6OmFzSW50KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nl
c3Nvcjo6VHJhY2VFdmVudDo6YXNVSW50KToKKyAgICAgICAgKFRpbWVsaW5lVHJhY2VFdmVudFBy
b2Nlc3Nvcik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZU1vZGVsLmpz
OgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQcmVzZW50YXRpb25Nb2Rl
bC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLl9p
bml0UmVjb3JkU3R5bGVzKToKKwogMjAxMy0wMi0yNiAgQWxiZXJ0byBHYXJjaWEgIDxhZ2FyY2lh
QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0JsYWNrQmVycnldIFVwc3RyZWFtIHRoZSBkYXRhbGlz
dCBzdXBwb3J0IFVJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uY3BwCmluZGV4IDM3YTg2NWE5NGJhZjQxNWQ1NTc2ZWQ3ODUyMWFl
ZjYzZDBjZDdkNTUuLjc3ODhkMjdjMGUxMGNmMjM0ZDg4YTE2Y2ExZDExZjFlOWNkMmEyNmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uY3BwCkBAIC03OCw2ICs3OCwxMCBAQAogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKKyNpZiBQTEFURk9STShDSFJPTUlV
TSkKKyNpbmNsdWRlICJwbGF0Zm9ybS9jaHJvbWl1bS9UcmFjZUV2ZW50LmgiCisjZW5kaWYKKwog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgcmVxdWVzdEFu
aW1hdGlvbkZyYW1lRXZlbnROYW1lID0gInJlcXVlc3RBbmltYXRpb25GcmFtZSI7CkBAIC01MjMs
NiArNTI3LDEwIEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaFhI
UkxvYWRFdmVudEltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1CiAKIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbkNvb2tpZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxQYWludEltcGwoSW5z
dHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgRnJhbWUqIGZyYW1lKQogewor
I2lmIFBMQVRGT1JNKENIUk9NSVVNKQorICAgIFRSQUNFX0VWRU5UX0lOU1RBTlQxKCJpbnN0cnVt
ZW50YXRpb24iLCBJbnN0cnVtZW50YXRpb25FdmVudHM6OlBhaW50LCBJbnN0cnVtZW50YXRpb25F
dmVudEFyZ3VtZW50czo6UGFnZUlkLCBmcmFtZSA/IHJlaW50ZXJwcmV0X2Nhc3Q8dW5zaWduZWQg
bG9uZyBsb25nPihmcmFtZS0+cGFnZSgpKSA6IDApOworI2VuZGlmCisKICAgICBpbnQgdGltZWxp
bmVBZ2VudElkID0gMDsKICAgICBpZiAoSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogdGltZWxpbmVB
Z2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvclRpbWVsaW5lQWdlbnQoKSkgewog
ICAgICAgICB0aW1lbGluZUFnZW50LT53aWxsUGFpbnQoZnJhbWUpOwpAQCAtMTM2MSw2ICsxMzY5
LDE5IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpyZW5kZXJMYXllckRlc3Ryb3ll
ZEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zCiB9CiAjZW5kaWYKIAorbmFtZXNwYWNlIElu
c3RydW1lbnRhdGlvbkV2ZW50cyB7Citjb25zdCBjaGFyIFBhaW50TGF5ZXJbXSA9ICJQYWludExh
eWVyIjsKK2NvbnN0IGNoYXIgUmFzdGVyVGFza1tdID0gIlJhc3RlclRhc2siOworY29uc3QgY2hh
ciBQYWludFtdID0gIlBhaW50IjsKK2NvbnN0IGNoYXIgTGF5ZXJbXSA9ICJMYXllciI7Citjb25z
dCBjaGFyIEJlZ2luRnJhbWVbXSA9ICJCZWdpbkZyYW1lIjsKK307CisKK25hbWVzcGFjZSBJbnN0
cnVtZW50YXRpb25FdmVudEFyZ3VtZW50cyB7Citjb25zdCBjaGFyIExheWVySWRbXSA9ICJsYXll
cklkIjsKK2NvbnN0IGNoYXIgUGFnZUlkW10gPSAicGFnZUlkIjsKK307CisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vICFFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IDk5
MmRiMGE4ZjNkZmM2M2RiNmFlZWIwZTQzMmE2YjI1NjRmZGFhYjguLjg2YjE1ODI2MTVhYmJiYzE4
ZDRhNDY4ODMyZmZkMDY5MzNlOTRjNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTUwMCw2ICs1MDAsMTkgQEAgcHJp
dmF0ZToKICNlbmRpZgogfTsKIAorbmFtZXNwYWNlIEluc3RydW1lbnRhdGlvbkV2ZW50cyB7Citl
eHRlcm4gY29uc3QgY2hhciBQYWludExheWVyW107CitleHRlcm4gY29uc3QgY2hhciBSYXN0ZXJU
YXNrW107CitleHRlcm4gY29uc3QgY2hhciBQYWludFtdOworZXh0ZXJuIGNvbnN0IGNoYXIgTGF5
ZXJbXTsKK2V4dGVybiBjb25zdCBjaGFyIEJlZ2luRnJhbWVbXTsKK307CisKK25hbWVzcGFjZSBJ
bnN0cnVtZW50YXRpb25FdmVudEFyZ3VtZW50cyB7CitleHRlcm4gY29uc3QgY2hhciBMYXllcklk
W107CitleHRlcm4gY29uc3QgY2hhciBQYWdlSWRbXTsKK307CisKIGlubGluZSB2b2lkIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ2xlYXJXaW5kb3dPYmplY3RJbldvcmxkKEZyYW1lKiBm
cmFtZSwgRE9NV3JhcHBlcldvcmxkKiB3b3JsZCkKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdl
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQu
Y3BwCmluZGV4IGE0MTExMzc1ZjcxN2M1MGM4NDQ2OWI3ZWM5NmQzZjdlMzFhOWUwZTQuLjBhNTgz
NmEzNmEyNzU3YTcxOWFjYmZlNWVhMTU2NTNiNTU3ZDYwMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKQEAgLTExNyw2ICsx
MTcsOSBAQCBzdGF0aWMgY29uc3QgY2hhciBXZWJTb2NrZXRDcmVhdGVbXSA9ICJXZWJTb2NrZXRD
cmVhdGUiOwogc3RhdGljIGNvbnN0IGNoYXIgV2ViU29ja2V0U2VuZEhhbmRzaGFrZVJlcXVlc3Rb
XSA9ICJXZWJTb2NrZXRTZW5kSGFuZHNoYWtlUmVxdWVzdCI7CiBzdGF0aWMgY29uc3QgY2hhciBX
ZWJTb2NrZXRSZWNlaXZlSGFuZHNoYWtlUmVzcG9uc2VbXSA9ICJXZWJTb2NrZXRSZWNlaXZlSGFu
ZHNoYWtlUmVzcG9uc2UiOwogc3RhdGljIGNvbnN0IGNoYXIgV2ViU29ja2V0RGVzdHJveVtdID0g
IldlYlNvY2tldERlc3Ryb3kiOworCisvLyBFdmVudCBuYW1lcyB2aXNpYmxlIHRvIG90aGVyIG1v
ZHVsZXMuCitjb25zdCBjaGFyIFJhc3Rlcml6ZVtdID0gIlJhc3Rlcml6ZSI7CiB9CiAKIHZvaWQg
SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6cHVzaEdDRXZlbnRSZWNvcmRzKCkKQEAgLTE4OSw2ICsx
OTIsNyBAQCB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnN0b3AoRXJyb3JTdHJpbmcqKQog
ICAgIGlmICghbV9zdGF0ZS0+Z2V0Qm9vbGVhbihUaW1lbGluZUFnZW50U3RhdGU6OnRpbWVsaW5l
QWdlbnRFbmFibGVkKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgbV90cmFjZUV2ZW50UHJvY2Vz
c29yLT5zaHV0ZG93bigpOwogICAgIG1fdHJhY2VFdmVudFByb2Nlc3Nvci5jbGVhcigpOwogICAg
IG1fd2Vha0ZhY3RvcnkucmV2b2tlQWxsKCk7CiAgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5z
ZXRJbnNwZWN0b3JUaW1lbGluZUFnZW50KDApOwpAQCAtMjIyLDYgKzIyNiw5IEBAIHZvaWQgSW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6c3VwcG9ydHNGcmFtZUluc3RydW1lbnRhdGlvbihFcnJvclN0
cmluZyosIGJvb2wqIHJlCiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQmVnaW5G
cmFtZSgpCiB7CisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisgICAgVFJBQ0VfRVZFTlRfSU5TVEFO
VDAoIndlYmtpdCIsIEluc3RydW1lbnRhdGlvbkV2ZW50czo6QmVnaW5GcmFtZSk7CisjZW5kaWYK
ICAgICBtX3BlbmRpbmdGcmFtZVJlY29yZCA9IFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRl
R2VuZXJpY1JlY29yZCh0aW1lc3RhbXAoKSwgMCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IDg3NmUyOGMxZDFmODA0
ZTU2NzNhZWE3ZTJiM2U4ZWE2MGRkNGEyMzUuLmM0OTljOTg5YTlkNTRjYmFmZWY2NWUwMGZjNTYz
MTFkYTU4YTRhZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JUaW1lbGluZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clRpbWVsaW5lQWdlbnQuaApAQCAtNjMsNiArNjMsMTAgQEAgY2xhc3MgVGltZWxpbmVUcmFjZUV2
ZW50UHJvY2Vzc29yOwogCiB0eXBlZGVmIFN0cmluZyBFcnJvclN0cmluZzsKIAorbmFtZXNwYWNl
IFRpbWVsaW5lUmVjb3JkVHlwZSB7CitleHRlcm4gY29uc3QgY2hhciBSYXN0ZXJpemVbXTsKK307
CisKIGNsYXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQKICAgICA6IHB1YmxpYyBJbnNwZWN0b3JC
YXNlQWdlbnQ8SW5zcGVjdG9yVGltZWxpbmVBZ2VudD4sCiAgICAgICBwdWJsaWMgU2NyaXB0R0NF
dmVudExpc3RlbmVyLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVs
aW5lUmVjb3JkRmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVS
ZWNvcmRGYWN0b3J5LmNwcAppbmRleCA4ZGVlNTMwMGRmNzU0YWMwNjEyMGYyOWI2MDVkODFjMzhj
OTA4MWJkLi42NGJhZDgxMWUyOWExY2RhZGYyZDQ0YmMxNjcxNzJkOWVmZTA3MDMyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcApA
QCAtMjA3LDYgKzIwNywxNCBAQCB2b2lkIFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6YWRkUmVjdERh
dGEoSW5zcGVjdG9yT2JqZWN0KiBkYXRhLCBjb25zdCBMYXlvdXRSZWN0JgogICAgIGRhdGEtPnNl
dE51bWJlcigiaGVpZ2h0IiwgcmVjdC5oZWlnaHQoKSk7CiB9CiAKK1Bhc3NSZWZQdHI8SW5zcGVj
dG9yT2JqZWN0PiBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZVJhc3RlckRhdGEoZG91Ymxl
IHRvdGFsQ1BVVGltZSwgaW50IHRocmVhZHNVc2VkKQoreworICAgIFJlZlB0cjxJbnNwZWN0b3JP
YmplY3Q+IGRhdGEgPSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOworICAgIGRhdGEtPnNldE51
bWJlcigidG90YWxDUFVUaW1lIiwgdG90YWxDUFVUaW1lKTsKKyAgICBkYXRhLT5zZXROdW1iZXIo
InRocmVhZHNVc2VkIiwgdGhyZWFkc1VzZWQpOworICAgIHJldHVybiBkYXRhLnJlbGVhc2UoKTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RP
UikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZh
Y3RvcnkuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3Rvcnku
aAppbmRleCBlZjVkZDU2ZDEyOWRlYmU4NzAwOTk3ZmRkOGE2ZGY2MGNkZDYxMGMwLi5hYjU0YTNh
MTNiYWJhMTM3Zjg5M2Q0M2U5NmRjODQ2Mjk3MjNkODNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5oCkBAIC0xMDYsNiArMTA2LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgcmV0dXJuIGRhdGEucmVsZWFzZSgpOwog
ICAgICAgICB9CiAjZW5kaWYKKyAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2Jq
ZWN0PiBjcmVhdGVSYXN0ZXJEYXRhKGRvdWJsZSB0b3RhbENQVVRpbWUsIGludCB0aHJlYWRzVXNl
ZCk7CiAKICAgICBwcml2YXRlOgogICAgICAgICBUaW1lbGluZVJlY29yZEZhY3RvcnkoKSB7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVRyYWNlRXZlbnRQ
cm9jZXNzb3IuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVu
dFByb2Nlc3Nvci5jcHAKaW5kZXggM2I2MmNmM2ViNTgyNTRkN2VlY2RiYjJhYWE0MmZkM2UyNWY3
YzFlMy4uOTIxMGNhYWRlZjU0ZmY5NWZmMWEwMGUwZjg0NWY3YjFmNTUwMjU5MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVudFByb2Nl
c3Nvci5jcHAKQEAgLTc1LDggKzc1LDcgQEAgcHVibGljOgogICAgICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgbV9w
cm9jZXNzb3JzW2luZGV4XSA9IG1fcHJvY2Vzc29ycy5sYXN0KCk7Ci0gICAgICAgIG1fcHJvY2Vz
c29ycy5yZW1vdmVMYXN0KCk7CisgICAgICAgIG1fcHJvY2Vzc29ycy5yZW1vdmUoaW5kZXgpOwog
ICAgICAgICBpZiAobV9wcm9jZXNzb3JzLmlzRW1wdHkoKSkKICAgICAgICAgICAgIGNsaWVudC0+
c2V0VHJhY2VFdmVudENhbGxiYWNrKDApOwogICAgIH0KQEAgLTEwOSw3NiArMTA4LDE0OCBAQCBU
aW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6OlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3NvcihX
ZWFrUHRyPEluc3BlY3RvclRpbWVsaQogICAgIDogbV90aW1lbGluZUFnZW50KHRpbWVsaW5lQWdl
bnQpCiAgICAgLCBtX2luc3BlY3RvckNsaWVudChjbGllbnQpCiAgICAgLCBtX3BhZ2VJZChyZWlu
dGVycHJldF9jYXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4obV90aW1lbGluZUFnZW50LmdldCgpLT5w
YWdlKCkpKQorICAgICwgbV9maXJzdFJhc3RlclN0YXJ0VGltZSgwKQorICAgICwgbV9sYXN0UmFz
dGVyRW5kVGltZSgwKQorICAgICwgbV9mcmFtZVJhc3RlclRpbWUoMCkKKyAgICAsIG1fbGF5ZXJJ
ZCgwKQogeworICAgIHJlZ2lzdGVySGFuZGxlcihJbnN0cnVtZW50YXRpb25FdmVudHM6OkJlZ2lu
RnJhbWUsIFRyYWNlUGhhc2VJbnN0YW50LCAmVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpv
bkJlZ2luRnJhbWUpOworICAgIHJlZ2lzdGVySGFuZGxlcihJbnN0cnVtZW50YXRpb25FdmVudHM6
OlBhaW50TGF5ZXIsIFRyYWNlUGhhc2VCZWdpbiwgJlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nv
cjo6b25QYWludExheWVyQmVnaW4pOworICAgIHJlZ2lzdGVySGFuZGxlcihJbnN0cnVtZW50YXRp
b25FdmVudHM6OlBhaW50TGF5ZXIsIFRyYWNlUGhhc2VFbmQsICZUaW1lbGluZVRyYWNlRXZlbnRQ
cm9jZXNzb3I6Om9uUGFpbnRMYXllckVuZCk7CisgICAgcmVnaXN0ZXJIYW5kbGVyKEluc3RydW1l
bnRhdGlvbkV2ZW50czo6UmFzdGVyVGFzaywgVHJhY2VQaGFzZUJlZ2luLCAmVGltZWxpbmVUcmFj
ZUV2ZW50UHJvY2Vzc29yOjpvblJhc3RlclRhc2tCZWdpbik7CisgICAgcmVnaXN0ZXJIYW5kbGVy
KEluc3RydW1lbnRhdGlvbkV2ZW50czo6UmFzdGVyVGFzaywgVHJhY2VQaGFzZUVuZCwgJlRpbWVs
aW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25SYXN0ZXJUYXNrRW5kKTsKKyAgICByZWdpc3Rlckhh
bmRsZXIoSW5zdHJ1bWVudGF0aW9uRXZlbnRzOjpMYXllciwgVHJhY2VQaGFzZURlbGV0ZU9iamVj
dCwgJlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25MYXllckRlbGV0ZWQpOworICAgIHJl
Z2lzdGVySGFuZGxlcihJbnN0cnVtZW50YXRpb25FdmVudHM6OlBhaW50LCBUcmFjZVBoYXNlSW5z
dGFudCwgJlRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25QYWludCk7CisKICAgICBUcmFj
ZUV2ZW50RGlzcGF0Y2hlcjo6aW5zdGFuY2UoKS0+YWRkUHJvY2Vzc29yKHRoaXMsIG1faW5zcGVj
dG9yQ2xpZW50KTsKIH0KIAogVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjp+VGltZWxpbmVU
cmFjZUV2ZW50UHJvY2Vzc29yKCkKIHsKK30KKwordm9pZCBUaW1lbGluZVRyYWNlRXZlbnRQcm9j
ZXNzb3I6OnJlZ2lzdGVySGFuZGxlcihjb25zdCBjaGFyKiBuYW1lLCBUcmFjZUV2ZW50UGhhc2Ug
cGhhc2UsIFRyYWNlRXZlbnRIYW5kbGVyIGhhbmRsZXIpCit7CisgICAgbV9oYW5kbGVyc0J5VHlw
ZS5zZXQoc3RkOjptYWtlX3BhaXIobmFtZSwgcGhhc2UpLCBoYW5kbGVyKTsKK30KKwordm9pZCBU
aW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6OnNodXRkb3duKCkKK3sKICAgICBUcmFjZUV2ZW50
RGlzcGF0Y2hlcjo6aW5zdGFuY2UoKS0+cmVtb3ZlUHJvY2Vzc29yKHRoaXMsIG1faW5zcGVjdG9y
Q2xpZW50KTsKIH0KIAorc2l6ZV90IFRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6VHJhY2VF
dmVudDo6ZmluZFBhcmFtZXRlcihjb25zdCBjaGFyKiBuYW1lKSBjb25zdAoreworICAgIGZvciAo
aW50IGkgPSAwOyBpIDwgbV9hcmd1bWVudENvdW50OyArK2kpIHsKKyAgICAgICAgaWYgKCFzdHJj
bXAobmFtZSwgbV9hcmd1bWVudE5hbWVzW2ldKSkKKyAgICAgICAgICAgIHJldHVybiBpOworICAg
IH0KKyAgICByZXR1cm4gbm90Rm91bmQ7Cit9CisKIGNvbnN0IFRpbWVsaW5lVHJhY2VFdmVudFBy
b2Nlc3Nvcjo6VHJhY2VWYWx1ZVVuaW9uJiBUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6OlRy
YWNlRXZlbnQ6OnBhcmFtZXRlcihjb25zdCBjaGFyKiBuYW1lLCBUcmFjZVZhbHVlVHlwZXMgZXhw
ZWN0ZWRUeXBlKSBjb25zdAogewogICAgIHN0YXRpYyBUcmFjZVZhbHVlVW5pb24gbWlzc2luZ1Zh
bHVlOwotCi0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtX2FyZ3VtZW50Q291bnQ7ICsraSkgewot
ICAgICAgICBpZiAoIXN0cmNtcChuYW1lLCBtX2FyZ3VtZW50TmFtZXNbaV0pKSB7Ci0gICAgICAg
ICAgICBpZiAobV9hcmd1bWVudFR5cGVzW2ldICE9IGV4cGVjdGVkVHlwZSkgewotICAgICAgICAg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgICAgIHJldHVybiBtaXNz
aW5nVmFsdWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXR1cm4gKnJlaW50ZXJwcmV0
X2Nhc3Q8Y29uc3QgVHJhY2VWYWx1ZVVuaW9uKj4obV9hcmd1bWVudFZhbHVlcyArIGkpOwotICAg
ICAgICB9CisgICAgc2l6ZV90IGluZGV4ID0gZmluZFBhcmFtZXRlcihuYW1lKTsKKyAgICBpZiAo
aW5kZXggPT0gbm90Rm91bmQgfHwgbV9hcmd1bWVudFR5cGVzW2luZGV4XSAhPSBleHBlY3RlZFR5
cGUpIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBtaXNz
aW5nVmFsdWU7CiAgICAgfQotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBt
aXNzaW5nVmFsdWU7CisgICAgcmV0dXJuICpyZWludGVycHJldF9jYXN0PGNvbnN0IFRyYWNlVmFs
dWVVbmlvbio+KG1fYXJndW1lbnRWYWx1ZXMgKyBpbmRleCk7CiB9CiAKLXZvaWQgVGltZWxpbmVU
cmFjZUV2ZW50UHJvY2Vzc29yOjpwcm9jZXNzRXZlbnRPbkFueVRocmVhZChUcmFjZUV2ZW50UGhh
c2UgcGhhc2UsIGNvbnN0IGNoYXIqIG5hbWUsIHVuc2lnbmVkIGxvbmcgbG9uZywKK3ZvaWQgVGlt
ZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpwcm9jZXNzRXZlbnRPbkFueVRocmVhZChUcmFjZUV2
ZW50UGhhc2UgcGhhc2UsIGNvbnN0IGNoYXIqIG5hbWUsIHVuc2lnbmVkIGxvbmcgbG9uZyBpZCwK
ICAgICBpbnQgbnVtQXJncywgY29uc3QgY2hhciogY29uc3QqIGFyZ05hbWVzLCBjb25zdCB1bnNp
Z25lZCBjaGFyKiBhcmdUeXBlcywgY29uc3QgdW5zaWduZWQgbG9uZyBsb25nKiBhcmdWYWx1ZXMs
CiAgICAgdW5zaWduZWQgY2hhcikKIHsKLSAgICBIYXNoTWFwPFN0cmluZywgRXZlbnRUeXBlRW50
cnk+OjppdGVyYXRvciBpdCA9IG1faGFuZGxlcnNCeVR5cGUuZmluZChuYW1lKTsKKyAgICBIYW5k
bGVyc01hcDo6aXRlcmF0b3IgaXQgPSBtX2hhbmRsZXJzQnlUeXBlLmZpbmQoc3RkOjptYWtlX3Bh
aXIobmFtZSwgcGhhc2UpKTsKICAgICBpZiAoaXQgPT0gbV9oYW5kbGVyc0J5VHlwZS5lbmQoKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgVHJhY2VFdmVudCBldmVudChXVEY6Om1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZSgpLCBwaGFzZSwgbmFtZSwgY3VycmVudFRocmVhZCgpLCBudW1Bcmdz
LCBhcmdOYW1lcywgYXJnVHlwZXMsIGFyZ1ZhbHVlcyk7CisgICAgVHJhY2VFdmVudCBldmVudChX
VEY6Om1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpLCBwaGFzZSwgbmFtZSwgaWQsIGN1cnJl
bnRUaHJlYWQoKSwgbnVtQXJncywgYXJnTmFtZXMsIGFyZ1R5cGVzLCBhcmdWYWx1ZXMpOwogCiAg
ICAgaWYgKCFpc01haW5UaHJlYWQoKSkgewogICAgICAgICBNdXRleExvY2tlciBsb2NrZXIobV9i
YWNrZ3JvdW5kRXZlbnRzTXV0ZXgpOwogICAgICAgICBtX2JhY2tncm91bmRFdmVudHMuYXBwZW5k
KGV2ZW50KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKyAgICAodGhpcy0+KihpdC0+dmFsdWUp
KShldmVudCk7Cit9CiAKLSAgICBwcm9jZXNzRXZlbnQoaXQtPnZhbHVlLCBldmVudCk7Cit2b2lk
IFRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25CZWdpbkZyYW1lKGNvbnN0IFRyYWNlRXZl
bnQmKQoreworICAgIGZsdXNoUmFzdGVyaXplclN0YXRpc3RpY3MoKTsKIH0KIAotdm9pZCBUaW1l
bGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6OnByb2Nlc3NFdmVudChjb25zdCBFdmVudFR5cGVFbnRy
eSYgZXZlbnRUeXBlRW50cnksIGNvbnN0IFRyYWNlRXZlbnQmIGV2ZW50KQordm9pZCBUaW1lbGlu
ZVRyYWNlRXZlbnRQcm9jZXNzb3I6Om9uUGFpbnRMYXllckJlZ2luKGNvbnN0IFRyYWNlRXZlbnQm
IGV2ZW50KQogewotICAgIFRyYWNlRXZlbnRIYW5kbGVyIGhhbmRsZXIgPSAwOwotICAgIHN3aXRj
aCAoZXZlbnQucGhhc2UoKSkgewotICAgIGNhc2UgVHJhY2VQaGFzZUJlZ2luOgotICAgICAgICBo
YW5kbGVyID0gZXZlbnRUeXBlRW50cnkubV9iZWdpbjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBUcmFjZVBoYXNlRW5kOgotICAgICAgICBoYW5kbGVyID0gZXZlbnRUeXBlRW50cnkubV9lbmQ7
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgVHJhY2VQaGFzZUluc3RhbnQ6Ci0gICAgICAgIGhh
bmRsZXIgPSBldmVudFR5cGVFbnRyeS5tX2luc3RhbnQ7Ci0gICAgICAgIGJyZWFrOwotICAgIGRl
ZmF1bHQ6Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIH0KLSAgICBpZiAoIWhh
bmRsZXIpIHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgbV9sYXllcklkID0g
ZXZlbnQuYXNVSW50KEluc3RydW1lbnRhdGlvbkV2ZW50QXJndW1lbnRzOjpMYXllcklkKTsKKyAg
ICBBU1NFUlQobV9sYXllcklkKTsKK30KKwordm9pZCBUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNz
b3I6Om9uUGFpbnRMYXllckVuZChjb25zdCBUcmFjZUV2ZW50JikKK3sKKyAgICBtX2xheWVySWQg
PSAwOworfQorCit2b2lkIFRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25SYXN0ZXJUYXNr
QmVnaW4oY29uc3QgVHJhY2VFdmVudCYgZXZlbnQpCit7CisgICAgdW5zaWduZWQgbG9uZyBsb25n
IGxheWVySWQgPSBldmVudC5hc1VJbnQoSW5zdHJ1bWVudGF0aW9uRXZlbnRBcmd1bWVudHM6Okxh
eWVySWQpOworICAgIFRocmVhZElkZW50aWZpZXIgdGhyZWFkSWRlbnRpZmllciA9IGV2ZW50LnRo
cmVhZElkZW50aWZpZXIoKTsKKyAgICBBU1NFUlQobV9yYXN0ZXJTdGFydFRpbWVCeVRocmVhZC5n
ZXQodGhyZWFkSWRlbnRpZmllcikgPT0gSGFzaFRyYWl0czxkb3VibGU+OjplbXB0eVZhbHVlKCkp
OworICAgIGRvdWJsZSB0aW1lc3RhbXAgPSBtX2tub3duTGF5ZXJzLmNvbnRhaW5zKGxheWVySWQp
ID8gZXZlbnQudGltZXN0YW1wKCkgOiAwOworICAgIG1fcmFzdGVyU3RhcnRUaW1lQnlUaHJlYWQu
c2V0KHRocmVhZElkZW50aWZpZXIsIHRpbWVzdGFtcCk7Cit9CisKK3ZvaWQgVGltZWxpbmVUcmFj
ZUV2ZW50UHJvY2Vzc29yOjpvblJhc3RlclRhc2tFbmQoY29uc3QgVHJhY2VFdmVudCYgZXZlbnQp
Cit7CisgICAgSGFzaE1hcDxUaHJlYWRJZGVudGlmaWVyLCBkb3VibGU+OjppdGVyYXRvciBpdCA9
IG1fcmFzdGVyU3RhcnRUaW1lQnlUaHJlYWQuZmluZChldmVudC50aHJlYWRJZGVudGlmaWVyKCkp
OworICAgIGlmIChpdCA9PSBtX3Jhc3RlclN0YXJ0VGltZUJ5VGhyZWFkLmVuZCgpKQogICAgICAg
ICByZXR1cm47CisgICAgZG91YmxlIHN0YXJ0VGltZSA9IGl0LT52YWx1ZTsKKyAgICBkb3VibGUg
ZW5kVGltZSA9IGV2ZW50LnRpbWVzdGFtcCgpOworICAgIGlmIChzdGFydFRpbWUgPT0gSGFzaFRy
YWl0czxkb3VibGU+OjplbXB0eVZhbHVlKCkpIC8vIFJhc3Rlcml6aW5nIHVua25vd24gbGF5ZXIu
CisgICAgICAgIHJldHVybjsKKyAgICBtX2ZyYW1lUmFzdGVyVGltZSArPSBlbmRUaW1lIC0gc3Rh
cnRUaW1lOworICAgIGl0LT52YWx1ZSA9IEhhc2hUcmFpdHM8ZG91YmxlPjo6ZW1wdHlWYWx1ZSgp
OworICAgIGlmICghbV9maXJzdFJhc3RlclN0YXJ0VGltZSB8fCBtX2ZpcnN0UmFzdGVyU3RhcnRU
aW1lID4gc3RhcnRUaW1lKQorICAgICAgICBtX2ZpcnN0UmFzdGVyU3RhcnRUaW1lID0gc3RhcnRU
aW1lOworICAgIG1fbGFzdFJhc3RlckVuZFRpbWUgPSBlbmRUaW1lOworfQorCit2b2lkIFRpbWVs
aW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6b25MYXllckRlbGV0ZWQoY29uc3QgVHJhY2VFdmVudCYg
ZXZlbnQpCit7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIGlkID0gZXZlbnQuaWQoKTsKKyAgICBB
U1NFUlQoaWQpOworICAgIHByb2Nlc3NCYWNrZ3JvdW5kRXZlbnRzKCk7CisgICAgbV9rbm93bkxh
eWVycy5yZW1vdmUoaWQpOworfQorCit2b2lkIFRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6
b25QYWludChjb25zdCBUcmFjZUV2ZW50JiBldmVudCkKK3sKKyAgICBpZiAoIW1fbGF5ZXJJZCkK
KyAgICAgICAgcmV0dXJuOworCisgICAgdW5zaWduZWQgbG9uZyBsb25nIHBhZ2VJZCA9IGV2ZW50
LmFzVUludChJbnN0cnVtZW50YXRpb25FdmVudEFyZ3VtZW50czo6UGFnZUlkKTsKKyAgICBpZiAo
cGFnZUlkID09IG1fcGFnZUlkKQorICAgICAgICBtX2tub3duTGF5ZXJzLmFkZChtX2xheWVySWQp
OworfQorCit2b2lkIFRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6Zmx1c2hSYXN0ZXJpemVy
U3RhdGlzdGljcygpCit7CisgICAgcHJvY2Vzc0JhY2tncm91bmRFdmVudHMoKTsKKyAgICBpZiAo
bV9sYXN0UmFzdGVyRW5kVGltZSkgeworICAgICAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBk
YXRhID0gVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVSYXN0ZXJEYXRhKG1fZnJhbWVSYXN0
ZXJUaW1lLCBtX3Jhc3RlclN0YXJ0VGltZUJ5VGhyZWFkLnNpemUoKSk7CisgICAgICAgIHNlbmRU
aW1lbGluZVJlY29yZChkYXRhLCBUaW1lbGluZVJlY29yZFR5cGU6OlJhc3Rlcml6ZSwgbV9maXJz
dFJhc3RlclN0YXJ0VGltZSwgbV9sYXN0UmFzdGVyRW5kVGltZSwgIm11bHRpcGxlIik7CiAgICAg
fQotICAgICh0aGlzLT4qaGFuZGxlcikoZXZlbnQpOworICAgIG1fZmlyc3RSYXN0ZXJTdGFydFRp
bWUgPSAwOworICAgIG1fbGFzdFJhc3RlckVuZFRpbWUgPSAwOworICAgIG1fZnJhbWVSYXN0ZXJU
aW1lID0gMDsKIH0KIAogdm9pZCBUaW1lbGluZVRyYWNlRXZlbnRQcm9jZXNzb3I6OnNlbmRUaW1l
bGluZVJlY29yZChQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGF0YSwgY29uc3QgU3RyaW5n
JiByZWNvcmRUeXBlLCBkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgZW5kVGltZSwgY29uc3QgU3Ry
aW5nJiB0aHJlYWQpCiB7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICBJbnNwZWN0
b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50ID0gbV90aW1lbGluZUFnZW50LmdldCgpOwog
ICAgIGlmICghdGltZWxpbmVBZ2VudCkKICAgICAgICAgcmV0dXJuOwpAQCAtMTg3LDYgKzI1OCw3
IEBAIHZvaWQgVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yOjpzZW5kVGltZWxpbmVSZWNvcmQo
UGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+CiAKIHZvaWQgVGltZWxpbmVUcmFjZUV2ZW50UHJv
Y2Vzc29yOjpwcm9jZXNzQmFja2dyb3VuZEV2ZW50cygpCiB7CisgICAgQVNTRVJUKGlzTWFpblRo
cmVhZCgpKTsKICAgICBWZWN0b3I8VHJhY2VFdmVudD4gZXZlbnRzOwogICAgIHsKICAgICAgICAg
TXV0ZXhMb2NrZXIgbG9ja2VyKG1fYmFja2dyb3VuZEV2ZW50c011dGV4KTsKQEAgLTE5NSw3ICsy
NjcsOSBAQCB2b2lkIFRpbWVsaW5lVHJhY2VFdmVudFByb2Nlc3Nvcjo6cHJvY2Vzc0JhY2tncm91
bmRFdmVudHMoKQogICAgIH0KICAgICBmb3IgKHNpemVfdCBpID0gMCwgc2l6ZSA9IGV2ZW50cy5z
aXplKCk7IGkgPCBzaXplOyArK2kpIHsKICAgICAgICAgY29uc3QgVHJhY2VFdmVudCYgZXZlbnQg
PSBldmVudHNbaV07Ci0gICAgICAgIHByb2Nlc3NFdmVudChtX2hhbmRsZXJzQnlUeXBlLmZpbmQo
ZXZlbnQubmFtZSgpKS0+dmFsdWUsIGV2ZW50KTsKKyAgICAgICAgSGFuZGxlcnNNYXA6Oml0ZXJh
dG9yIGl0ID0gbV9oYW5kbGVyc0J5VHlwZS5maW5kKHN0ZDo6bWFrZV9wYWlyKGV2ZW50Lm5hbWUo
KSwgZXZlbnQucGhhc2UoKSkpOworICAgICAgICBBU1NFUlQoaXQgIT0gbV9oYW5kbGVyc0J5VHlw
ZS5lbmQoKSAmJiBpdC0+dmFsdWUpOworICAgICAgICAodGhpcy0+KihpdC0+dmFsdWUpKShldmVu
dCk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGlt
ZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGlt
ZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yLmgKaW5kZXggNzRkYTdjYWYyZmZmZTg1ODk2ZDA4NWU0
NmRmODE2NzE5YTgzNmE3Yy4uODYxYWI5MDgyMGQzZWFjOGQ1MGEyZjA4ZDZlZTlhZGViZGZiOGMz
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lVHJhY2VFdmVu
dFByb2Nlc3Nvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVRyYWNl
RXZlbnRQcm9jZXNzb3IuaApAQCAtNTUsMTIgKzU1LDE1IEBAIHB1YmxpYzoKICAgICBlbnVtIFRy
YWNlRXZlbnRQaGFzZSB7CiAgICAgICAgIFRyYWNlUGhhc2VCZWdpbiA9ICdCJywKICAgICAgICAg
VHJhY2VQaGFzZUVuZCA9ICdFJywKLSAgICAgICAgVHJhY2VQaGFzZUluc3RhbnQgPSAnSScKKyAg
ICAgICAgVHJhY2VQaGFzZUluc3RhbnQgPSAnSScsCisgICAgICAgIFRyYWNlUGhhc2VDcmVhdGVP
YmplY3QgPSAnTicsCisgICAgICAgIFRyYWNlUGhhc2VEZWxldGVPYmplY3QgPSAnRCcKICAgICB9
OwogCiAgICAgVGltZWxpbmVUcmFjZUV2ZW50UHJvY2Vzc29yKFdlYWtQdHI8SW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudD4sIEluc3BlY3RvckNsaWVudCopOwogICAgIH5UaW1lbGluZVRyYWNlRXZlbnRQ
cm9jZXNzb3IoKTsKIAorICAgIHZvaWQgc2h1dGRvd24oKTsKICAgICB2b2lkIHByb2Nlc3NFdmVu
dE9uQW55VGhyZWFkKFRyYWNlRXZlbnRQaGFzZSwgY29uc3QgY2hhciogbmFtZSwgdW5zaWduZWQg
bG9uZyBsb25nIGlkLAogICAgICAgICBpbnQgbnVtQXJncywgY29uc3QgY2hhciogY29uc3QqIGFy
Z05hbWVzLCBjb25zdCB1bnNpZ25lZCBjaGFyKiBhcmdUeXBlcywgY29uc3QgdW5zaWduZWQgbG9u
ZyBsb25nKiBhcmdWYWx1ZXMsCiAgICAgICAgIHVuc2lnbmVkIGNoYXIgZmxhZ3MpOwpAQCAtOTMs
MjIgKzk2LDMwIEBAIHByaXZhdGU6CiAgICAgICAgIHsKICAgICAgICAgfQogCi0gICAgICAgIFRy
YWNlRXZlbnQoZG91YmxlIHRpbWVzdGFtcCwgVHJhY2VFdmVudFBoYXNlIHBoYXNlLCBjb25zdCBj
aGFyKiBuYW1lLCBUaHJlYWRJZGVudGlmaWVyIHRocmVhZElkZW50aWZpZXIsCisgICAgICAgIFRy
YWNlRXZlbnQoZG91YmxlIHRpbWVzdGFtcCwgVHJhY2VFdmVudFBoYXNlIHBoYXNlLCBjb25zdCBj
aGFyKiBuYW1lLCB1bnNpZ25lZCBsb25nIGxvbmcgaWQsIFRocmVhZElkZW50aWZpZXIgdGhyZWFk
SWRlbnRpZmllciwKICAgICAgICAgICAgIGludCBhcmd1bWVudENvdW50LCBjb25zdCBjaGFyKiBj
b25zdCogYXJndW1lbnROYW1lcywgY29uc3QgdW5zaWduZWQgY2hhciogYXJndW1lbnRUeXBlcywg
Y29uc3QgdW5zaWduZWQgbG9uZyBsb25nKiBhcmd1bWVudFZhbHVlcykKICAgICAgICAgICAgIDog
bV90aW1lc3RhbXAodGltZXN0YW1wKQogICAgICAgICAgICAgLCBtX3BoYXNlKHBoYXNlKQogICAg
ICAgICAgICAgLCBtX25hbWUobmFtZSkKKyAgICAgICAgICAgICwgbV9pZChpZCkKICAgICAgICAg
ICAgICwgbV90aHJlYWRJZGVudGlmaWVyKHRocmVhZElkZW50aWZpZXIpCiAgICAgICAgICAgICAs
IG1fYXJndW1lbnRDb3VudChhcmd1bWVudENvdW50KQotICAgICAgICAgICAgLCBtX2FyZ3VtZW50
TmFtZXMoYXJndW1lbnROYW1lcykKLSAgICAgICAgICAgICwgbV9hcmd1bWVudFR5cGVzKGFyZ3Vt
ZW50VHlwZXMpCi0gICAgICAgICAgICAsIG1fYXJndW1lbnRWYWx1ZXMoYXJndW1lbnRWYWx1ZXMp
CiAgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChtX2FyZ3VtZW50Q291bnQgPiBNYXhBcmd1bWVu
dHMpIHsKKyAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAg
ICAgICBtX2FyZ3VtZW50Q291bnQgPSBNYXhBcmd1bWVudHM7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG1fYXJndW1lbnRDb3VudDsgKytpKSB7CisgICAg
ICAgICAgICAgICAgbV9hcmd1bWVudE5hbWVzW2ldID0gYXJndW1lbnROYW1lc1tpXTsKKyAgICAg
ICAgICAgICAgICBtX2FyZ3VtZW50VHlwZXNbaV0gPSBhcmd1bWVudFR5cGVzW2ldOworICAgICAg
ICAgICAgICAgIG1fYXJndW1lbnRWYWx1ZXNbaV0gPSBhcmd1bWVudFZhbHVlc1tpXTsKKyAgICAg
ICAgICAgIH0KICAgICAgICAgfQogCiAgICAgICAgIGRvdWJsZSB0aW1lc3RhbXAoKSBjb25zdCB7
IHJldHVybiBtX3RpbWVzdGFtcDsgfQogICAgICAgICBUcmFjZUV2ZW50UGhhc2UgcGhhc2UoKSBj
b25zdCB7IHJldHVybiBtX3BoYXNlOyB9CiAgICAgICAgIGNvbnN0IGNoYXIqIG5hbWUoKSBjb25z
dCB7IHJldHVybiBtX25hbWU7IH0KKyAgICAgICAgdW5zaWduZWQgbG9uZyBsb25nIGlkKCkgY29u
c3QgeyByZXR1cm4gbV9pZDsgfQogICAgICAgICBUaHJlYWRJZGVudGlmaWVyIHRocmVhZElkZW50
aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX3RocmVhZElkZW50aWZpZXI7IH0KICAgICAgICAgaW50
IGFyZ3VtZW50Q291bnQoKSBjb25zdCB7IHJldHVybiBtX2FyZ3VtZW50Q291bnQ7IH0KIApAQCAt
MTE4LDExICsxMjksMTYgQEAgcHJpdmF0ZToKICAgICAgICAgfQogICAgICAgICBsb25nIGxvbmcg
YXNJbnQoY29uc3QgY2hhciogbmFtZSkgY29uc3QKICAgICAgICAgewotICAgICAgICAgICAgcmV0
dXJuIHBhcmFtZXRlcihuYW1lLCBUeXBlSW50KS5tX2ludDsKKyAgICAgICAgICAgIHNpemVfdCBp
bmRleCA9IGZpbmRQYXJhbWV0ZXIobmFtZSk7CisgICAgICAgICAgICBpZiAoaW5kZXggPT0gbm90
Rm91bmQgfHwgKG1fYXJndW1lbnRUeXBlc1tpbmRleF0gIT0gVHlwZUludCAmJiBtX2FyZ3VtZW50
VHlwZXNbaW5kZXhdICE9IFR5cGVVSW50KSkgeworICAgICAgICAgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgfQorICAg
ICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVHJhY2VWYWx1ZVVuaW9uKj4o
bV9hcmd1bWVudFZhbHVlcyArIGluZGV4KS0+bV9pbnQ7CiAgICAgICAgIH0KICAgICAgICAgdW5z
aWduZWQgbG9uZyBsb25nIGFzVUludChjb25zdCBjaGFyKiBuYW1lKSBjb25zdAogICAgICAgICB7
Ci0gICAgICAgICAgICByZXR1cm4gcGFyYW1ldGVyKG5hbWUsIFR5cGVVSW50KS5tX3VpbnQ7Cisg
ICAgICAgICAgICByZXR1cm4gYXNJbnQobmFtZSk7CiAgICAgICAgIH0KICAgICAgICAgZG91Ymxl
IGFzRG91YmxlKGNvbnN0IGNoYXIqIG5hbWUpIGNvbnN0CiAgICAgICAgIHsKQEAgLTEzNCw1OCAr
MTUwLDU2IEBAIHByaXZhdGU6CiAgICAgICAgIH0KIAogICAgIHByaXZhdGU6CisgICAgICAgIGVu
dW0geyBNYXhBcmd1bWVudHMgPSAyIH07CisKKyAgICAgICAgc2l6ZV90IGZpbmRQYXJhbWV0ZXIo
Y29uc3QgY2hhciopIGNvbnN0OwogICAgICAgICBjb25zdCBUcmFjZVZhbHVlVW5pb24mIHBhcmFt
ZXRlcihjb25zdCBjaGFyKiBuYW1lLCBUcmFjZVZhbHVlVHlwZXMgZXhwZWN0ZWRUeXBlKSBjb25z
dDsKIAogICAgICAgICBkb3VibGUgbV90aW1lc3RhbXA7CiAgICAgICAgIFRyYWNlRXZlbnRQaGFz
ZSBtX3BoYXNlOwogICAgICAgICBjb25zdCBjaGFyKiBtX25hbWU7CisgICAgICAgIHVuc2lnbmVk
IGxvbmcgbG9uZyBtX2lkOwogICAgICAgICBUaHJlYWRJZGVudGlmaWVyIG1fdGhyZWFkSWRlbnRp
ZmllcjsKICAgICAgICAgaW50IG1fYXJndW1lbnRDb3VudDsKLSAgICAgICAgY29uc3QgY2hhciog
Y29uc3QqIG1fYXJndW1lbnROYW1lczsKLSAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciogbV9h
cmd1bWVudFR5cGVzOwotICAgICAgICBjb25zdCB1bnNpZ25lZCBsb25nIGxvbmcqIG1fYXJndW1l
bnRWYWx1ZXM7CisgICAgICAgIGNvbnN0IGNoYXIqIG1fYXJndW1lbnROYW1lc1tNYXhBcmd1bWVu
dHNdOworICAgICAgICB1bnNpZ25lZCBjaGFyIG1fYXJndW1lbnRUeXBlc1tNYXhBcmd1bWVudHNd
OworICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgbV9hcmd1bWVudFZhbHVlc1tNYXhBcmd1bWVu
dHNdOwogICAgIH07CiAKICAgICB0eXBlZGVmIHZvaWQgKFRpbWVsaW5lVHJhY2VFdmVudFByb2Nl
c3Nvcjo6KlRyYWNlRXZlbnRIYW5kbGVyKShjb25zdCBUcmFjZUV2ZW50Jik7CiAKLSAgICBzdHJ1
Y3QgRXZlbnRUeXBlRW50cnkgewotICAgICAgICBFdmVudFR5cGVFbnRyeSgpCi0gICAgICAgICAg
ICA6IG1fYmVnaW4oMCkKLSAgICAgICAgICAgICwgbV9lbmQoMCkKLSAgICAgICAgICAgICwgbV9p
bnN0YW50KDApCi0gICAgICAgIHsKLSAgICAgICAgfQotICAgICAgICBleHBsaWNpdCBFdmVudFR5
cGVFbnRyeShUcmFjZUV2ZW50SGFuZGxlciBpbnN0YW50KQotICAgICAgICAgICAgOiBtX2JlZ2lu
KDApCi0gICAgICAgICAgICAsIG1fZW5kKDApCi0gICAgICAgICAgICAsIG1faW5zdGFudChpbnN0
YW50KQotICAgICAgICB7Ci0gICAgICAgIH0KLSAgICAgICAgRXZlbnRUeXBlRW50cnkoVHJhY2VF
dmVudEhhbmRsZXIgYmVnaW4sIFRyYWNlRXZlbnRIYW5kbGVyIGVuZCkKLSAgICAgICAgICAgIDog
bV9iZWdpbihiZWdpbikKLSAgICAgICAgICAgICwgbV9lbmQoZW5kKQotICAgICAgICAgICAgLCBt
X2luc3RhbnQoMCkKLSAgICAgICAgewotICAgICAgICB9CisgICAgdm9pZCBwcm9jZXNzQmFja2dy
b3VuZEV2ZW50cygpOworICAgIHZvaWQgc2VuZFRpbWVsaW5lUmVjb3JkKFBhc3NSZWZQdHI8SW5z
cGVjdG9yT2JqZWN0PiBkYXRhLCBjb25zdCBTdHJpbmcmIHJlY29yZFR5cGUsIGRvdWJsZSBzdGFy
dFRpbWUsIGRvdWJsZSBlbmRUaW1lLCBjb25zdCBTdHJpbmcmIFRocmVhZCk7CiAKLSAgICAgICAg
VHJhY2VFdmVudEhhbmRsZXIgbV9iZWdpbjsKLSAgICAgICAgVHJhY2VFdmVudEhhbmRsZXIgbV9l
bmQ7Ci0gICAgICAgIFRyYWNlRXZlbnRIYW5kbGVyIG1faW5zdGFudDsKLSAgICB9OworICAgIHZv
aWQgb25CZWdpbkZyYW1lKGNvbnN0IFRyYWNlRXZlbnQmKTsKKyAgICB2b2lkIG9uUGFpbnRMYXll
ckJlZ2luKGNvbnN0IFRyYWNlRXZlbnQmKTsKKyAgICB2b2lkIG9uUGFpbnRMYXllckVuZChjb25z
dCBUcmFjZUV2ZW50Jik7CisgICAgdm9pZCBvblJhc3RlclRhc2tCZWdpbihjb25zdCBUcmFjZUV2
ZW50Jik7CisgICAgdm9pZCBvblJhc3RlclRhc2tFbmQoY29uc3QgVHJhY2VFdmVudCYpOworICAg
IHZvaWQgb25MYXllckRlbGV0ZWQoY29uc3QgVHJhY2VFdmVudCYpOworICAgIHZvaWQgb25QYWlu
dChjb25zdCBUcmFjZUV2ZW50Jik7CiAKLSAgICB2b2lkIHByb2Nlc3NCYWNrZ3JvdW5kRXZlbnRz
KCk7Ci0gICAgdm9pZCBzZW5kVGltZWxpbmVSZWNvcmQoUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmpl
Y3Q+IGRhdGEsIGNvbnN0IFN0cmluZyYgcmVjb3JkVHlwZSwgZG91YmxlIHN0YXJ0VGltZSwgZG91
YmxlIGVuZFRpbWUsIGNvbnN0IFN0cmluZyYgdGhyZWFkKTsKLSAgICB2b2lkIHByb2Nlc3NFdmVu
dChjb25zdCBFdmVudFR5cGVFbnRyeSYsIGNvbnN0IFRyYWNlRXZlbnQmKTsKKyAgICB2b2lkIGZs
dXNoUmFzdGVyaXplclN0YXRpc3RpY3MoKTsKKworICAgIHZvaWQgcmVnaXN0ZXJIYW5kbGVyKGNv
bnN0IGNoYXIqIG5hbWUsIFRyYWNlRXZlbnRQaGFzZSwgVHJhY2VFdmVudEhhbmRsZXIpOwogCiAg
ICAgV2Vha1B0cjxJbnNwZWN0b3JUaW1lbGluZUFnZW50PiBtX3RpbWVsaW5lQWdlbnQ7CiAgICAg
SW5zcGVjdG9yQ2xpZW50KiBtX2luc3BlY3RvckNsaWVudDsKIAotICAgIEhhc2hNYXA8U3RyaW5n
LCBFdmVudFR5cGVFbnRyeT4gbV9oYW5kbGVyc0J5VHlwZTsKKyAgICB0eXBlZGVmIEhhc2hNYXA8
c3RkOjpwYWlyPFN0cmluZywgaW50PiwgVHJhY2VFdmVudEhhbmRsZXI+IEhhbmRsZXJzTWFwOwor
ICAgIEhhbmRsZXJzTWFwIG1faGFuZGxlcnNCeVR5cGU7CiAgICAgTXV0ZXggbV9iYWNrZ3JvdW5k
RXZlbnRzTXV0ZXg7CiAgICAgVmVjdG9yPFRyYWNlRXZlbnQ+IG1fYmFja2dyb3VuZEV2ZW50czsK
ICAgICB1bnNpZ25lZCBsb25nIGxvbmcgbV9wYWdlSWQ7Ci19OwogCisgICAgSGFzaFNldDx1bnNp
Z25lZCBsb25nIGxvbmc+IG1fa25vd25MYXllcnM7CisgICAgSGFzaE1hcDxUaHJlYWRJZGVudGlm
aWVyLCBkb3VibGU+IG1fcmFzdGVyU3RhcnRUaW1lQnlUaHJlYWQ7CisgICAgZG91YmxlIG1fZmly
c3RSYXN0ZXJTdGFydFRpbWU7CisgICAgZG91YmxlIG1fbGFzdFJhc3RlckVuZFRpbWU7CisgICAg
ZG91YmxlIG1fZnJhbWVSYXN0ZXJUaW1lOworCisgICAgdW5zaWduZWQgbG9uZyBsb25nIG1fbGF5
ZXJJZDsKK307CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZU1vZGVsLmpzIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZU1vZGVsLmpzCmluZGV4IDZkYWQyMWRj
YzZjZjBhOTA1MThjYWY3MWIzN2I2MTE5OGI2YTc5NzMuLjNlNWFkZTE2OGM4NjIyZTA1NGViMDcx
YjNkYzQzMWM4OGIzMTQ1MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvVGltZWxpbmVNb2RlbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1RpbWVsaW5lTW9kZWwuanMKQEAgLTU2LDYgKzU2LDcgQEAgV2ViSW5zcGVjdG9y
LlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZSA9IHsKICAgICBJbnZhbGlkYXRlTGF5b3V0OiAiSW52
YWxpZGF0ZUxheW91dCIsCiAgICAgTGF5b3V0OiAiTGF5b3V0IiwKICAgICBQYWludDogIlBhaW50
IiwKKyAgICBSYXN0ZXJpemU6ICJSYXN0ZXJpemUiLAogICAgIFNjcm9sbExheWVyOiAiU2Nyb2xs
TGF5ZXIiLAogICAgIERlY29kZUltYWdlOiAiRGVjb2RlSW1hZ2UiLAogICAgIFJlc2l6ZUltYWdl
OiAiUmVzaXplSW1hZ2UiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmpzCmluZGV4IDdmZjQy
ZDc1ZTc0YmY5NWQ2ZTNlMjBjODkxYmQxZDlhNWM3ZDFlYTguLjI1ZTg5MzI3NDgzNjE0MjdlZDM5
N2Q3MzBmYWNlMTU4OTNhODcyNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5qcworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuanMKQEAg
LTc2LDYgKzc2LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuX2lu
aXRSZWNvcmRTdHlsZXMgPSBmdW5jdGlvbigpCiAgICAgcmVjb3JkU3R5bGVzW3JlY29yZFR5cGVz
LkludmFsaWRhdGVMYXlvdXRdID0geyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJJbnZh
bGlkYXRlIExheW91dCIpLCBjYXRlZ29yeTogY2F0ZWdvcmllc1sicmVuZGVyaW5nIl0gfTsKICAg
ICByZWNvcmRTdHlsZXNbcmVjb3JkVHlwZXMuTGF5b3V0XSA9IHsgdGl0bGU6IFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiTGF5b3V0IiksIGNhdGVnb3J5OiBjYXRlZ29yaWVzWyJyZW5kZXJpbmciXSB9
OwogICAgIHJlY29yZFN0eWxlc1tyZWNvcmRUeXBlcy5QYWludF0gPSB7IHRpdGxlOiBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIlBhaW50IiksIGNhdGVnb3J5OiBjYXRlZ29yaWVzWyJwYWludGluZyJd
IH07CisgICAgcmVjb3JkU3R5bGVzW3JlY29yZFR5cGVzLlJhc3Rlcml6ZV0gPSB7IHRpdGxlOiBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJhc3Rlcml6ZSIpLCBjYXRlZ29yeTogY2F0ZWdvcmllc1si
cGFpbnRpbmciXSB9OwogICAgIHJlY29yZFN0eWxlc1tyZWNvcmRUeXBlcy5TY3JvbGxMYXllcl0g
PSB7IHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNjcm9sbCIpLCBjYXRlZ29yeTogY2F0
ZWdvcmllc1sicGFpbnRpbmciXSB9OwogICAgIHJlY29yZFN0eWxlc1tyZWNvcmRUeXBlcy5EZWNv
ZGVJbWFnZV0gPSB7IHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkltYWdlIERlY29kZSIp
LCBjYXRlZ29yeTogY2F0ZWdvcmllc1sicGFpbnRpbmciXSB9OwogICAgIHJlY29yZFN0eWxlc1ty
ZWNvcmRUeXBlcy5SZXNpemVJbWFnZV0gPSB7IHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IkltYWdlIFJlc2l6ZSIpLCBjYXRlZ29yeTogY2F0ZWdvcmllc1sicGFpbnRpbmciXSB9OwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWVudW0tc3Rh
YmlsaXR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1l
bGluZS1lbnVtLXN0YWJpbGl0eS1leHBlY3RlZC50eHQKaW5kZXggZDU3YjUyNjFmMDcxMGI4NTJh
NGYzNjAxMTVlOTczOWY3NjU5MTk4NS4uZjI1M2RlNTcyZmYxOTk3ZWYxN2RjNTM0YTZkYzQ4ODNj
ODkxYjczNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVs
aW5lLWVudW0tc3RhYmlsaXR5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvdGltZWxpbmUvdGltZWxpbmUtZW51bS1zdGFiaWxpdHktZXhwZWN0ZWQudHh0CkBAIC0xOSw2
ICsxOSw3IEBAIEFwcGxpY2F0aW9ucyBvdXRzaWRlIG9mIFdlYktpdCBkZXBlbmQgb24gdGhlIHN0
YWJpbGl0eSBvZiB0aGUgbWFwcGluZyBvZiB0aGVzZSB0CiAgICAgUGFpbnQgOiAiUGFpbnQiCiAg
ICAgUGFyc2VIVE1MIDogIlBhcnNlSFRNTCIKICAgICBQcm9ncmFtIDogIlByb2dyYW0iCisgICAg
UmFzdGVyaXplIDogIlJhc3Rlcml6ZSIKICAgICBSZWNhbGN1bGF0ZVN0eWxlcyA6ICJSZWNhbGN1
bGF0ZVN0eWxlcyIKICAgICBSZXF1ZXN0QW5pbWF0aW9uRnJhbWUgOiAiUmVxdWVzdEFuaW1hdGlv
bkZyYW1lIgogICAgIFJlc2l6ZUltYWdlIDogIlJlc2l6ZUltYWdlIgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>