<?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>136805</bug_id>
          
          <creation_ts>2014-09-13 23:00:18 -0700</creation_ts>
          <short_desc>Web Inspector: FunctionCall timeline records omit profile data if the debugger has paused</short_desc>
          <delta_ts>2014-09-26 10:37:08 -0700</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</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>http://www.nihilogic.dk/labs/tetris/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>136806</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brian Burg">burg</reporter>
          <assigned_to name="Brian Burg">burg</assigned_to>
          <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1035090</commentid>
    <comment_count>0</comment_count>
    <who name="Brian Burg">burg</who>
    <bug_when>2014-09-13 23:00:18 -0700</bug_when>
    <thetext>Steps to reproduce:

1. Set a breakpoint in rotateActivePiece
2. Start the game and rotate a piece
3. Continue the debugger

The timeline record for Key Down will not have any children, despite the onKeyDown handler having executed some code underneath.

It appears that the timeline records are getting munged improperly when the debugger is running. In particular, we have the following timeline record structure, which fails to create the correct child records with profile data (in TimelineManager.eventRecorded function processRecord)

&gt; EventDispatch (data: {&quot;type&quot;: &quot;keydown&quot;})
--&gt; FunctionCall (data: {&quot;scriptLine: 93, &quot;scriptName&quot;: &quot;...&quot;}) // NOTE: normally has &apos;profile&apos; property containing root nodes
----&gt; FunctionCall [10+] (data: {&quot;profile&quot;: ..., &quot;scriptLine&quot;: 1, &quot;scriptName&quot;: &quot;InjectedScript&quot;})

The first nested FunctionCall record contains the expected event handler in its profile. Subsequent nested FunctionCall records contain things that actually look related to InjectedScript, and these should not be displayed on the timeline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035094</commentid>
    <comment_count>1</comment_count>
      <attachid>238090</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2014-09-14 01:12:13 -0700</bug_when>
    <thetext>Created attachment 238090
Proposed Fix

The patch fixes this bug (regression?) but I don&apos;t have time to write a test right now. Feel free to pick it up and write one, or wait a few weeks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035095</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-09-14 01:12:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/18331304&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037139</commentid>
    <comment_count>3</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-09-24 20:53:25 -0700</bug_when>
    <thetext>This patch looks fine to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037140</commentid>
    <comment_count>4</comment_count>
      <attachid>238090</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-09-24 20:53:59 -0700</bug_when>
    <thetext>Comment on attachment 238090
Proposed Fix

I thought it landed, but I guess not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037287</commentid>
    <comment_count>5</comment_count>
      <attachid>238670</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2014-09-25 13:48:38 -0700</bug_when>
    <thetext>Created attachment 238670
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037303</commentid>
    <comment_count>6</comment_count>
      <attachid>238670</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-09-25 14:52:05 -0700</bug_when>
    <thetext>Comment on attachment 238670
Patch

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

&gt; LayoutTests/inspector/timeline/debugger-paused-while-recording.html:56
&gt; +    WebInspector.debuggerManager.addEventListener(WebInspector.DebuggerManager.Event.Paused,
&gt; +        function(event) {
&gt; +            InspectorTest.addResult(&quot;Debugger paused; resuming...&quot;);
&gt; +
&gt; +            WebInspector.debuggerManager.resume().then(function() {
&gt; +                InspectorTest.addResult(&quot;Debugger resumed; stopping timeline capture.&quot;);
&gt; +                WebInspector.timelineManager.stopCapturing();
&gt; +            })
&gt; +
&gt; +    });

function(event) { feels better on the previous line, like the other examples in this file.

Also extra new line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037384</commentid>
    <comment_count>7</comment_count>
    <who name="Brian Burg">burg</who>
    <bug_when>2014-09-25 19:29:55 -0700</bug_when>
    <thetext>Committed r173992: &lt;http://trac.webkit.org/changeset/173992&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037427</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-09-25 23:58:25 -0700</bug_when>
    <thetext>inspector/timeline/debugger-paused-while-recording.html is very flaky, failing nearly every time:

https://build.webkit.org/results/Apple%20Mavericks%20Release%20WK2%20(Tests)/r173993%20(8220)/inspector/timeline/debugger-paused-while-recording-pretty-diff.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037510</commentid>
    <comment_count>9</comment_count>
    <who name="Brian Burg">burg</who>
    <bug_when>2014-09-26 10:37:08 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; inspector/timeline/debugger-paused-while-recording.html is very flaky, failing nearly every time:
&gt; 
&gt; https://build.webkit.org/results/Apple%20Mavericks%20Release%20WK2%20(Tests)/r173993%20(8220)/inspector/timeline/debugger-paused-while-recording-pretty-diff.html

I skipped the new inspector/timelines/ directory in &lt;http://trac.webkit.org/changeset/173998&gt;, it seems to suffer similar problems to the debugger and replay tests. I&apos;ll take a look at this later, since this flakiness is a big deterrent to writing any tests.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238090</attachid>
            <date>2014-09-14 01:12:13 -0700</date>
            <delta_ts>2014-09-25 13:48:36 -0700</delta_ts>
            <desc>Proposed Fix</desc>
            <filename>bug-136805-20140914011205.patch</filename>
            <type>text/plain</type>
            <size>4887</size>
            <attacher name="Brian Burg">burg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczNTUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTk2MTA2ZTM2MjY3OTA4
YjNlOWQyZjI5NThkMmQyMWI2MThlNTY5OC4uOGIzMTA5MDgxOWE1YmU5ZDU1MTQ1NDYwMzJmOGY0
NjliZmM3NjJlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE0LTA5LTE0ICBCcmlh
biBKLiBCdXJnICA8YnVyZ0Bjcy53YXNoaW5ndG9uLmVkdT4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBGdW5jdGlvbkNhbGwgdGltZWxpbmUgcmVjb3JkcyBvbWl0IHByb2ZpbGUgZGF0YSBpZiB0
aGUgZGVidWdnZXIgaGFzIHBhdXNlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTM2ODA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGltZWxpbmVBZ2VudCB3YXMgbWlzbWFuYWdpbmcgaXRzIGNhbGwgc3Rh
Y2sgZGVwdGggY291bnRlciwgd2hpY2ggY2F1c2VkIG5lc3RlZCBGdW5jdGlvbkNhbGwKKyAgICAg
ICAgcmVjb3JkcyB0byBzdGVhbCB0aGUgcGFyZW50IEZ1bmN0aW9uQ2FsbCdzIGNhcHR1cmVkIHBy
b2ZpbGUgaW4gdGhlIGNoaWxkJ3MgZGlkQ2FsbEZ1bmN0aW9uKCkuCisgICAgICAgIFRodXMsIHRo
ZSB0b3AgRnVuY3Rpb25DYWxsIG5vZGUgaGFkIG5vIHByb2ZpbGUgZGF0YSBhbmQgbmVzdGVkIEZ1
bmN0aW9uQ2FsbCBub2RlcyBlYWNoIGhhZAorICAgICAgICB0aGVpciBvd24gcHJvZmlsZXMuIFRo
ZSBmcm9udGVuZCBleHBlY3RlZCBqdXN0IG9uZSBwcm9maWxlLCBzbyBpdCBkaWRuJ3Qgc2hvdyBh
bnl0aGluZyB3aGVuCisgICAgICAgIGl0IGNvdWxkbid0IGJlIGZvdW5kLgorCisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwOiBSZW5hbWUgbV9yZWNvcmRpbmdQ
cm9maWxlRGVwdGggdG8gbV9jYWxsU3RhY2tEZXB0aC4KKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQ6OndpbGxDYWxsRnVuY3Rpb24pOiBGaXggdGhlIGNhbGwgc3RhY2sg
ZGVwdGggbWFuYWdlbWVudC4KKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdl
bnQ6OmRpZENhbGxGdW5jdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50Ojp3aWxsRXZhbHVhdGVTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6ZGlkRXZhbHVhdGVTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudCk6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaDoKKwogMjAxNC0wOC0xMSAgQnJpYW4g
Si4gQnVyZyAgPGJ1cmdAY3Mud2FzaGluZ3Rvbi5lZHU+CiAKICAgICAgICAgV2ViIEluc3BlY3Rv
cjogYWRkIGVqZWN0IGN1cnJlbnQgcmVjb3JkaW5nIGJ1dHRvbiB0byB0aGUgcmVwbGF5IGRhc2hi
b2FyZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVs
aW5lQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5l
QWdlbnQuY3BwCmluZGV4IGJjNDk2ZDAzMWFhMTI3N2M0MTdlNzMxZjE3MDVkYmI4MGVlY2NmMjku
LmM4MWFjMjA0YTk0ZWFkNzc1MTZkOTRiMzlmNzUzN2ZiZDE5YzkzMWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKQEAgLTIz
MSwxOSArMjMxLDE5IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbENhbGxGdW5j
dGlvbihjb25zdCBTdHJpbmcmIHNjcmlwdE5hbWUsIGludCBzY3JpCiB7CiAgICAgcHVzaEN1cnJl
bnRSZWNvcmQoVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVGdW5jdGlvbkNhbGxEYXRhKHNj
cmlwdE5hbWUsIHNjcmlwdExpbmUpLCBUaW1lbGluZVJlY29yZFR5cGU6OkZ1bmN0aW9uQ2FsbCwg
dHJ1ZSwgZnJhbWUpOwogCi0gICAgaWYgKGZyYW1lICYmICFtX3JlY29yZGluZ1Byb2ZpbGVEZXB0
aCkgewotICAgICAgICArK21fcmVjb3JkaW5nUHJvZmlsZURlcHRoOworICAgIGlmIChmcmFtZSAm
JiAhbV9jYWxsU3RhY2tEZXB0aCkKICAgICAgICAgc3RhcnRQcm9maWxpbmcoZnJhbWUsIEFTQ0lJ
TGl0ZXJhbCgiVGltZWxpbmUgRnVuY3Rpb25DYWxsIikpOwotICAgIH0KKworICAgICsrbV9jYWxs
U3RhY2tEZXB0aDsKIH0KIAogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRDYWxsRnVu
Y3Rpb24oRnJhbWUqIGZyYW1lKQogewotICAgIGlmIChmcmFtZSAmJiBtX3JlY29yZGluZ1Byb2Zp
bGVEZXB0aCkgewotICAgICAgICAtLW1fcmVjb3JkaW5nUHJvZmlsZURlcHRoOwotICAgICAgICBB
U1NFUlQobV9yZWNvcmRpbmdQcm9maWxlRGVwdGggPj0gMCk7CisgICAgaWYgKGZyYW1lICYmIG1f
Y2FsbFN0YWNrRGVwdGgpIHsKKyAgICAgICAgLS1tX2NhbGxTdGFja0RlcHRoOworICAgICAgICBB
U1NFUlQobV9jYWxsU3RhY2tEZXB0aCA+PSAwKTsKIAotICAgICAgICBpZiAoIW1fcmVjb3JkaW5n
UHJvZmlsZURlcHRoKSB7CisgICAgICAgIGlmICghbV9jYWxsU3RhY2tEZXB0aCkgewogICAgICAg
ICAgICAgaWYgKG1fcmVjb3JkU3RhY2suaXNFbXB0eSgpKQogICAgICAgICAgICAgICAgIHJldHVy
bjsKIApAQCAtNDA1LDE5ICs0MDUsMTkgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3
aWxsRXZhbHVhdGVTY3JpcHQoY29uc3QgU3RyaW5nJiB1cmwsIGludCBsaW5lTnVtYmUKIHsKICAg
ICBwdXNoQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUV2YWx1YXRl
U2NyaXB0RGF0YSh1cmwsIGxpbmVOdW1iZXIpLCBUaW1lbGluZVJlY29yZFR5cGU6OkV2YWx1YXRl
U2NyaXB0LCB0cnVlLCBmcmFtZSk7CiAKLSAgICBpZiAoZnJhbWUgJiYgIW1fcmVjb3JkaW5nUHJv
ZmlsZURlcHRoKSB7Ci0gICAgICAgICsrbV9yZWNvcmRpbmdQcm9maWxlRGVwdGg7CisgICAgaWYg
KGZyYW1lICYmICFtX2NhbGxTdGFja0RlcHRoKSB7CisgICAgICAgICsrbV9jYWxsU3RhY2tEZXB0
aDsKICAgICAgICAgc3RhcnRQcm9maWxpbmcoZnJhbWUsIEFTQ0lJTGl0ZXJhbCgiVGltZWxpbmUg
RXZhbHVhdGVTY3JpcHQiKSk7CiAgICAgfQogfQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdl
bnQ6OmRpZEV2YWx1YXRlU2NyaXB0KEZyYW1lKiBmcmFtZSkKIHsKLSAgICBpZiAoZnJhbWUgJiYg
bV9yZWNvcmRpbmdQcm9maWxlRGVwdGgpIHsKLSAgICAgICAgLS1tX3JlY29yZGluZ1Byb2ZpbGVE
ZXB0aDsKLSAgICAgICAgQVNTRVJUKG1fcmVjb3JkaW5nUHJvZmlsZURlcHRoID49IDApOworICAg
IGlmIChmcmFtZSAmJiBtX2NhbGxTdGFja0RlcHRoKSB7CisgICAgICAgIC0tbV9jYWxsU3RhY2tE
ZXB0aDsKKyAgICAgICAgQVNTRVJUKG1fY2FsbFN0YWNrRGVwdGggPj0gMCk7CiAgICAgICAgIAot
ICAgICAgICBpZiAoIW1fcmVjb3JkaW5nUHJvZmlsZURlcHRoKSB7CisgICAgICAgIGlmICghbV9j
YWxsU3RhY2tEZXB0aCkgewogICAgICAgICAgICAgaWYgKG1fcmVjb3JkU3RhY2suaXNFbXB0eSgp
KQogICAgICAgICAgICAgICAgIHJldHVybjsKIApAQCAtNjkxLDEwICs2OTEsMTAgQEAgSW5zcGVj
dG9yVGltZWxpbmVBZ2VudDo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudChJbnN0cnVtZW50aW5nQWdl
bnRzKiBpbnN0cnVtZW50aW4KICAgICAsIG1fcGFnZUFnZW50KHBhZ2VBZ2VudCkKICAgICAsIG1f
c2NyaXB0RGVidWdTZXJ2ZXIobnVsbHB0cikKICAgICAsIG1faWQoMSkKKyAgICAsIG1fY2FsbFN0
YWNrRGVwdGgoMCkKICAgICAsIG1fbWF4Q2FsbFN0YWNrRGVwdGgoNSkKICAgICAsIG1faW5zcGVj
dG9yVHlwZSh0eXBlKQogICAgICwgbV9jbGllbnQoY2xpZW50KQotICAgICwgbV9yZWNvcmRpbmdQ
cm9maWxlRGVwdGgoMCkKICAgICAsIG1fZW5hYmxlZChmYWxzZSkKICAgICAsIG1fZW5hYmxlZEZy
b21Gcm9udGVuZChmYWxzZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IDFmY2E1ZWUxNGRmOGIyNzhiODg2MjljZWRhYzNi
NGU3NzY0MzAzZTIuLjUyNGY5NzI4Y2MwNTViNWM1M2NkM2U5NWZhOTgxY2RlZDEwMDcwZTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQu
aApAQCAtMjc5LDEzICsyNzksMTMgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8VGltZWxpbmVSZWNv
cmRFbnRyeT4gbV9yZWNvcmRTdGFjazsKIAogICAgIGludCBtX2lkOworICAgIGludCBtX2NhbGxT
dGFja0RlcHRoOwogICAgIGludCBtX21heENhbGxTdGFja0RlcHRoOwogICAgIEluc3BlY3RvclR5
cGUgbV9pbnNwZWN0b3JUeXBlOwogICAgIEluc3BlY3RvckNsaWVudCogbV9jbGllbnQ7CiAKICAg
ICBWZWN0b3I8VGltZWxpbmVSZWNvcmRFbnRyeT4gbV9wZW5kaW5nQ29uc29sZVByb2ZpbGVSZWNv
cmRzOwogCi0gICAgaW50IG1fcmVjb3JkaW5nUHJvZmlsZURlcHRoOwogICAgIGJvb2wgbV9lbmFi
bGVkOwogICAgIGJvb2wgbV9lbmFibGVkRnJvbUZyb250ZW5kOwogfTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238670</attachid>
            <date>2014-09-25 13:48:38 -0700</date>
            <delta_ts>2014-09-25 14:52:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136805-20140925134829.patch</filename>
            <type>text/plain</type>
            <size>13234</size>
            <attacher name="Brian Burg">burg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczOTM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzc2YjYxMzBlNjQyY2E5
MzY2Zjc4MDg2MTJkNWEzZGIxNDM2OWZlNS4uMWUwZWJmMjc5NDRhN2RkZmM1MDJjNDA5ZTRlNGE0
ZDk2M2JiNGM4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE0LTA5LTI1ICBCcmlh
biBKLiBCdXJnICA8YnVyZ0Bjcy53YXNoaW5ndG9uLmVkdT4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBGdW5jdGlvbkNhbGwgdGltZWxpbmUgcmVjb3JkcyBvbWl0IHByb2ZpbGUgZGF0YSBpZiB0
aGUgZGVidWdnZXIgaGFzIHBhdXNlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTM2ODA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGltZWxpbmVBZ2VudCB3YXMgbWlzbWFuYWdpbmcgaXRzIGNhbGwgc3Rh
Y2sgZGVwdGggY291bnRlciwgd2hpY2ggY2F1c2VkIG5lc3RlZCBGdW5jdGlvbkNhbGwKKyAgICAg
ICAgcmVjb3JkcyB0byBzdGVhbCB0aGUgcGFyZW50IEZ1bmN0aW9uQ2FsbCdzIGNhcHR1cmVkIHBy
b2ZpbGUgaW4gdGhlIGNoaWxkJ3MgZGlkQ2FsbEZ1bmN0aW9uKCkuCisgICAgICAgIFRodXMsIHRo
ZSB0b3AgRnVuY3Rpb25DYWxsIG5vZGUgaGFkIG5vIHByb2ZpbGUgZGF0YSBhbmQgbmVzdGVkIEZ1
bmN0aW9uQ2FsbCBub2RlcyBlYWNoIGhhZAorICAgICAgICB0aGVpciBvd24gcHJvZmlsZXMuIFRo
ZSBmcm9udGVuZCBleHBlY3RlZCBqdXN0IG9uZSBwcm9maWxlLCBzbyBpdCBkaWRuJ3Qgc2hvdyBh
bnl0aGluZyB3aGVuCisgICAgICAgIGl0IGNvdWxkbid0IGJlIGZvdW5kLgorCisgICAgICAgIFRl
c3Q6IGluc3BlY3Rvci90aW1lbGluZS9kZWJ1Z2dlci1wYXVzZWQtd2hpbGUtcmVjb3JkaW5nLmh0
bWwKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcDogUmVu
YW1lIG1fcmVjb3JkaW5nUHJvZmlsZURlcHRoIHRvIG1fY2FsbFN0YWNrRGVwdGguCisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsQ2FsbEZ1bmN0aW9uKTogRml4
IHRoZSBjYWxsIHN0YWNrIGRlcHRoIG1hbmFnZW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JUaW1lbGluZUFnZW50OjpkaWRDYWxsRnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbEV2YWx1YXRlU2NyaXB0KToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZEV2YWx1YXRlU2NyaXB0KToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6Okluc3BlY3RvclRpbWVsaW5lQWdl
bnQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50Lmg6CisKIDIw
MTQtMDktMjQgIEJyaWFuIEouIEJ1cmcgIDxidXJnQGNzLndhc2hpbmd0b24uZWR1PgogCiAgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IHN1YnRyYWN0IGVsYXBzZWQgdGltZSB3aGlsZSBkZWJ1Z2dlciBp
cyBwYXVzZWQgZnJvbSBwcm9maWxlIG5vZGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA2
ZTJhYTAzMDMyNmM1ZTBjMmMwZjEwNTcxYzU5MTk5NmQ5NGJhZDg4Li5lYTU2MzRlMWU2YjRkOTM4
NmQ2OWZhNmJlZmVhM2NkZmEyY2M5Y2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxNC0wOS0yNSAgQnJpYW4gSi4gQnVyZyAgPGJ1cmdAY3Mud2FzaGluZ3Rv
bi5lZHU+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogRnVuY3Rpb25DYWxsIHRpbWVsaW5lIHJl
Y29yZHMgb21pdCBwcm9maWxlIGRhdGEgaWYgdGhlIGRlYnVnZ2VyIGhhcyBwYXVzZWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjgwNQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVXNlckludGVyZmFj
ZS9UZXN0Lmh0bWw6IEFkZCBtaXNzaW5nIGluY2x1ZGUgZm9yIFNjb3BlQ2hhaW5Ob2RlLmpzLgor
CiAyMDE0LTA5LTIxICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KIAogICAg
ICAgICBNYWtlIHRoZSBXZWIgSW5zcGVjdG9yIHVzZSBhIHNlcGFyYXRlIHdlYiBwcm9jZXNzLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdl
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQu
Y3BwCmluZGV4IDAxNmQ2NzhlZDUwYzg0NTkxOWE4NTcxZjAwNmE1NzE5YTYyZDNkODguLjgwN2Rk
Mjg2NWU3ZGE4ODRlYzkyM2IzYWEzYmY1M2IzMzAzZDY3NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKQEAgLTIzMSwxOSAr
MjMxLDE5IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbENhbGxGdW5jdGlvbihj
b25zdCBTdHJpbmcmIHNjcmlwdE5hbWUsIGludCBzY3JpCiB7CiAgICAgcHVzaEN1cnJlbnRSZWNv
cmQoVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVGdW5jdGlvbkNhbGxEYXRhKHNjcmlwdE5h
bWUsIHNjcmlwdExpbmUpLCBUaW1lbGluZVJlY29yZFR5cGU6OkZ1bmN0aW9uQ2FsbCwgdHJ1ZSwg
ZnJhbWUpOwogCi0gICAgaWYgKGZyYW1lICYmICFtX3JlY29yZGluZ1Byb2ZpbGVEZXB0aCkgewot
ICAgICAgICArK21fcmVjb3JkaW5nUHJvZmlsZURlcHRoOworICAgIGlmIChmcmFtZSAmJiAhbV9j
YWxsU3RhY2tEZXB0aCkKICAgICAgICAgc3RhcnRQcm9maWxpbmcoZnJhbWUsIEFTQ0lJTGl0ZXJh
bCgiVGltZWxpbmUgRnVuY3Rpb25DYWxsIikpOwotICAgIH0KKworICAgICsrbV9jYWxsU3RhY2tE
ZXB0aDsKIH0KIAogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRDYWxsRnVuY3Rpb24o
RnJhbWUqIGZyYW1lKQogewotICAgIGlmIChmcmFtZSAmJiBtX3JlY29yZGluZ1Byb2ZpbGVEZXB0
aCkgewotICAgICAgICAtLW1fcmVjb3JkaW5nUHJvZmlsZURlcHRoOwotICAgICAgICBBU1NFUlQo
bV9yZWNvcmRpbmdQcm9maWxlRGVwdGggPj0gMCk7CisgICAgaWYgKGZyYW1lICYmIG1fY2FsbFN0
YWNrRGVwdGgpIHsKKyAgICAgICAgLS1tX2NhbGxTdGFja0RlcHRoOworICAgICAgICBBU1NFUlQo
bV9jYWxsU3RhY2tEZXB0aCA+PSAwKTsKIAotICAgICAgICBpZiAoIW1fcmVjb3JkaW5nUHJvZmls
ZURlcHRoKSB7CisgICAgICAgIGlmICghbV9jYWxsU3RhY2tEZXB0aCkgewogICAgICAgICAgICAg
aWYgKG1fcmVjb3JkU3RhY2suaXNFbXB0eSgpKQogICAgICAgICAgICAgICAgIHJldHVybjsKIApA
QCAtNDA1LDE5ICs0MDUsMTkgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsRXZh
bHVhdGVTY3JpcHQoY29uc3QgU3RyaW5nJiB1cmwsIGludCBsaW5lTnVtYmUKIHsKICAgICBwdXNo
Q3VycmVudFJlY29yZChUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUV2YWx1YXRlU2NyaXB0
RGF0YSh1cmwsIGxpbmVOdW1iZXIpLCBUaW1lbGluZVJlY29yZFR5cGU6OkV2YWx1YXRlU2NyaXB0
LCB0cnVlLCBmcmFtZSk7CiAKLSAgICBpZiAoZnJhbWUgJiYgIW1fcmVjb3JkaW5nUHJvZmlsZURl
cHRoKSB7Ci0gICAgICAgICsrbV9yZWNvcmRpbmdQcm9maWxlRGVwdGg7CisgICAgaWYgKGZyYW1l
ICYmICFtX2NhbGxTdGFja0RlcHRoKSB7CisgICAgICAgICsrbV9jYWxsU3RhY2tEZXB0aDsKICAg
ICAgICAgc3RhcnRQcm9maWxpbmcoZnJhbWUsIEFTQ0lJTGl0ZXJhbCgiVGltZWxpbmUgRXZhbHVh
dGVTY3JpcHQiKSk7CiAgICAgfQogfQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRp
ZEV2YWx1YXRlU2NyaXB0KEZyYW1lKiBmcmFtZSkKIHsKLSAgICBpZiAoZnJhbWUgJiYgbV9yZWNv
cmRpbmdQcm9maWxlRGVwdGgpIHsKLSAgICAgICAgLS1tX3JlY29yZGluZ1Byb2ZpbGVEZXB0aDsK
LSAgICAgICAgQVNTRVJUKG1fcmVjb3JkaW5nUHJvZmlsZURlcHRoID49IDApOworICAgIGlmIChm
cmFtZSAmJiBtX2NhbGxTdGFja0RlcHRoKSB7CisgICAgICAgIC0tbV9jYWxsU3RhY2tEZXB0aDsK
KyAgICAgICAgQVNTRVJUKG1fY2FsbFN0YWNrRGVwdGggPj0gMCk7CiAgICAgICAgIAotICAgICAg
ICBpZiAoIW1fcmVjb3JkaW5nUHJvZmlsZURlcHRoKSB7CisgICAgICAgIGlmICghbV9jYWxsU3Rh
Y2tEZXB0aCkgewogICAgICAgICAgICAgaWYgKG1fcmVjb3JkU3RhY2suaXNFbXB0eSgpKQogICAg
ICAgICAgICAgICAgIHJldHVybjsKIApAQCAtNjkxLDEwICs2OTEsMTAgQEAgSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudDo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBp
bnN0cnVtZW50aW4KICAgICAsIG1fcGFnZUFnZW50KHBhZ2VBZ2VudCkKICAgICAsIG1fc2NyaXB0
RGVidWdTZXJ2ZXIobnVsbHB0cikKICAgICAsIG1faWQoMSkKKyAgICAsIG1fY2FsbFN0YWNrRGVw
dGgoMCkKICAgICAsIG1fbWF4Q2FsbFN0YWNrRGVwdGgoNSkKICAgICAsIG1faW5zcGVjdG9yVHlw
ZSh0eXBlKQogICAgICwgbV9jbGllbnQoY2xpZW50KQotICAgICwgbV9yZWNvcmRpbmdQcm9maWxl
RGVwdGgoMCkKICAgICAsIG1fZW5hYmxlZChmYWxzZSkKICAgICAsIG1fZW5hYmxlZEZyb21Gcm9u
dGVuZChmYWxzZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JUaW1lbGluZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
VGltZWxpbmVBZ2VudC5oCmluZGV4IDFmY2E1ZWUxNGRmOGIyNzhiODg2MjljZWRhYzNiNGU3NzY0
MzAzZTIuLjUyNGY5NzI4Y2MwNTViNWM1M2NkM2U5NWZhOTgxY2RlZDEwMDcwZTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaApAQCAt
Mjc5LDEzICsyNzksMTMgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8VGltZWxpbmVSZWNvcmRFbnRy
eT4gbV9yZWNvcmRTdGFjazsKIAogICAgIGludCBtX2lkOworICAgIGludCBtX2NhbGxTdGFja0Rl
cHRoOwogICAgIGludCBtX21heENhbGxTdGFja0RlcHRoOwogICAgIEluc3BlY3RvclR5cGUgbV9p
bnNwZWN0b3JUeXBlOwogICAgIEluc3BlY3RvckNsaWVudCogbV9jbGllbnQ7CiAKICAgICBWZWN0
b3I8VGltZWxpbmVSZWNvcmRFbnRyeT4gbV9wZW5kaW5nQ29uc29sZVByb2ZpbGVSZWNvcmRzOwog
Ci0gICAgaW50IG1fcmVjb3JkaW5nUHJvZmlsZURlcHRoOwogICAgIGJvb2wgbV9lbmFibGVkOwog
ICAgIGJvb2wgbV9lbmFibGVkRnJvbUZyb250ZW5kOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QuaHRtbCBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QuaHRtbAppbmRleCBmYTkwOTUwNWU0ZTQ2MTFlZmY1MGVk
OWZiYzAyODUwMDM5OTI2ZGI3Li40ZGMxZTg3ZDY3NGE0NGFkOTJjNTgwZTY0ZDM3ZDVjOGNjZDky
OTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0
Lmh0bWwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC5odG1s
CkBAIC0xMDMsNiArMTAzLDcgQEAKICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL1Jlc291cmNlQ29s
bGVjdGlvbi5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9SZXNvdXJjZVRp
bWVsaW5lUmVjb3JkLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL1Jldmlz
aW9uLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL1Njb3BlQ2hhaW5Ob2Rl
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL1NjcmlwdC5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9TY3JpcHRTeW50YXhUcmVlLmpzIj48L3Njcmlw
dD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL1NjcmlwdFRpbWVsaW5lUmVjb3JkLmpzIj48L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCA3MGRjMjA4ZmI1OGY5NGM5MzgyMGNiYTNhN2E5Yjc0MGI4YzQ4MzU2Li5m
ODFjZjgyY2VjYzVmYjMwYzMzNzgyZGEwMDAxMGZjZjlhNWNkZTczIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTkgQEAKKzIwMTQtMDktMjUgIEJyaWFuIEouIEJ1cmcgIDxidXJnQGNzLndhc2hpbmd0b24uZWR1
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEZ1bmN0aW9uQ2FsbCB0aW1lbGluZSByZWNvcmRz
IG9taXQgcHJvZmlsZSBkYXRhIGlmIHRoZSBkZWJ1Z2dlciBoYXMgcGF1c2VkCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzY4MDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSB0ZXN0IHRvIHNlZSB0
aGF0IHNjcmlwdCB0aW1lbGluZSByZWNvcmRzIGNvbnRhaW4gcHJvZmlsZXMgZXZlbiB3aGVuCisg
ICAgICAgIHRoZSBkZWJ1Z2dlciBwYXVzZXMgZHVyaW5nIHRpbWVsaW5lIGNhcHR1cmluZy4KKwor
ICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS9kZWJ1Z2dlci1wYXVzZWQtd2hpbGUtcmVjb3Jk
aW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5lL2Rl
YnVnZ2VyLXBhdXNlZC13aGlsZS1yZWNvcmRpbmcuaHRtbDogQWRkZWQuCisgICAgICAgICogaW5z
cGVjdG9yL3RpbWVsaW5lL3Jlc291cmNlcy90aW1lbGluZS1oZWxwZXIuanM6IEFkZGVkLgorICAg
ICAgICAoY2FsbEZ1bmN0aW9uKToKKyAgICAgICAgKGhvb2spOgorCiAyMDE0LTA5LTI0ICBTaGl2
YWt1bWFyIEpNICA8c2hpdmEuam1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgQWRkIE5ldyBUZXN0
IGZvciBvdmVycmlkZU1pbWVUeXBlIGluIFhNTEh0dHBSZXF1ZXN0LgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL2RlYnVnZ2VyLXBhdXNlZC13aGlsZS1yZWNvcmRp
bmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL2RlYnVnZ2Vy
LXBhdXNlZC13aGlsZS1yZWNvcmRpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxZTE1NTFh
N2U3NTFmODA3ZWUxNzAyNjM0NjZiOTA5OWVlOGZjOGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvZGVidWdnZXItcGF1c2VkLXdoaWxlLXJlY29yZGlu
Zy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorVGVzdGluZyB0aGF0IHByb2ZpbGluZyBk
YXRhIGlzIGNvcnJlY3RseSBnZW5lcmF0ZWQgYW5kIGF0dGFjaGVkIHRvIFRpbWVsaW5lIHJlY29y
ZHMgd2hlbiB0aGUgZGVidWdnZXIgcGF1c2VzIGFuZCByZXN1bWVzIHdoaWxlIGNhcHR1cmluZyB0
aW1lbGluZXMuCisKK0FkZGVkIGEgYnJlYWtwb2ludCBpbnNpZGUgaG9vaygpLgorRGVidWdnZXIg
cGF1c2VkOyByZXN1bWluZy4uLgorRGVidWdnZXIgcmVzdW1lZDsgc3RvcHBpbmcgdGltZWxpbmUg
Y2FwdHVyZS4KK1RpbWVsaW5lIGNhcHR1cmluZyBzdG9wcGVkLgorU2F3IHNjcmlwdCB0aW1lbGlu
ZSByZWNvcmQgdHlwZTogc2NyaXB0LXRpbWVsaW5lLXJlY29yZC1zY3JpcHQtZXZhbHVhdGVkLCBw
cm9maWxlOiBbb2JqZWN0IE9iamVjdF0KK1NhdyBzY3JpcHQgdGltZWxpbmUgcmVjb3JkIHR5cGU6
IHNjcmlwdC10aW1lbGluZS1yZWNvcmQtc2NyaXB0LWV2YWx1YXRlZCwgcHJvZmlsZTogW29iamVj
dCBPYmplY3RdCitTYXcgc2NyaXB0IHRpbWVsaW5lIHJlY29yZCB0eXBlOiBzY3JpcHQtdGltZWxp
bmUtcmVjb3JkLXNjcmlwdC1ldmFsdWF0ZWQsIHByb2ZpbGU6IFtvYmplY3QgT2JqZWN0XQorU2F3
IHNjcmlwdCB0aW1lbGluZSByZWNvcmQgdHlwZTogc2NyaXB0LXRpbWVsaW5lLXJlY29yZC1ldmVu
dC1kaXNwYXRjaCwgcHJvZmlsZTogW29iamVjdCBPYmplY3RdCitTYXcgc2NyaXB0IHRpbWVsaW5l
IHJlY29yZCB0eXBlOiBzY3JpcHQtdGltZWxpbmUtcmVjb3JkLXRpbWVyLWluc3RhbGxlZCwgcHJv
ZmlsZTogbnVsbAorU2F3IHNjcmlwdCB0aW1lbGluZSByZWNvcmQgdHlwZTogc2NyaXB0LXRpbWVs
aW5lLXJlY29yZC10aW1lci1maXJlZCwgcHJvZmlsZTogW29iamVjdCBPYmplY3RdCitUaW1lckZp
cmVkIHRpbWVsaW5lIHJlY29yZCBoYXMgcHJvZmlsZSBhdHRhY2hlZDogVFJVRQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvZGVidWdnZXItcGF1c2VkLXdoaWxl
LXJlY29yZGluZy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL2RlYnVnZ2Vy
LXBhdXNlZC13aGlsZS1yZWNvcmRpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMzlmOGZmZGIwODRhYTIw
NGU3YWQ0NjBhMTdlM2VjYmVjMmIzM2U1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3RpbWVsaW5lL2RlYnVnZ2VyLXBhdXNlZC13aGlsZS1yZWNvcmRpbmcuaHRtbApA
QCAtMCwwICsxLDg0IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBo
dHRwLWVxdWl2PSJDb250ZW50LVNlY3VyaXR5LVBvbGljeSIgY29udGVudD0ic2NyaXB0LXNyYyAn
c2VsZicgJ3Vuc2FmZS1pbmxpbmUnIj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4vcmVzb3VyY2VzL3RpbWVs
aW5lLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gaW5zdGFsbFRpbWVy
KCkKK3sKKyAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICBjYWxsRnVuY3Rpb24o
bXVsLCBhZGQoMSwgMyksIDMpOworICAgICAgICBob29rKCk7CisgICAgfSk7Cit9CisKK2Z1bmN0
aW9uIGFkZChhLCBiKQoreworICAgIEluc3BlY3RvclRlc3RQcm94eS5hZGRSZXN1bHQoIkNhbGxp
bmcgYWRkKCk6ICIgKyBhICsgIiArICIgKyBiKTsKKyAgICByZXR1cm4gYSArIGI7Cit9CisKK2Z1
bmN0aW9uIG11bChhLCBiKQoreworICAgIEluc3BlY3RvclRlc3RQcm94eS5hZGRSZXN1bHQoIkNh
bGxpbmcgbXVsKCk6ICIgKyBhICsgIiAqICIgKyBiKTsKKyAgICByZXR1cm4gYSAqIGI7Cit9CisK
K2Z1bmN0aW9uIHRlc3QoKQoreworICAgIC8vIEZpcnN0LCBzZXQgdXAgdGhlIGJyZWFrcG9pbnQs
IHN0YXJ0IHRpbWVsaW5lIGNhcHR1cmluZywgYW5kIHRyaWdnZXIgZXhlY3V0aW9uIG9mIGluc3Rh
bGxUaW1lcigpLgorICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRMaXN0
ZW5lcihXZWJJbnNwZWN0b3IuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LlNjcmlwdEFkZGVkLCBmdW5j
dGlvbihldmVudCkgeworICAgICAgICB2YXIgc2NyaXB0T2JqZWN0ID0gZXZlbnQuZGF0YS5zY3Jp
cHQ7CisKKyAgICAgICAgaWYgKCEvdGltZWxpbmUtaGVscGVyXC5qcyQvLnRlc3Qoc2NyaXB0T2Jq
ZWN0LnVybCkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdmFyIGxvY2F0aW9uID0g
c2NyaXB0T2JqZWN0LmNyZWF0ZVNvdXJjZUNvZGVMb2NhdGlvbigxNywgMCk7ICAvLyBJbnNpZGUg
dGltZWxpbmUtaGVscGVyLmpzOmhvb2soKQorICAgICAgICB2YXIgYnJlYWtwb2ludCA9IG5ldyBX
ZWJJbnNwZWN0b3IuQnJlYWtwb2ludChsb2NhdGlvbik7CisgICAgICAgIFdlYkluc3BlY3Rvci5k
ZWJ1Z2dlck1hbmFnZXIuYWRkQnJlYWtwb2ludChicmVha3BvaW50KTsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIkFkZGVkIGEgYnJlYWtwb2ludCBpbnNpZGUgaG9vaygpLiIpCisK
KyAgICAgICAgV2ViSW5zcGVjdG9yLnRpbWVsaW5lTWFuYWdlci5zdGFydENhcHR1cmluZygpOwor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJpbnN0YWxsVGltZXIoKSIpOwor
ICAgIH0pOworCisgICAgLy8gU2Vjb25kLCB0aGUgZGVidWdnZXIgd2lsbCBwYXVzZSBkdXJpbmcg
dGltZWxpbmUgY2FwdHVyaW5nLiBSZXN1bWUsIHRoZW4gc3RvcCB0aW1lbGluZSBjYXB0dXJpbmcu
CisgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdlYklu
c3BlY3Rvci5EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuUGF1c2VkLAorICAgICAgICBmdW5jdGlvbihl
dmVudCkgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkRlYnVnZ2VyIHBh
dXNlZDsgcmVzdW1pbmcuLi4iKTsKKworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2Vy
TWFuYWdlci5yZXN1bWUoKS50aGVuKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCJEZWJ1Z2dlciByZXN1bWVkOyBzdG9wcGluZyB0aW1lbGluZSBj
YXB0dXJlLiIpOworICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci50aW1lbGluZU1hbmFnZXIu
c3RvcENhcHR1cmluZygpOworICAgICAgICAgICAgfSkKKworICAgIH0pOworCisgICAgLy8gV2hl
biB0aW1lbGluZSBjYXB0dXJpbmcgc3RvcHMsIGluc3BlY3QgdGhlIHJlc3VsdGluZyB0aW1lbGlu
ZSByZWNvcmRzIGZvciBhIHByb2ZpbGUuCisgICAgV2ViSW5zcGVjdG9yLnRpbWVsaW5lTWFuYWdl
ci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2Fw
dHVyaW5nU3RvcHBlZCwgZnVuY3Rpb24oZXZlbnQpIHsKKyAgICAgICAgdmFyIHJlY29yZGluZyA9
IFdlYkluc3BlY3Rvci50aW1lbGluZU1hbmFnZXIuYWN0aXZlUmVjb3JkaW5nOworICAgICAgICB2
YXIgc2NyaXB0VGltZWxpbmUgPSByZWNvcmRpbmcudGltZWxpbmVzLmdldChXZWJJbnNwZWN0b3Iu
VGltZWxpbmVSZWNvcmQuVHlwZS5TY3JpcHQpOworICAgICAgICBjb25zb2xlLmFzc2VydChzY3Jp
cHRUaW1lbGluZSk7CisKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlRpbWVsaW5l
IGNhcHR1cmluZyBzdG9wcGVkLiBJbnNwZWN0aW5nIHRoZSBhY3RpdmUgcmVjb3JkaW5nLi4uLiIp
OworCisgICAgICAgIGZvciAodmFyIHJlY29yZCBvZiBzY3JpcHRUaW1lbGluZS5yZWNvcmRzKSB7
CisgICAgICAgICAgICBpZiAocmVjb3JkLmV2ZW50VHlwZSAhPT0gV2ViSW5zcGVjdG9yLlNjcmlw
dFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5UaW1lckZpcmVkKQorICAgICAgICAgICAgICAgIGNv
bnRpbnVlOworCisgICAgICAgICAgICB2YXIgcmVzdWx0ID0gcmVjb3JkLnByb2ZpbGUgPyAiVFJV
RSIgOiAiRkFMU0UiOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlRpbWVy
RmlyZWQgdGltZWxpbmUgcmVjb3JkIGhhcyBwcm9maWxlIGF0dGFjaGVkOiAiICsgcmVzdWx0KTsK
KyAgICAgICAgfQorCisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAg
fSk7CisKKyAgICBJbnNwZWN0b3JUZXN0LnJlbG9hZFBhZ2UoKTsKK30KKzwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorICAgIDxwPlRlc3RpbmcgdGhhdCBwcm9m
aWxpbmcgZGF0YSBpcyBjb3JyZWN0bHkgZ2VuZXJhdGVkIGFuZCBhdHRhY2hlZCB0byBUaW1lbGlu
ZSByZWNvcmRzIHdoZW4gdGhlIGRlYnVnZ2VyIHBhdXNlcyBhbmQgcmVzdW1lcyB3aGlsZSBjYXB0
dXJpbmcgdGltZWxpbmVzLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS9yZXNvdXJjZXMvdGltZWxpbmUtaGVscGVyLmpzIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3Jlc291cmNlcy90aW1lbGluZS1oZWxwZXIu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzJlYWY1ODk0MmE3ZTM0OWVhNjZhMWVlODUxNzk3NjdhN2Y5ZTQyMQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS9yZXNvdXJj
ZXMvdGltZWxpbmUtaGVscGVyLmpzCkBAIC0wLDAgKzEsMTkgQEAKKy8vIFdBUk5JTkc6IHNvbWUg
dGVzdHMgYmxpbmRseSBzZXQgYnJlYWtwb2ludHMgaW4gdGhpcyBmaWxlIGJ5IGxpbmUgbnVtYmVy
LgorLy8gU28sIGlmIHlvdSBtb2RpZnkgdGhlIGNvZGUsIG1ha2Ugc3VyZSB0byBhZGp1c3QgYW55
IGNyZWF0ZVNvdXJjZUNvZGVMb2NhdGlvbgorLy8gY2FsbHMgZnJvbSB0ZXN0cyBpbiB0aGUgLi4v
IGRpcmVjdG9yeS4gQ2FsbHNpdGVzIHNob3VsZCBpbmNsdWRlIGEgZGVzY3JpcHRpb24KKy8vIG9m
IHRoZSBmdW5jdGlvbi9zdGF0ZW1lbnQgdG8gc2V0IGEgYnJlYWtwb2ludCBhdCwgc28gdGhhdCBp
dCdzIGVhc3kgdG8gZml4IHRoZW0uCisKK2Z1bmN0aW9uIGNhbGxGdW5jdGlvbihmbikKK3sKKyAg
ICBpZiAoIShmbiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
dmFyIGFyZ3NBcnJheSA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7Cisg
ICAgQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGFyZ3NBcnJheSwgMCwgMSk7CisgICAgZm4u
Y2FsbCh0aGlzLCBhcmdzQXJyYXkpOworfQorCitmdW5jdGlvbiBob29rKCkKK3sKKyAgICByZXR1
cm4gNDI7Cit9Cg==
</data>
<flag name="review"
          id="263421"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>