<?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>176824</bug_id>
          
          <creation_ts>2017-09-12 21:34:42 -0700</creation_ts>
          <short_desc>Web Inspector: Timeline should show when events preventDefault() was called on an event or not</short_desc>
          <delta_ts>2022-09-07 08:27:54 -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>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=176923</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>jlewis3</cc>
    
    <cc>joepeck</cc>
    
    <cc>kangil.han</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thisiskatewinslet</cc>
    
    <cc>timothy</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1348200</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-09-12 21:34:42 -0700</bug_when>
    <thetext>Timeline should show when events preventDefault() was called on an event or not

* Test
&lt;button id=&quot;b1&quot;&gt;Default Not Prevent&lt;/button&gt;
&lt;button id=&quot;b2&quot;&gt;Default Prevented&lt;/button&gt;
&lt;button onclick=&quot;sleep(); return false&quot;&gt;Default Prevented Two&lt;/button&gt;
&lt;script&gt;
function sleep() {
    let now = Date.now();
    while ((Date.now() - now) &lt; 100);
}
document.getElementById(&quot;b1&quot;).addEventListener(&quot;click&quot;, (event) =&gt; { sleep(); });
document.getElementById(&quot;b2&quot;).addEventListener(&quot;click&quot;, (event) =&gt; { sleep(); event.preventDefault(); });
&lt;/script&gt;

* Steps to reproduce:
1. Inspect test page
2. Start a timeline
3. Click each button
4. Stop recording
  =&gt; Should see which events had default prevented</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348201</commentid>
    <comment_count>1</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-09-12 21:34:53 -0700</bug_when>
    <thetext>&lt;rdar://problem/34290931&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348204</commentid>
    <comment_count>2</comment_count>
      <attachid>320617</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-09-12 21:40:15 -0700</bug_when>
    <thetext>Created attachment 320617
[PATCH] Proposed Fix - Lacking Tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348205</commentid>
    <comment_count>3</comment_count>
      <attachid>320618</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-09-12 21:40:43 -0700</bug_when>
    <thetext>Created attachment 320618
[IMAGE] Event Display</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348365</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-09-13 10:58:37 -0700</bug_when>
    <thetext>Noice. No spaces around em dash tho.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348390</commentid>
    <comment_count>5</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-09-13 11:24:45 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #4)
&gt; Noice. No spaces around em dash tho.

I&apos;m use the default styles for subtitles in tree elements.

For example Resources has the same styles for &quot;Name – domain&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348512</commentid>
    <comment_count>6</comment_count>
      <attachid>320617</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-09-13 15:14:57 -0700</bug_when>
    <thetext>Comment on attachment 320617
[PATCH] Proposed Fix - Lacking Tests

I&apos;ll shortly include a patch with tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348519</commentid>
    <comment_count>7</comment_count>
      <attachid>320696</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-09-13 15:26:59 -0700</bug_when>
    <thetext>Created attachment 320696
[PATCH] Proposed Fix

Now with tests!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348520</commentid>
    <comment_count>8</comment_count>
      <attachid>320696</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-09-13 15:27:50 -0700</bug_when>
    <thetext>Comment on attachment 320696
[PATCH] Proposed Fix

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

&gt; LayoutTests/inspector/timeline/resources/timeline-event-utilities.js:21
&gt; +function finishRecording(data = undefined) {

I suppose at this point the = undefined is redundant.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348521</commentid>
    <comment_count>9</comment_count>
      <attachid>320697</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-09-13 15:29:16 -0700</bug_when>
    <thetext>Created attachment 320697
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348535</commentid>
    <comment_count>10</comment_count>
      <attachid>320697</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2017-09-13 15:52:12 -0700</bug_when>
    <thetext>Comment on attachment 320697
[PATCH] Proposed Fix

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

r=me

&gt; LayoutTests/inspector/timeline/resources/timeline-event-utilities.js:8
&gt; +        InspectorTest.log(&quot;Starting Capture...&quot;);
&gt; +        const newRecording = true;

Style: I&apos;d add a newline.

&gt; LayoutTests/inspector/timeline/resources/timeline-event-utilities.js:10
&gt; +        InspectorTest.evaluateInPage(expression);

I would prefer you call this after adding the listener.

&gt; LayoutTests/inspector/timeline/timeline-event-EventDispatch.html:16
&gt; +    button.dispatchEvent(new MouseEvent(&quot;click&quot;, {bubbles: true, cancelable: true}));

Can you just call `button.click();`?

&gt; LayoutTests/inspector/timeline/timeline-event-EventDispatch.html:21
&gt; +    button.dispatchEvent(new MouseEvent(&quot;click&quot;, {bubbles: true, cancelable: true}));

Ditto.

&gt; LayoutTests/inspector/timeline/timeline-event-TimerFire.html:20
&gt; +            clearTimeout(setIntervalIdentifier);

NIT: for consistency, I think `clearInterval(setIntervalIdentifier);` is preferred.

&gt; LayoutTests/inspector/timeline/timeline-event-TimerInstall.html:20
&gt; +            clearTimeout(setIntervalIdentifier);

Ditto

&gt; LayoutTests/inspector/timeline/timeline-event-TimerRemove.html:19
&gt; +            clearTimeout(setIntervalIdentifier);

Ditto

&gt; LayoutTests/inspector/timeline/timeline-event-TimerRemove.html:71
&gt; +        name: &quot;SanityCheck&quot;,

lol

&gt; Source/WebInspectorUI/UserInterface/Test/Test.js:42
&gt; +    InspectorBackend.registerDOMDispatcher(new WI.DOMObserver);

Why did this move?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348562</commentid>
    <comment_count>11</comment_count>
      <attachid>320697</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-09-13 16:42:43 -0700</bug_when>
    <thetext>Comment on attachment 320697
[PATCH] Proposed Fix

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

&gt;&gt; LayoutTests/inspector/timeline/resources/timeline-event-utilities.js:10
&gt;&gt; +        InspectorTest.evaluateInPage(expression);
&gt; 
&gt; I would prefer you call this after adding the listener.

I mostly find that approach harder to read. In practice these commands trigger async operations and are serial and so the events below cannot happen before. So I like to write it this way to logically group things. If we somehow rewrote tests to use a synchronous backend we&apos;d encounter all kinds of issues.

&gt;&gt; LayoutTests/inspector/timeline/timeline-event-TimerFire.html:20
&gt;&gt; +            clearTimeout(setIntervalIdentifier);
&gt; 
&gt; NIT: for consistency, I think `clearInterval(setIntervalIdentifier);` is preferred.

Hah, I can&apos;t believe I totally forgot about `clearInterval`. Done!

&gt;&gt; Source/WebInspectorUI/UserInterface/Test/Test.js:42
&gt;&gt; +    InspectorBackend.registerDOMDispatcher(new WI.DOMObserver);
&gt; 
&gt; Why did this move?

To match the order of operations in Main.js. It isn&apos;t important, just consistency.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348630</commentid>
    <comment_count>12</comment_count>
      <attachid>320724</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-09-13 21:07:41 -0700</bug_when>
    <thetext>Created attachment 320724
[PATCH] For Landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348689</commentid>
    <comment_count>13</comment_count>
      <attachid>320724</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-14 00:57:50 -0700</bug_when>
    <thetext>Comment on attachment 320724
[PATCH] For Landing

Clearing flags on attachment: 320724

Committed r222015: &lt;http://trac.webkit.org/changeset/222015&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348806</commentid>
    <comment_count>14</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2017-09-14 09:37:33 -0700</bug_when>
    <thetext>(In reply to WebKit Commit Bot from comment #13)
&gt; Comment on attachment 320724 [details]
&gt; [PATCH] For Landing
&gt; 
&gt; Clearing flags on attachment: 320724
&gt; 
&gt; Committed r222015: &lt;http://trac.webkit.org/changeset/222015&gt;
Three of the tests added with this change are failing on macOS Debug WK1 bots:

inspector/timeline/timeline-event-FireAnimationFrame.html
inspector/timeline/timeline-event-TimerFire.html
inspector/timeline/timeline-event-TimerRemove.html

https://build.webkit.org/results/Apple%20Sierra%20Debug%20WK1%20(Tests)/r222016%20(3594)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348813</commentid>
    <comment_count>15</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2017-09-14 09:47:04 -0700</bug_when>
    <thetext>Actually, it seems like these tests are flaky failures on WK2 as well:
https://build.webkit.org/results/Apple%20El%20Capitan%20Debug%20WK2%20(Tests)/r222016%20(3074)/results.html

https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=inspector%2Ftimeline%2Ftimeline-event-</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348828</commentid>
    <comment_count>16</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2017-09-14 10:17:19 -0700</bug_when>
    <thetext>Reverted r222015 for reason:

The LayoutTests added with this change are flaky.

Committed r222030: &lt;http://trac.webkit.org/changeset/222030&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348852</commentid>
    <comment_count>17</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-09-14 10:49:49 -0700</bug_when>
    <thetext>Okay, I will avoid adding the Timer tests to this patch (they are kind of unrelated anyways) and investigate them separately. It doesn&apos;t appear the EventDispatch test was flakey like the timer ones.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348854</commentid>
    <comment_count>18</comment_count>
      <attachid>320789</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-09-14 10:52:29 -0700</bug_when>
    <thetext>Created attachment 320789
[PATCH] For Landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348869</commentid>
    <comment_count>19</comment_count>
      <attachid>320789</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-14 11:09:12 -0700</bug_when>
    <thetext>Comment on attachment 320789
[PATCH] For Landing

Clearing flags on attachment: 320789

Committed r222036: &lt;http://trac.webkit.org/changeset/222036&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1349082</commentid>
    <comment_count>20</comment_count>
    <who name="Matt Lewis">jlewis3</who>
    <bug_when>2017-09-14 16:36:03 -0700</bug_when>
    <thetext>After the second patch the test inspector/timeline/timeline-event-EventDispatch.html is still very flaky.

https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=inspector%2Ftimeline%2Ftimeline-event-EventDispatch.html

https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=inspector%2Ftimeline%2Ftimeline-event-EventDispatch.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1349092</commentid>
    <comment_count>21</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-09-14 16:51:16 -0700</bug_when>
    <thetext>Rolled out in: https://trac.webkit.org/changeset/222064/webkit

It appears we have an existing bug in Timelines, that will have to be hunted down in order to test this.

Likewise it may be more common in Debug, since running this test 50 times in release didn&apos;t exhibit any issue on my machines before I submitted it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517609</commentid>
    <comment_count>22</comment_count>
      <attachid>364999</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-03-17 20:57:54 -0700</bug_when>
    <thetext>Created attachment 364999
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519105</commentid>
    <comment_count>23</comment_count>
      <attachid>364999</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-20 12:53:30 -0700</bug_when>
    <thetext>Comment on attachment 364999
Patch

Rejecting attachment 364999 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 364999, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Logging in as commit-queue@webkit.org...
Fetching: https://bugs.webkit.org/attachment.cgi?id=364999&amp;action=edit
Fetching: https://bugs.webkit.org/show_bug.cgi?id=176824&amp;ctype=xml&amp;excludefield=attachmentdata
Processing 1 patch from 1 bug.
Processing patch 364999 from bug 176824.
Fetching: https://bugs.webkit.org/attachment.cgi?id=364999
Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Timothy Hatcher&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Parsed 29 diffs from patch file(s).
patching file Source/WebCore/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebInspectorUI/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebCore/dom/EventTarget.cpp
patching file Source/WebCore/inspector/InspectorInstrumentation.cpp
Hunk #1 succeeded at 413 with fuzz 1 (offset 2 lines).
Hunk #2 succeeded at 431 (offset 2 lines).
patching file Source/WebCore/inspector/InspectorInstrumentation.h
Hunk #1 FAILED at 152.
Hunk #2 succeeded at 347 with fuzz 2.
Hunk #3 succeeded at 793 with fuzz 1.
1 out of 4 hunks FAILED -- saving rejects to file Source/WebCore/inspector/InspectorInstrumentation.h.rej
patching file Source/WebCore/inspector/agents/InspectorTimelineAgent.cpp
Hunk #1 succeeded at 306 (offset -3 lines).
patching file Source/WebCore/inspector/agents/InspectorTimelineAgent.h
Hunk #1 succeeded at 115 (offset -6 lines).
patching file Source/WebCore/page/DOMWindow.cpp
Hunk #1 succeeded at 2109 (offset 3 lines).
patching file Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js
Hunk #1 succeeded at 1178 (offset 8 lines).
patching file Source/WebInspectorUI/UserInterface/Controllers/TimelineManager.js
patching file Source/WebInspectorUI/UserInterface/Models/ScriptTimelineRecord.js
patching file Source/WebInspectorUI/UserInterface/Views/ScriptDetailsTimelineView.js
patching file Source/WebInspectorUI/UserInterface/Views/ScriptTimelineDataGridNode.js
Hunk #1 succeeded at 86 (offset -14 lines).
patching file LayoutTests/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file LayoutTests/inspector/timeline/resources/timeline-event-utilities.js
patching file LayoutTests/inspector/timeline/timeline-event-CancelAnimationFrame-expected.txt
patching file LayoutTests/inspector/timeline/timeline-event-CancelAnimationFrame.html
patching file LayoutTests/inspector/timeline/timeline-event-EventDispatch-expected.txt
patching file LayoutTests/inspector/timeline/timeline-event-EventDispatch.html
patching file LayoutTests/inspector/timeline/timeline-event-FireAnimationFrame-expected.txt
patching file LayoutTests/inspector/timeline/timeline-event-FireAnimationFrame.html
patching file LayoutTests/inspector/timeline/timeline-event-RequestAnimationFrame-expected.txt
patching file LayoutTests/inspector/timeline/timeline-event-RequestAnimationFrame.html
patching file LayoutTests/inspector/timeline/timeline-event-TimerFire-expected.txt
patching file LayoutTests/inspector/timeline/timeline-event-TimerFire.html
patching file LayoutTests/inspector/timeline/timeline-event-TimerInstall-expected.txt
patching file LayoutTests/inspector/timeline/timeline-event-TimerInstall.html
patching file LayoutTests/inspector/timeline/timeline-event-TimerRemove-expected.txt
patching file LayoutTests/inspector/timeline/timeline-event-TimerRemove.html

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Timothy Hatcher&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: https://webkit-queues.webkit.org/results/11583606</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519143</commentid>
    <comment_count>24</comment_count>
      <attachid>365390</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-03-20 13:34:21 -0700</bug_when>
    <thetext>Created attachment 365390
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519341</commentid>
    <comment_count>25</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-03-20 17:20:40 -0700</bug_when>
    <thetext>Nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519368</commentid>
    <comment_count>26</comment_count>
      <attachid>365390</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-20 17:55:45 -0700</bug_when>
    <thetext>Comment on attachment 365390
Patch

Clearing flags on attachment: 365390

Committed r243269: &lt;https://trac.webkit.org/changeset/243269&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519369</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-20 17:55:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519699</commentid>
    <comment_count>28</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2019-03-21 10:15:17 -0700</bug_when>
    <thetext>Looks like all of the tests added in https://trac.webkit.org/changeset/243269/webkit

are flaky:
inspector/timeline/timeline-event-CancelAnimationFrame.html
inspector/timeline/timeline-event-EventDispatch.html
inspector/timeline/timeline-event-FireAnimationFrame.html
inspector/timeline/timeline-event-RequestAnimationFrame.html
inspector/timeline/timeline-event-TimerFire.html
inspector/timeline/timeline-event-TimerInstall.html
inspector/timeline/timeline-event-TimerRemove.html

Combined History:
https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=inspector%2Ftimeline%2Ftimeline-event-CancelAnimationFrame.html%20inspector%2Ftimeline%2Ftimeline-event-EventDispatch.html%20inspector%2Ftimeline%2Ftimeline-event-FireAnimationFrame.html%20inspector%2Ftimeline%2Ftimeline-event-RequestAnimationFrame.html%20inspector%2Ftimeline%2Ftimeline-event-TimerFire.html%20inspector%2Ftimeline%2Ftimeline-event-TimerInstall.html%20inspector%2Ftimeline%2Ftimeline-event-TimerRemove.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519702</commentid>
    <comment_count>29</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2019-03-21 10:18:00 -0700</bug_when>
    <thetext>Looks like this also broke inspector/timeline/line-column.html again.

History:
https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=inspector%2Ftimeline%2Fline-column.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519724</commentid>
    <comment_count>30</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-03-21 10:47:46 -0700</bug_when>
    <thetext>(In reply to Truitt Savell from comment #28)
&gt; Looks like all of the tests added in
&gt; https://trac.webkit.org/changeset/243269/webkit
&gt; 
&gt; are flaky:
&gt; inspector/timeline/timeline-event-CancelAnimationFrame.html
&gt; inspector/timeline/timeline-event-EventDispatch.html
&gt; inspector/timeline/timeline-event-FireAnimationFrame.html
&gt; inspector/timeline/timeline-event-RequestAnimationFrame.html
&gt; inspector/timeline/timeline-event-TimerFire.html
&gt; inspector/timeline/timeline-event-TimerInstall.html
&gt; inspector/timeline/timeline-event-TimerRemove.html
&gt; 
&gt; Combined History:
&gt; https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.
&gt; html#showAllRuns=true&amp;tests=inspector%2Ftimeline%2Ftimeline-event-
&gt; CancelAnimationFrame.html%20inspector%2Ftimeline%2Ftimeline-event-
&gt; EventDispatch.html%20inspector%2Ftimeline%2Ftimeline-event-
&gt; FireAnimationFrame.html%20inspector%2Ftimeline%2Ftimeline-event-
&gt; RequestAnimationFrame.html%20inspector%2Ftimeline%2Ftimeline-event-TimerFire.
&gt; html%20inspector%2Ftimeline%2Ftimeline-event-TimerInstall.
&gt; html%20inspector%2Ftimeline%2Ftimeline-event-TimerRemove.html

(In reply to Truitt Savell from comment #29)
&gt; Looks like this also broke inspector/timeline/line-column.html again.
&gt; 
&gt; History:
&gt; https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.
&gt; html#showAllRuns=true&amp;tests=inspector%2Ftimeline%2Fline-column.html

(╯°□°）╯︵ ┻━┻</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519850</commentid>
    <comment_count>31</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-03-21 12:56:29 -0700</bug_when>
    <thetext>(In reply to Truitt Savell from comment #29)
&gt; Looks like this also broke inspector/timeline/line-column.html again.
&gt; 
&gt; History:
&gt; https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.
&gt; html#showAllRuns=true&amp;tests=inspector%2Ftimeline%2Fline-column.html
Fixed in r243317 &lt;https://trac.webkit.org/changeset/243317&gt;.

Still investigating the other failures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520524</commentid>
    <comment_count>32</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-03-22 16:35:59 -0700</bug_when>
    <thetext>(In reply to Truitt Savell from comment #28)
&gt; Looks like all of the tests added in
&gt; https://trac.webkit.org/changeset/243269/webkit
&gt; 
&gt; are flaky:
&gt; inspector/timeline/timeline-event-CancelAnimationFrame.html
&gt; inspector/timeline/timeline-event-EventDispatch.html
&gt; inspector/timeline/timeline-event-FireAnimationFrame.html
&gt; inspector/timeline/timeline-event-RequestAnimationFrame.html
&gt; inspector/timeline/timeline-event-TimerFire.html
&gt; inspector/timeline/timeline-event-TimerInstall.html
&gt; inspector/timeline/timeline-event-TimerRemove.html
&gt; 
&gt; Combined History:
&gt; https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.
&gt; html#showAllRuns=true&amp;tests=inspector%2Ftimeline%2Ftimeline-event-
&gt; CancelAnimationFrame.html%20inspector%2Ftimeline%2Ftimeline-event-
&gt; EventDispatch.html%20inspector%2Ftimeline%2Ftimeline-event-
&gt; FireAnimationFrame.html%20inspector%2Ftimeline%2Ftimeline-event-
&gt; RequestAnimationFrame.html%20inspector%2Ftimeline%2Ftimeline-event-TimerFire.
&gt; html%20inspector%2Ftimeline%2Ftimeline-event-TimerInstall.
&gt; html%20inspector%2Ftimeline%2Ftimeline-event-TimerRemove.html
Fixed in r243405 &lt;http://trac.webkit.org/changeset/243405&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>320617</attachid>
            <date>2017-09-12 21:40:15 -0700</date>
            <delta_ts>2017-09-13 15:26:59 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix - Lacking Tests</desc>
            <filename>prevent-default-1.patch</filename>
            <type>text/plain</type>
            <size>20846</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBhNzljODE4NjdjOC4uM2Y5NTRiYTI3MTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNiBAQAorMjAxNy0wOS0xMiAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUu
Y29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFRpbWVsaW5lIHNob3VsZCBzaG93IHdoZW4g
ZXZlbnRzIHByZXZlbnREZWZhdWx0KCkgd2FzIGNhbGxlZCBvbiBhbiBldmVudCBvciBub3QKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjgyNAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMzQyOTA5MzE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RXZlbnRUYXJnZXQ6OmZpcmVFdmVudExpc3RlbmVycyk6CisgICAgICAgICogcGFn
ZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpkaXNwYXRjaEV2
ZW50KToKKyAgICAgICAgSW5jbHVkZSBkZWZhdWx0UHJldmVudGVkIHdoZW4gbm90aWZ5aW5nIGlu
c3BlY3Rvci4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNw
YXRjaEV2ZW50SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmRpZERpc3BhdGNoRXZlbnRPbldpbmRvd0ltcGwpOgorICAgICAgICAqIGluc3BlY3Rvci9J
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERpc3BhdGNoRXZlbnRPbldpbmRvdyk6CisgICAgICAg
IFBhc3MgZGVmYXVsdFByZXZlbnRlZCBvbiB0byBhZ2VudC4KKworICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
clRpbWVsaW5lQWdlbnQ6OmRpZERpc3BhdGNoRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkTGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQ6OmRpZFBhaW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yVGltZWxpbmVBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9UaW1lbGluZVJlY29yZEZh
Y3RvcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGltZWxpbmVSZWNvcmRGYWN0b3J5OjphcHBl
bmRMYXlvdXRSb290KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6
YXBwZW5kRGlkRGlzcGF0Y2hFdmVudERhdGEpOgorICAgICAgICAqIGluc3BlY3Rvci9UaW1lbGlu
ZVJlY29yZEZhY3RvcnkuaDoKKyAgICAgICAgQXBwZW5kIGEgYm9vbGVhbiBkZWZhdWx0UHJldmVu
dGVkIHByb3BlcnR5IG9uIHRoZSBFdmVudERpc3BhdGNoIHRpbWVsaW5lIHJlY29yZCdzIGRhdGEu
CisKIDIwMTctMDktMTEgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtXaW5dIEFkZCBNb2R1bGVzL2NhY2hlIHRvIGxpc3Qgb2YgZm9yd2FyZGluZyBoZWFk
ZXJzIGZvbGRlcnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcAppbmRleCBmZjM4NmJiMzBh
Mi4uYzllNjlmZDRlYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdl
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcApAQCAtMjk0LDcg
KzI5NCw3IEBAIHZvaWQgRXZlbnRUYXJnZXQ6OmZpcmVFdmVudExpc3RlbmVycyhFdmVudCYgZXZl
bnQsIEV2ZW50TGlzdGVuZXJWZWN0b3IgbGlzdGVuZXJzCiAgICAgfQogCiAgICAgaWYgKGNvbnRl
eHRJc0RvY3VtZW50KQotICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERpc3Bh
dGNoRXZlbnQod2lsbERpc3BhdGNoRXZlbnRDb29raWUpOworICAgICAgICBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmRpZERpc3BhdGNoRXZlbnQod2lsbERpc3BhdGNoRXZlbnRDb29raWUsIGV2
ZW50LmRlZmF1bHRQcmV2ZW50ZWQoKSk7CiB9CiAKIGNvbnN0IEV2ZW50TGlzdGVuZXJWZWN0b3Im
IEV2ZW50VGFyZ2V0OjpldmVudExpc3RlbmVycyhjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlw
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5jcHAKaW5kZXggMTE2NjJjMTM3ZmMuLjI2NjEyNGI1MDM0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApA
QCAtNDI5LDEwICs0MjksMTAgQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEhh
bmRsZUV2ZW50SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVtZW4KICAgICAgICAgZGVi
dWdnZXJBZ2VudC0+ZGlkRGlzcGF0Y2hBc3luY0NhbGwoKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZERpc3BhdGNoRXZlbnRJbXBsKGNvbnN0IEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbkNvb2tpZSYgY29va2llKQordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmRpZERpc3BhdGNoRXZlbnRJbXBsKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tp
ZSYgY29va2llLCBib29sIGRlZmF1bHRQcmV2ZW50ZWQpCiB7CiAgICAgaWYgKEluc3BlY3RvclRp
bWVsaW5lQWdlbnQqIHRpbWVsaW5lQWdlbnQgPSByZXRyaWV2ZVRpbWVsaW5lQWdlbnQoY29va2ll
KSkKLSAgICAgICAgdGltZWxpbmVBZ2VudC0+ZGlkRGlzcGF0Y2hFdmVudCgpOworICAgICAgICB0
aW1lbGluZUFnZW50LT5kaWREaXNwYXRjaEV2ZW50KGRlZmF1bHRQcmV2ZW50ZWQpOwogfQogCiBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3
aWxsRGlzcGF0Y2hFdmVudE9uV2luZG93SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVt
ZW50aW5nQWdlbnRzLCBjb25zdCBFdmVudCYgZXZlbnQsIERPTVdpbmRvdyYgd2luZG93KQpAQCAt
NDQ3LDEwICs0NDcsMTAgQEAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6d2lsbERpc3BhdGNoRXZlbnRPbldpbmQKICAgICByZXR1cm4gSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKGluc3RydW1lbnRpbmdBZ2VudHMsIHRpbWVsaW5l
QWdlbnRJZCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRj
aEV2ZW50T25XaW5kb3dJbXBsKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYg
Y29va2llKQordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERpc3BhdGNoRXZlbnRP
bldpbmRvd0ltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiBjb29raWUs
IGJvb2wgZGVmYXVsdFByZXZlbnRlZCkKIHsKICAgICBpZiAoSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dCogdGltZWxpbmVBZ2VudCA9IHJldHJpZXZlVGltZWxpbmVBZ2VudChjb29raWUpKQotICAgICAg
ICB0aW1lbGluZUFnZW50LT5kaWREaXNwYXRjaEV2ZW50KCk7CisgICAgICAgIHRpbWVsaW5lQWdl
bnQtPmRpZERpc3BhdGNoRXZlbnQoZGVmYXVsdFByZXZlbnRlZCk7CiB9CiAKIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbkNvb2tpZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxFdmFsdWF0
ZVNjcmlwdEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50cywgRnJh
bWUmIGZyYW1lLCBjb25zdCBTdHJpbmcmIHVybCwgaW50IGxpbmVOdW1iZXIpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXgg
MjUwZmE4NDIzMWEuLmM5ZmQxNjUwMDA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC0xNDcsMTEgKzE0NywxMSBAQCBw
dWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlkQWRkRXZlbnRMaXN0ZW5lcihFdmVudFRhcmdldCYs
IGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlKTsKICAgICBzdGF0aWMgdm9pZCB3aWxsUmVt
b3ZlRXZlbnRMaXN0ZW5lcihFdmVudFRhcmdldCYsIGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRU
eXBlLCBFdmVudExpc3RlbmVyJiwgYm9vbCBjYXB0dXJlKTsKICAgICBzdGF0aWMgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uQ29va2llIHdpbGxEaXNwYXRjaEV2ZW50KERvY3VtZW50JiwgY29uc3Qg
RXZlbnQmLCBib29sIGhhc0V2ZW50TGlzdGVuZXJzKTsKLSAgICBzdGF0aWMgdm9pZCBkaWREaXNw
YXRjaEV2ZW50KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYpOworICAgIHN0
YXRpYyB2b2lkIGRpZERpc3BhdGNoRXZlbnQoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Q29va2llJiwgYm9vbCBkZWZhdWx0UHJldmVudGVkKTsKICAgICBzdGF0aWMgdm9pZCB3aWxsSGFu
ZGxlRXZlbnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IEV2ZW50JiwgY29uc3QgUmVn
aXN0ZXJlZEV2ZW50TGlzdGVuZXImKTsKICAgICBzdGF0aWMgdm9pZCBkaWRIYW5kbGVFdmVudChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbkNvb2tpZSB3aWxsRGlzcGF0Y2hFdmVudE9uV2luZG93KEZyYW1lKiwgY29uc3QgRXZlbnQm
LCBET01XaW5kb3cmKTsKLSAgICBzdGF0aWMgdm9pZCBkaWREaXNwYXRjaEV2ZW50T25XaW5kb3co
Y29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CisgICAgc3RhdGljIHZvaWQg
ZGlkRGlzcGF0Y2hFdmVudE9uV2luZG93KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNv
b2tpZSYsIGJvb2wgZGVmYXVsdFByZXZlbnRlZCk7CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbkNvb2tpZSB3aWxsRXZhbHVhdGVTY3JpcHQoRnJhbWUmLCBjb25zdCBTdHJpbmcm
IHVybCwgaW50IGxpbmVOdW1iZXIpOwogICAgIHN0YXRpYyB2b2lkIGRpZEV2YWx1YXRlU2NyaXB0
KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYsIEZyYW1lJik7CiAgICAgc3Rh
dGljIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsRmlyZVRpbWVyKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmLCBpbnQgdGltZXJJZCk7CkBAIC0zMjEsOSArMzIxLDkgQEAgcHJpdmF0
ZToKICAgICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIHdpbGxEaXNwYXRj
aEV2ZW50SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgRG9jdW1lbnQmLCBjb25zdCBFdmVudCYs
IGJvb2wgaGFzRXZlbnRMaXN0ZW5lcnMpOwogICAgIHN0YXRpYyB2b2lkIHdpbGxIYW5kbGVFdmVu
dEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYsIGNvbnN0IEV2ZW50JiwgY29uc3QgUmVnaXN0ZXJl
ZEV2ZW50TGlzdGVuZXImKTsKICAgICBzdGF0aWMgdm9pZCBkaWRIYW5kbGVFdmVudEltcGwoSW5z
dHJ1bWVudGluZ0FnZW50cyYpOwotICAgIHN0YXRpYyB2b2lkIGRpZERpc3BhdGNoRXZlbnRJbXBs
KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYpOworICAgIHN0YXRpYyB2b2lk
IGRpZERpc3BhdGNoRXZlbnRJbXBsKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tp
ZSYsIGJvb2wgZGVmYXVsdFByZXZlbnRlZCk7CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbkNvb2tpZSB3aWxsRGlzcGF0Y2hFdmVudE9uV2luZG93SW1wbChJbnN0cnVtZW50aW5n
QWdlbnRzJiwgY29uc3QgRXZlbnQmLCBET01XaW5kb3cmKTsKLSAgICBzdGF0aWMgdm9pZCBkaWRE
aXNwYXRjaEV2ZW50T25XaW5kb3dJbXBsKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNv
b2tpZSYpOworICAgIHN0YXRpYyB2b2lkIGRpZERpc3BhdGNoRXZlbnRPbldpbmRvd0ltcGwoY29u
c3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiwgYm9vbCBkZWZhdWx0UHJldmVudGVk
KTsKICAgICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIHdpbGxFdmFsdWF0
ZVNjcmlwdEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYsIEZyYW1lJiwgY29uc3QgU3RyaW5nJiB1
cmwsIGludCBsaW5lTnVtYmVyKTsKICAgICBzdGF0aWMgdm9pZCBkaWRFdmFsdWF0ZVNjcmlwdElt
cGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiwgRnJhbWUmKTsKICAgICBz
dGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIHdpbGxGaXJlVGltZXJJbXBsKElu
c3RydW1lbnRpbmdBZ2VudHMmLCBpbnQgdGltZXJJZCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYp
OwpAQCAtNzMzLDExICs3MzMsMTEgQEAgaW5saW5lIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNv
b2tpZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxEaXNwYXRjaEV2ZW4KICAgICByZXR1
cm4gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKCk7CiB9CiAKLWlubGluZSB2b2lkIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudChjb25zdCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb25Db29raWUmIGNvb2tpZSkKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b25Db29raWUmIGNvb2tpZSwgYm9vbCBkZWZhdWx0UHJldmVudGVkKQogewogICAgIEZBU1RfUkVU
VVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChjb29raWUuaXNWYWxpZCgpKQot
ICAgICAgICBkaWREaXNwYXRjaEV2ZW50SW1wbChjb29raWUpOworICAgICAgICBkaWREaXNwYXRj
aEV2ZW50SW1wbChjb29raWUsIGRlZmF1bHRQcmV2ZW50ZWQpOwogfQogCiBpbmxpbmUgdm9pZCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxIYW5kbGVFdmVudChTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0LCBjb25zdCBFdmVudCYgZXZlbnQsIGNvbnN0IFJlZ2lzdGVyZWRFdmVu
dExpc3RlbmVyJiBsaXN0ZW5lcikKQEAgLTc2MiwxMSArNzYyLDExIEBAIGlubGluZSBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb25Db29raWUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRGlz
cGF0Y2hFdmVuCiAgICAgcmV0dXJuIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSgpOwog
fQogCi1pbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERpc3BhdGNoRXZl
bnRPbldpbmRvdyhjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmIGNvb2tpZSkK
K2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudE9u
V2luZG93KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYgY29va2llLCBib29s
IGRlZmF1bHRQcmV2ZW50ZWQpCiB7CiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZv
aWQoKSk7CiAgICAgaWYgKGNvb2tpZS5pc1ZhbGlkKCkpCi0gICAgICAgIGRpZERpc3BhdGNoRXZl
bnRPbldpbmRvd0ltcGwoY29va2llKTsKKyAgICAgICAgZGlkRGlzcGF0Y2hFdmVudE9uV2luZG93
SW1wbChjb29raWUsIGRlZmF1bHRQcmV2ZW50ZWQpOwogfQogCiBpbmxpbmUgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uQ29va2llIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbEV2YWx1YXRl
U2NyaXB0KEZyYW1lJiBmcmFtZSwgY29uc3QgU3RyaW5nJiB1cmwsIGludCBsaW5lTnVtYmVyKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdl
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQu
Y3BwCmluZGV4IDFiNTJiZmQxOGM4Li5hNTlmMDQ1NDZiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcApAQCAtMzExLDggKzMx
MSwxMiBAQCB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxEaXNwYXRjaEV2ZW50KGNv
bnN0IEV2ZW50JiBldmVudCwgRnJhbWUqIGZyYW1lKQogICAgIHB1c2hDdXJyZW50UmVjb3JkKFRp
bWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlRXZlbnREaXNwYXRjaERhdGEoZXZlbnQpLCBUaW1l
bGluZVJlY29yZFR5cGU6OkV2ZW50RGlzcGF0Y2gsIGZhbHNlLCBmcmFtZSk7CiB9CiAKLXZvaWQg
SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkRGlzcGF0Y2hFdmVudCgpCit2b2lkIEluc3BlY3Rv
clRpbWVsaW5lQWdlbnQ6OmRpZERpc3BhdGNoRXZlbnQoYm9vbCBkZWZhdWx0UHJldmVudGVkKQog
eworICAgIFRpbWVsaW5lUmVjb3JkRW50cnkmIGVudHJ5ID0gbV9yZWNvcmRTdGFjay5sYXN0KCk7
CisgICAgQVNTRVJUKGVudHJ5LnR5cGUgPT0gVGltZWxpbmVSZWNvcmRUeXBlOjpFdmVudERpc3Bh
dGNoKTsKKyAgICBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmFwcGVuZERpZERpc3BhdGNoRXZlbnRE
YXRhKCplbnRyeS5kYXRhLmdldCgpLCBkZWZhdWx0UHJldmVudGVkKTsKKwogICAgIGRpZENvbXBs
ZXRlQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29yZFR5cGU6OkV2ZW50RGlzcGF0Y2gpOwogfQog
CkBAIC0zMzUsOSArMzM5LDEwIEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkTGF5
b3V0KFJlbmRlck9iamVjdCYgcm9vdCkKICAgICBWZWN0b3I8RmxvYXRRdWFkPiBxdWFkczsKICAg
ICByb290LmFic29sdXRlUXVhZHMocXVhZHMpOwogICAgIGlmIChxdWFkcy5zaXplKCkgPj0gMSkK
LSAgICAgICAgVGltZWxpbmVSZWNvcmRGYWN0b3J5OjphcHBlbmRMYXlvdXRSb290KGVudHJ5LmRh
dGEuZ2V0KCksIHF1YWRzWzBdKTsKKyAgICAgICAgVGltZWxpbmVSZWNvcmRGYWN0b3J5OjphcHBl
bmRMYXlvdXRSb290KCplbnRyeS5kYXRhLmdldCgpLCBxdWFkc1swXSk7CiAgICAgZWxzZQogICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKwogICAgIGRpZENvbXBsZXRlQ3VycmVudFJlY29y
ZChUaW1lbGluZVJlY29yZFR5cGU6OkxheW91dCk7CiB9CiAKQEAgLTM4Miw2ICszODcsNyBAQCB2
b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZFBhaW50KFJlbmRlck9iamVjdCYgcmVuZGVy
ZXIsIGNvbnN0IExheW91dFJlY3QmCiAgICAgRmxvYXRRdWFkIHF1YWQ7CiAgICAgbG9jYWxUb1Bh
Z2VRdWFkKHJlbmRlcmVyLCBjbGlwUmVjdCwgJnF1YWQpOwogICAgIGVudHJ5LmRhdGEgPSBUaW1l
bGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZVBhaW50RGF0YShxdWFkKTsKKwogICAgIGRpZENvbXBs
ZXRlQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29yZFR5cGU6OlBhaW50KTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKaW5kZXgg
ODVmMDZkYWFhYTAuLmU0ZGY3YWU4ZWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKQEAgLTExOSw3ICsxMTksNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCB3aWxsQ2FsbEZ1bmN0aW9uKGNvbnN0IFN0cmluZyYgc2NyaXB0TmFtZSwgaW50
IHNjcmlwdExpbmUsIEZyYW1lKik7CiAgICAgdm9pZCBkaWRDYWxsRnVuY3Rpb24oRnJhbWUqKTsK
ICAgICB2b2lkIHdpbGxEaXNwYXRjaEV2ZW50KGNvbnN0IEV2ZW50JiwgRnJhbWUqKTsKLSAgICB2
b2lkIGRpZERpc3BhdGNoRXZlbnQoKTsKKyAgICB2b2lkIGRpZERpc3BhdGNoRXZlbnQoYm9vbCBk
ZWZhdWx0UHJldmVudGVkKTsKICAgICB2b2lkIHdpbGxFdmFsdWF0ZVNjcmlwdChjb25zdCBTdHJp
bmcmLCBpbnQsIEZyYW1lJik7CiAgICAgdm9pZCBkaWRFdmFsdWF0ZVNjcmlwdChGcmFtZSYpOwog
ICAgIHZvaWQgZGlkSW52YWxpZGF0ZUxheW91dChGcmFtZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcAppbmRleCA3NGFhN2ZmZTgx
My4uNjFiZWRjZmYxMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1l
bGluZVJlY29yZEZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1l
bGluZVJlY29yZEZhY3RvcnkuY3BwCkBAIC0xNDYsOSArMTQ2LDE0IEBAIFJlZjxJbnNwZWN0b3JP
YmplY3Q+IFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlUGFpbnREYXRhKGNvbnN0IEZsb2F0
UXVhZCYgcXVhCiAgICAgcmV0dXJuIGRhdGE7CiB9CiAKLXZvaWQgVGltZWxpbmVSZWNvcmRGYWN0
b3J5OjphcHBlbmRMYXlvdXRSb290KEluc3BlY3Rvck9iamVjdCogZGF0YSwgY29uc3QgRmxvYXRR
dWFkJiBxdWFkKQordm9pZCBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmFwcGVuZExheW91dFJvb3Qo
SW5zcGVjdG9yT2JqZWN0JiBkYXRhLCBjb25zdCBGbG9hdFF1YWQmIHF1YWQpCiB7Ci0gICAgZGF0
YS0+c2V0QXJyYXkoQVNDSUlMaXRlcmFsKCJyb290IiksIGNyZWF0ZVF1YWQocXVhZCkpOworICAg
IGRhdGEuc2V0QXJyYXkoQVNDSUlMaXRlcmFsKCJyb290IiksIGNyZWF0ZVF1YWQocXVhZCkpOwor
fQorCit2b2lkIFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6YXBwZW5kRGlkRGlzcGF0Y2hFdmVudERh
dGEoSW5zcGVjdG9yT2JqZWN0JiBkYXRhLCBib29sIGRlZmF1bHRQcmV2ZW50ZWQpCit7CisgICAg
ZGF0YS5zZXRCb29sZWFuKEFTQ0lJTGl0ZXJhbCgiZGVmYXVsdFByZXZlbnRlZCIpLCBkZWZhdWx0
UHJldmVudGVkKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5oIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5oCmluZGV4IGRkOWRlNjAxMjBl
Li5jZWZjNWIwMTkyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVs
aW5lUmVjb3JkRmFjdG9yeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGlu
ZVJlY29yZEZhY3RvcnkuaApAQCAtNjAsNyArNjAsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJl
ZjxJbnNwZWN0b3I6Okluc3BlY3Rvck9iamVjdD4gY3JlYXRlQW5pbWF0aW9uRnJhbWVEYXRhKGlu
dCBjYWxsYmFja0lkKTsKICAgICBzdGF0aWMgUmVmPEluc3BlY3Rvcjo6SW5zcGVjdG9yT2JqZWN0
PiBjcmVhdGVQYWludERhdGEoY29uc3QgRmxvYXRRdWFkJik7CiAKLSAgICBzdGF0aWMgdm9pZCBh
cHBlbmRMYXlvdXRSb290KEluc3BlY3Rvcjo6SW5zcGVjdG9yT2JqZWN0KiBkYXRhLCBjb25zdCBG
bG9hdFF1YWQmKTsKKyAgICBzdGF0aWMgdm9pZCBhcHBlbmRMYXlvdXRSb290KEluc3BlY3Rvcjo6
SW5zcGVjdG9yT2JqZWN0JiBkYXRhLCBjb25zdCBGbG9hdFF1YWQmKTsKKyAgICBzdGF0aWMgdm9p
ZCBhcHBlbmREaWREaXNwYXRjaEV2ZW50RGF0YShJbnNwZWN0b3I6Okluc3BlY3Rvck9iamVjdCYg
ZGF0YSwgYm9vbCBkZWZhdWx0UHJldmVudGVkKTsKIAogcHJpdmF0ZToKICAgICBUaW1lbGluZVJl
Y29yZEZhY3RvcnkoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCBjYjE2Mzk4
NmM4My4uOTJmM2RjMWFkMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTIwMDIs
NyArMjAwMiw3IEBAIGJvb2wgRE9NV2luZG93OjpkaXNwYXRjaEV2ZW50KEV2ZW50JiBldmVudCwg
RXZlbnRUYXJnZXQqIHRhcmdldCkKIAogICAgIGJvb2wgcmVzdWx0ID0gZmlyZUV2ZW50TGlzdGVu
ZXJzKGV2ZW50KTsKIAotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hF
dmVudE9uV2luZG93KGNvb2tpZSk7CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRE
aXNwYXRjaEV2ZW50T25XaW5kb3coY29va2llLCBldmVudC5kZWZhdWx0UHJldmVudGVkKCkpOwog
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGQxM2Yw
YjMxM2MyLi5hYTAzYzJjNTBhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MzMgQEAKKzIwMTctMDktMTIgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4K
KworICAgICAgICBXZWIgSW5zcGVjdG9yOiBUaW1lbGluZSBzaG91bGQgc2hvdyB3aGVuIGV2ZW50
cyBwcmV2ZW50RGVmYXVsdCgpIHdhcyBjYWxsZWQgb24gYW4gZXZlbnQgb3Igbm90CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzY4MjQKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzM0MjkwOTMxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJp
bmdzLmpzOgorICAgICAgICBOZXcgc3RyaW5nLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9D
b250cm9sbGVycy9UaW1lbGluZU1hbmFnZXIuanM6CisgICAgICAgIChXSS5UaW1lbGluZU1hbmFn
ZXIucHJvdG90eXBlLl9wcm9jZXNzUmVjb3JkKToKKyAgICAgICAgSW5jbHVkZSB0aGUgd2hvbGUg
ZGF0YSBvYmplY3QgYXMgZXh0cmEgZGV0YWlscy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
TW9kZWxzL1NjcmlwdFRpbWVsaW5lUmVjb3JkLmpzOgorICAgICAgICAoV0kuU2NyaXB0VGltZWxp
bmVSZWNvcmQpOgorICAgICAgICAoV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQucHJvdG90eXBlLmdl
dCBleHRyYURldGFpbHMpOgorICAgICAgICBXaG9sZXNhbGUgY29weSBvZiB0aGUgZXh0cmEgZGF0
YSBpbnN0ZWFkIG9mIGp1c3QgYSBzaW5nbGUgcHJvcGVydHkuCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL1ZpZXdzL1NjcmlwdERldGFpbHNUaW1lbGluZVZpZXcuanM6CisgICAgICAgIChXSS5T
Y3JpcHREZXRhaWxzVGltZWxpbmVWaWV3KToKKyAgICAgICAgR2l2ZSB0aGUgbmFtZSBjb2x1bW4g
bW9yZSBpbml0aWFsIHNwYWNlLCB0aGVyZSBpcyBzdGlsbCBleHRyYSBzcGFjZQorICAgICAgICBh
ZnRlciB0aGlzIGFkanVzdG1lbnQgYnV0IG5hbWUgaXMgY29tZm9ydGFibHkgbGFyZ2VyIChhbmQg
dGhlIG1vc3QKKyAgICAgICAgbGlrZWx5IHRvIGJlIGV4cGFuZGVkKS4KKworICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUuanM6CisgICAgICAg
IChXSS5TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5wcm90b3R5cGUuZ2V0IHN1YnRpdGxlKToK
KyAgICAgICAgSW5jbHVkZSAiZGVmYXVsdCBwcmV2ZW50ZWQiIGFzIHRoZSBldmVudCdzIHN1YnRp
dGxlIGlmIGl0IHdhcyBwcmV2ZW50ZWQuCisKIDIwMTctMDktMTEgIEpvc2VwaCBQZWNvcmFybyAg
PHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgRXhwZXJp
bWVudGFsIHNldHRpbmcgZm9yIG5ldyBOZXR3b3JrIHRhYgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0
cmluZ3MuanMKaW5kZXggNjJjMzI0MmZiN2IuLjEyZmZiMzMwZDdhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdz
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xv
Y2FsaXplZFN0cmluZ3MuanMKQEAgLTk4NCw2ICs5ODQsNyBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJa
LUluZGV4Il0gPSAiWi1JbmRleCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJab29tOiJdID0gIlpvb206
IjsKIGxvY2FsaXplZFN0cmluZ3NbImNvbXB1dGVkIl0gPSAiY29tcHV0ZWQiOwogbG9jYWxpemVk
U3RyaW5nc1siZGVmYXVsdCJdID0gImRlZmF1bHQiOworbG9jYWxpemVkU3RyaW5nc1siZGVmYXVs
dCBwcmV2ZW50ZWQiXSA9ICJkZWZhdWx0IHByZXZlbnRlZCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJm
b3IgY2hhbmdlcyB0byB0YWtlIGVmZmVjdCJdID0gImZvciBjaGFuZ2VzIHRvIHRha2UgZWZmZWN0
IjsKIGxvY2FsaXplZFN0cmluZ3NbImtleSJdID0gImtleSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJs
aW5lICJdID0gImxpbmUgIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdlci5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdlci5qcwppbmRl
eCA5ZTE5MzMxODI2Ny4uMGIwNTgxOTE2MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdlci5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9UaW1lbGluZU1h
bmFnZXIuanMKQEAgLTU2Myw3ICs1NjMsNyBAQCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBU
aW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgICAgICAgICByZWNvcmQg
PSBuZXcgV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQoV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZl
bnRUeXBlLlRpbWVyRmlyZWQsIHN0YXJ0VGltZSwgZW5kVGltZSwgY2FsbEZyYW1lcywgc291cmNl
Q29kZUxvY2F0aW9uLCBwYXJlbnRSZWNvcmRQYXlsb2FkLmRhdGEudGltZXJJZCwgcHJvZmlsZURh
dGEpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBUaW1lbGluZUFn
ZW50LkV2ZW50VHlwZS5FdmVudERpc3BhdGNoOgotICAgICAgICAgICAgICAgIHJlY29yZCA9IG5l
dyBXSS5TY3JpcHRUaW1lbGluZVJlY29yZChXSS5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5
cGUuRXZlbnREaXNwYXRjaGVkLCBzdGFydFRpbWUsIGVuZFRpbWUsIGNhbGxGcmFtZXMsIHNvdXJj
ZUNvZGVMb2NhdGlvbiwgcGFyZW50UmVjb3JkUGF5bG9hZC5kYXRhLnR5cGUsIHByb2ZpbGVEYXRh
KTsKKyAgICAgICAgICAgICAgICByZWNvcmQgPSBuZXcgV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQo
V0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkV2ZW50RGlzcGF0Y2hlZCwgc3RhcnRU
aW1lLCBlbmRUaW1lLCBjYWxsRnJhbWVzLCBzb3VyY2VDb2RlTG9jYXRpb24sIHBhcmVudFJlY29y
ZFBheWxvYWQuZGF0YS50eXBlLCBwcm9maWxlRGF0YSwgcGFyZW50UmVjb3JkUGF5bG9hZC5kYXRh
KTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgVGltZWxpbmVBZ2Vu
dC5FdmVudFR5cGUuRmlyZUFuaW1hdGlvbkZyYW1lOgogICAgICAgICAgICAgICAgIHJlY29yZCA9
IG5ldyBXSS5TY3JpcHRUaW1lbGluZVJlY29yZChXSS5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVu
dFR5cGUuQW5pbWF0aW9uRnJhbWVGaXJlZCwgc3RhcnRUaW1lLCBlbmRUaW1lLCBjYWxsRnJhbWVz
LCBzb3VyY2VDb2RlTG9jYXRpb24sIHBhcmVudFJlY29yZFBheWxvYWQuZGF0YS5pZCwgcHJvZmls
ZURhdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
TW9kZWxzL1NjcmlwdFRpbWVsaW5lUmVjb3JkLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdFRpbWVsaW5lUmVjb3JkLmpzCmluZGV4IDVkODdmOThj
MzZlLi41ODQzNzU3ZDc3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL1NjcmlwdFRpbWVsaW5lUmVjb3JkLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9TY3JpcHRUaW1lbGluZVJlY29yZC5qcwpA
QCAtMjUsNyArMjUsNyBAQAogCiBXSS5TY3JpcHRUaW1lbGluZVJlY29yZCA9IGNsYXNzIFNjcmlw
dFRpbWVsaW5lUmVjb3JkIGV4dGVuZHMgV0kuVGltZWxpbmVSZWNvcmQKIHsKLSAgICBjb25zdHJ1
Y3RvcihldmVudFR5cGUsIHN0YXJ0VGltZSwgZW5kVGltZSwgY2FsbEZyYW1lcywgc291cmNlQ29k
ZUxvY2F0aW9uLCBkZXRhaWxzLCBwcm9maWxlUGF5bG9hZCkKKyAgICBjb25zdHJ1Y3RvcihldmVu
dFR5cGUsIHN0YXJ0VGltZSwgZW5kVGltZSwgY2FsbEZyYW1lcywgc291cmNlQ29kZUxvY2F0aW9u
LCBkZXRhaWxzLCBwcm9maWxlUGF5bG9hZCwgZXh0cmFEZXRhaWxzKQogICAgIHsKICAgICAgICAg
c3VwZXIoV0kuVGltZWxpbmVSZWNvcmQuVHlwZS5TY3JpcHQsIHN0YXJ0VGltZSwgZW5kVGltZSwg
Y2FsbEZyYW1lcywgc291cmNlQ29kZUxvY2F0aW9uKTsKIApAQCAtMzgsNiArMzgsNyBAQCBXSS5T
Y3JpcHRUaW1lbGluZVJlY29yZCA9IGNsYXNzIFNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4dGVuZHMg
V0kuVGltZWxpbmVSZWNvcmQKICAgICAgICAgdGhpcy5fZGV0YWlscyA9IGRldGFpbHMgfHwgIiI7
CiAgICAgICAgIHRoaXMuX3Byb2ZpbGVQYXlsb2FkID0gcHJvZmlsZVBheWxvYWQgfHwgbnVsbDsK
ICAgICAgICAgdGhpcy5fcHJvZmlsZSA9IG51bGw7CisgICAgICAgIHRoaXMuX2V4dHJhRGV0YWls
cyA9IGV4dHJhRGV0YWlscyB8fCBudWxsOwogCiAgICAgICAgIC8vIENPTVBBVElCSUxJVFkoaU9T
IDkpOiBCZWZvcmUgdGhlIFNjcmlwdFByb2ZpbGVyQWdlbnQgd2UgZGlkIG5vdCBoYXZlIHNhbXBs
ZSBkYXRhLiBSZXR1cm4gTmFOIHRvIG1hdGNoIG9sZCBiZWhhdmlvci4KICAgICAgICAgaWYgKCF3
aW5kb3cuU2NyaXB0UHJvZmlsZXJBZ2VudCkKQEAgLTUwLDE1ICs1MSwxMCBAQCBXSS5TY3JpcHRU
aW1lbGluZVJlY29yZCA9IGNsYXNzIFNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4dGVuZHMgV0kuVGlt
ZWxpbmVSZWNvcmQKIAogICAgIC8vIFB1YmxpYwogCi0gICAgZ2V0IGV2ZW50VHlwZSgpCi0gICAg
ewotICAgICAgICByZXR1cm4gdGhpcy5fZXZlbnRUeXBlOwotICAgIH0KLQotICAgIGdldCBkZXRh
aWxzKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9kZXRhaWxzOwotICAgIH0KKyAgICBn
ZXQgZXZlbnRUeXBlKCkgeyByZXR1cm4gdGhpcy5fZXZlbnRUeXBlOyB9CisgICAgZ2V0IGRldGFp
bHMoKSB7IHJldHVybiB0aGlzLl9kZXRhaWxzOyB9CisgICAgZ2V0IGV4dHJhRGV0YWlscygpIHsg
cmV0dXJuIHRoaXMuX2V4dHJhRGV0YWlsczsgfQorICAgIGdldCBjYWxsQ291bnRPclNhbXBsZXMo
KSB7IHJldHVybiB0aGlzLl9jYWxsQ291bnRPclNhbXBsZXM7IH0KIAogICAgIGdldCBwcm9maWxl
KCkKICAgICB7CkBAIC02NiwxMSArNjIsNiBAQCBXSS5TY3JpcHRUaW1lbGluZVJlY29yZCA9IGNs
YXNzIFNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4dGVuZHMgV0kuVGltZWxpbmVSZWNvcmQKICAgICAg
ICAgcmV0dXJuIHRoaXMuX3Byb2ZpbGU7CiAgICAgfQogCi0gICAgZ2V0IGNhbGxDb3VudE9yU2Ft
cGxlcygpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fY2FsbENvdW50T3JTYW1wbGVzOwot
ICAgIH0KLQogICAgIGlzR2FyYmFnZUNvbGxlY3Rpb24oKQogICAgIHsKICAgICAgICAgcmV0dXJu
IHRoaXMuX2V2ZW50VHlwZSA9PT0gV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkdh
cmJhZ2VDb2xsZWN0ZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9TY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3LmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldy5q
cwppbmRleCBkYWFmZTEwZThmOS4uOTNlZjI0Yjc3YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdERldGFpbHNUaW1lbGluZVZpZXcu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0
RGV0YWlsc1RpbWVsaW5lVmlldy5qcwpAQCAtMzQsNyArMzQsNyBAQCBXSS5TY3JpcHREZXRhaWxz
VGltZWxpbmVWaWV3ID0gY2xhc3MgU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldyBleHRlbmRzIFdJ
LlRpbWVsaQogICAgICAgICBsZXQgY29sdW1ucyA9IHtuYW1lOiB7fSwgbG9jYXRpb246IHt9LCBj
YWxsQ291bnQ6IHt9LCBzdGFydFRpbWU6IHt9LCB0b3RhbFRpbWU6IHt9LCBzZWxmVGltZToge30s
IGF2ZXJhZ2VUaW1lOiB7fX07CiAKICAgICAgICAgY29sdW1ucy5uYW1lLnRpdGxlID0gV0kuVUlT
dHJpbmcoIk5hbWUiKTsKLSAgICAgICAgY29sdW1ucy5uYW1lLndpZHRoID0gIjEwJSI7CisgICAg
ICAgIGNvbHVtbnMubmFtZS53aWR0aCA9ICIzMCUiOwogICAgICAgICBjb2x1bW5zLm5hbWUuaWNv
biA9IHRydWU7CiAgICAgICAgIGNvbHVtbnMubmFtZS5kaXNjbG9zdXJlID0gdHJ1ZTsKICAgICAg
ICAgY29sdW1ucy5uYW1lLmxvY2tlZCA9IHRydWU7CkBAIC02OSw3ICs2OSw3IEBAIFdJLlNjcmlw
dERldGFpbHNUaW1lbGluZVZpZXcgPSBjbGFzcyBTY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3IGV4
dGVuZHMgV0kuVGltZWxpCiAgICAgICAgIGNvbHVtbnMuYXZlcmFnZVRpbWUud2lkdGggPSAiMTAl
IjsKICAgICAgICAgY29sdW1ucy5hdmVyYWdlVGltZS5hbGlnbmVkID0gInJpZ2h0IjsKIAotICAg
ICAgICBmb3IgKHZhciBjb2x1bW4gaW4gY29sdW1ucykKKyAgICAgICAgZm9yIChsZXQgY29sdW1u
IGluIGNvbHVtbnMpCiAgICAgICAgICAgICBjb2x1bW5zW2NvbHVtbl0uc29ydGFibGUgPSB0cnVl
OwogCiAgICAgICAgIHRoaXMuX2RhdGFHcmlkID0gbmV3IFdJLlNjcmlwdFRpbWVsaW5lRGF0YUdy
aWQoY29sdW1ucyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlLmpz
CmluZGV4IDA1ZDlhZDE0YzNiLi5mYTJkMGQwNjBhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0
VGltZWxpbmVEYXRhR3JpZE5vZGUuanMKQEAgLTEwMCw2ICsxMDAsOSBAQCBXSS5TY3JpcHRUaW1l
bGluZURhdGFHcmlkTm9kZSA9IGNsYXNzIFNjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlIGV4dGVu
ZHMgV0kuVGltZQogICAgICAgICAgICAgICAgIHRoaXMuX3N1YnRpdGxlID0gV0kuVUlTdHJpbmco
IiVzIGludGVydmFsIikuZm9ybWF0KHRpbWVvdXRTdHJpbmcpOwogICAgICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgICAgIHRoaXMuX3N1YnRpdGxlID0gV0kuVUlTdHJpbmcoIiVzIGRlbGF5Iiku
Zm9ybWF0KHRpbWVvdXRTdHJpbmcpOworICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX3JlY29yZC5l
dmVudFR5cGUgPT09IFdJLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5FdmVudERpc3Bh
dGNoZWQpIHsKKyAgICAgICAgICAgIGlmICh0aGlzLl9yZWNvcmQuZXh0cmFEZXRhaWxzICYmIHRo
aXMuX3JlY29yZC5leHRyYURldGFpbHMuZGVmYXVsdFByZXZlbnRlZCkKKyAgICAgICAgICAgICAg
ICB0aGlzLl9zdWJ0aXRsZSA9IFdJLlVJU3RyaW5nKCJkZWZhdWx0IHByZXZlbnRlZCIpOwogICAg
ICAgICB9CiAKICAgICAgICAgcmV0dXJuIHRoaXMuX3N1YnRpdGxlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>320618</attachid>
            <date>2017-09-12 21:40:43 -0700</date>
            <delta_ts>2017-09-12 21:40:43 -0700</delta_ts>
            <desc>[IMAGE] Event Display</desc>
            <filename>Screen Shot 2017-09-12 at 9.31.09 PM.png</filename>
            <type>image/png</type>
            <size>127823</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">iVBORw0KGgoAAAANSUhEUgAABCkAAAKHCAYAAACsMBLDAAAAAXNSR0IArs4c6QAAAZ5pVFh0WE1M
OmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6
eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3
LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlv
biByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNv
bS9leGlmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MTA2NTwvZXhpZjpQ
aXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj42NDc8L2V4aWY6
UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8
L3g6eG1wbWV0YT4KIBvCDwAAQABJREFUeAHsfQmAXEW19umeLTOTyUwm+74RkkAIEARkTcJi2BFC
2BdBRYX463MFBUTAB4goqIjgU94TZEdQkUVZwmIgkIQ1kD0h62TfZ+/u//vqdk3u3NzbfXumZ+nk
VNJTVadObV/VrapzblVdETWKgCKgCCgCioAioAgoAoqAIqAIKAKKgCKgCCgCioAioAgoAoqAIqAI
KAKKgCKgCCgCioAioAgoAoqAIqAIKAKKgCKgCCgCioAioAgoAoqAIqAIKAKKgCKgCCgCioAioAgo
AoqAIqAIKAKKgCKgCCgCioAioAgoAoqAIqAIKAKKgCKgCCgCioAioAgoAoqAIqAIKAKKgCKgCCgC
ioAioAgoAoqAIqAIKAKKgCLgj0DEn6zUViCgmLYCPI2qCCgCioAioAgoAoqAIqAIKAKKQI4hkMix
8nbq4qpAHdw8ik0wNhqiCCgCioAioAgoAoqAIqAIKAKKgCLQOgRUueGD394siO/NdffpCkpSBBQB
RUARUAQUAUVAEVAEFAFFQBHoRAjslUqMvUVQ31vq2YmeJy2KIqAIKAKKgCKgCCgCioAioAgoAopA
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
oxQnysHxRAIk0GQIxHWKgDoYmh6BuE7hMra3Nr2OOVGPYjuG496OZFxfQ0Ke9UWSdkiABEig8RGg
SFFlzJT4oKaAbEXLKim8JQESIAESIAESIAESIAESIAESIAESaEgCLru7R0NCpW0SIAESIAESIAES
IAESIAESIAESIIG6E6BIUXdmLEECJEACJEACJEACJEACJEACJEACJNAABChSNABUmiQBEiABEiAB
EiABEiABEiABEiABEqg7AYoUdWfGEiRAAiRAAiRAAiRAAiRAAiRAAiRAAg1AgCJFA0ClSRIgARIg
ARIgARIgARIgARIgARIggboTaPK7e8y5cV3dqbAECTRhAsuXL2/CvWPXSIAESIAESIAESOAaEfj2
W4Dfq64RbFbjSgSavEhx2223udJ4sq8kQAIkQAIkQAIkQAIkQAIkQAIk0GgJcLpHox06NpwESIAE
SIAESIAESIAESIAESIAEmhYBihRNazzZGxIgARIgARIgARIgARIgARIgARJotASa/HSPRjsybDgJ
kAAJkAAJkAAJkAAJkMBVEzh69CjOnTuHkpKSq7ZFAyTQ0AQ8PDzQrFkztGvXrqGrclr7FCmcdmjY
MBIgARIgARIgARIgARIggashoASKoqIidOvWDQEBAVdjimVJ4JoQKCgowPHjx6Feu64qVHC6xzV5
qbESEiABEiABEiABEiABEiCBa01AeVB06NCBAsW1Bs/6rpiAEtPUa1a9dl01uLwnxYVTBTi69xyy
jufDoC/SXge+gT6IahOEdt2bITyu8SmuJpMJXl5ervqaZr9JgARIgARIgARIgARIQCOgpnjodDrS
IIFGRUC9Zl15epJLixQ7lx3H6Z9zEegXgYjANvAK80FJqRk5uVnIOVGGjT+nIrZTCG4Z0aZRvajL
yspw8eJF+Pn5OdTuwsJCnDlzBursSPD390fz5s2hzgwkQAIkQAIkQAIkQAIk0FgJKLf6/fv349Sp
UzAYDPD19UVcXBxuuOEGtGnTuJ4BGusYsN0kUJWAy4oU6+cfgqnACy2iE+Dm5qZxKSoyIN90Ep1u
j0Hq7kxE+LZEzslcqLwDxneuys5p7729vXHhwgVNNXZ3v/yMnvT0dERERCAxMdGhPp0+fRqqTOfO
jYeJtWPFxcVQfBhIgARIgARIgARIgARcm8DatWuhvtf26NEDAwYM0H6AUz/aKeFi48aN2poAd955
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
AAIQgMBDEfj/nOF3aquEGikAAAAASUVORK5CYII=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>320696</attachid>
            <date>2017-09-13 15:26:59 -0700</date>
            <delta_ts>2017-09-13 15:29:16 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>timeline-2.patch</filename>
            <type>text/plain</type>
            <size>60176</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0MjI5NGZkOTU4OC4uN2Q3Mzk3YzA2OGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAor
MjAxNy0wOS0xMyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IFRpbWVsaW5lIHNob3VsZCBzaG93IHdoZW4gZXZlbnRzIHByZXZl
bnREZWZhdWx0KCkgd2FzIGNhbGxlZCBvbiBhbiBldmVudCBvciBub3QKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjgyNAorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMzQyOTA5MzE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvcmVzb3VyY2VzL3RpbWVsaW5lLWV2ZW50
LXV0aWxpdGllcy5qczogQWRkZWQuCisgICAgICAgIChUZXN0UGFnZS5yZWdpc3RlckluaXRpYWxp
emVyLndpbmRvdy5jYXB0dXJlVGltZWxpbmVXaXRoU2NyaXB0KToKKyAgICAgICAgKFRlc3RQYWdl
LnJlZ2lzdGVySW5pdGlhbGl6ZXIpOgorICAgICAgICAoZmluaXNoUmVjb3JkaW5nKToKKyAgICAg
ICAgSGVscGVyIGNvZGUgZm9yIGNyZWF0aW5nIGEgcmVjb3JkaW5nIGZyb20gYSBmdW5jdGlvbi4K
KworICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1DYW5jZWxBbmlt
YXRpb25GcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci90aW1l
bGluZS90aW1lbGluZS1ldmVudC1DYW5jZWxBbmltYXRpb25GcmFtZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtRXZlbnREaXNwYXRjaC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGlu
ZS1ldmVudC1FdmVudERpc3BhdGNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci90
aW1lbGluZS90aW1lbGluZS1ldmVudC1GaXJlQW5pbWF0aW9uRnJhbWUtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtRmlyZUFu
aW1hdGlvbkZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90
aW1lbGluZS1ldmVudC1SZXF1ZXN0QW5pbWF0aW9uRnJhbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtUmVxdWVzdEFuaW1h
dGlvbkZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1l
bGluZS1ldmVudC1UaW1lckZpcmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNw
ZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJGaXJlLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1UaW1lckluc3RhbGwtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUt
ZXZlbnQtVGltZXJJbnN0YWxsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci90aW1l
bGluZS90aW1lbGluZS1ldmVudC1UaW1lclJlbW92ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1UaW1lclJlbW92ZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgVGVzdHMgZm9yIGRpZmZlcmVudCwgc3BlY2lmaWMsIFRpbWVsaW5l
IGRvbWFpbiBFdmVudFR5cGVzLgorICAgICAgICBUaGlzIGluY2x1ZGVzIEV2ZW50RGlzcGF0Y2gg
d2l0aCBpdHMgbmV3ICJkZWZhdWx0UHJldmVudGVkIiBkZXRhaWxzIGRhdGEuCisKIDIwMTctMDkt
MTEgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBDbGVhbnVwIGFuZCB0ZXN0IE1JTUVUeXBlVXRpbGl0aWVzCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvcmVzb3VyY2VzL3RpbWVsaW5lLWV2ZW50
LXV0aWxpdGllcy5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS9yZXNvdXJjZXMv
dGltZWxpbmUtZXZlbnQtdXRpbGl0aWVzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwLi5kMzhkMGQxODhkMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci90aW1lbGluZS9yZXNvdXJjZXMvdGltZWxpbmUtZXZlbnQtdXRpbGl0aWVzLmpzCkBA
IC0wLDAgKzEsMjMgQEAKK1Rlc3RQYWdlLnJlZ2lzdGVySW5pdGlhbGl6ZXIoKCkgPT4geworICAg
IHdpbmRvdy5wYWdlUmVjb3JkaW5nRGF0YSA9IG51bGw7CisKKyAgICB3aW5kb3cuY2FwdHVyZVRp
bWVsaW5lV2l0aFNjcmlwdCA9IGZ1bmN0aW9uKGV4cHJlc3Npb24pIHsKKyAgICAgICAgcGFnZVJl
Y29yZGluZ0RhdGEgPSBudWxsOworCisgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJTdGFydGlu
ZyBDYXB0dXJlLi4uIik7CisgICAgICAgIGNvbnN0IG5ld1JlY29yZGluZyA9IHRydWU7CisgICAg
ICAgIFdJLnRpbWVsaW5lTWFuYWdlci5zdGFydENhcHR1cmluZyhuZXdSZWNvcmRpbmcpOworICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGV4cHJlc3Npb24pOworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmF3YWl0RXZlbnQoIkZpbmlzaFJlY29yZGluZyIpLnRoZW4oKGV2ZW50KSA9
PiB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiU3RvcHBpbmcgQ2FwdHVyZS4uLiIp
OworICAgICAgICAgICAgcGFnZVJlY29yZGluZ0RhdGEgPSBldmVudC5kYXRhOworICAgICAgICAg
ICAgV0kudGltZWxpbmVNYW5hZ2VyLnN0b3BDYXB0dXJpbmcoKTsKKyAgICAgICAgfSk7CisKKyAg
ICAgICAgcmV0dXJuIFdJLnRpbWVsaW5lTWFuYWdlci5hd2FpdEV2ZW50KFdJLlRpbWVsaW5lTWFu
YWdlci5FdmVudC5DYXB0dXJpbmdTdG9wcGVkKTsKKyAgICB9Cit9KTsKKworZnVuY3Rpb24gZmlu
aXNoUmVjb3JkaW5nKGRhdGEgPSB1bmRlZmluZWQpIHsKKyAgICBUZXN0UGFnZS5kaXNwYXRjaEV2
ZW50VG9Gcm9udGVuZCgiRmluaXNoUmVjb3JkaW5nIiwgZGF0YSk7Cit9CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtQ2FuY2VsQW5pbWF0
aW9uRnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3Rp
bWVsaW5lLWV2ZW50LUNhbmNlbEFuaW1hdGlvbkZyYW1lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNGE3MzQ3MWMwMGEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtQ2FuY2Vs
QW5pbWF0aW9uRnJhbWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1Rlc3RzICdDYW5j
ZWxBbmltYXRpb25GcmFtZScgVGltZWxpbmUgZXZlbnQgcmVjb3Jkcy4KKworCis9PSBSdW5uaW5n
IHRlc3Qgc3VpdGU6IFRpbWVsaW5lRXZlbnQuQ2FuY2VsQW5pbWF0aW9uRnJhbWUKKy0tIFJ1bm5p
bmcgdGVzdCBjYXNlOiBUaW1lbGluZUV2ZW50LkNhbmNlbEFuaW1hdGlvbkZyYW1lLnJlcXVlc3RB
bmltYXRpb25GcmFtZQorU3RhcnRpbmcgQ2FwdHVyZS4uLgorU3RvcHBpbmcgQ2FwdHVyZS4uLgor
UEFTUzogU2hvdWxkIGJlIDEgQW5pbWF0aW9uRnJhbWVDYW5jZWxlZCByZWNvcmQuCitERVRBSUxT
OiBudW1iZXIKK1BBU1M6IFNjcmlwdFRpbWVsaW5lUmVjb3JkIGRldGFpbHMgc2hvdWxkIGJlIHRo
ZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgaWRlbnRpZmllci4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUNhbmNlbEFuaW1hdGlvbkZy
YW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQt
Q2FuY2VsQW5pbWF0aW9uRnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMC4uZWY2MTMwZjUzYjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtQ2FuY2VsQW5pbWF0aW9uRnJhbWUuaHRtbApA
QCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy90aW1lbGluZS1ldmVudC11
dGlsaXRpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3RSZXF1ZXN0QW5p
bWF0aW9uRnJhbWUoKSB7CisgICAgbGV0IHJlcXVlc3RBbmltYXRpb25GcmFtZUlkZW50aWZpZXIg
PSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geyBUZXN0UGFnZS5hZGRSZXN1bHQoIkZBSUw6
IHJlcXVlc3RBbmltYXRpb25GcmFtZSBmaXJlZCIpOyB9KTsKKyAgICBjYW5jZWxBbmltYXRpb25G
cmFtZShyZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZGVudGlmaWVyKTsKKyAgICBzZXRUaW1lb3V0KCgp
ID0+IHsgZmluaXNoUmVjb3JkaW5nKHtyZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZGVudGlmaWVyfSk7
IH0pOyAvLyBEZWxheSBhIGJpdCB0byBlbnN1cmUgd2UgZ2V0IHRoZSBjbGVhciBhbmltYXRpb24g
ZnJhbWUuCit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGxldCBzdWl0ZSA9IEluc3BlY3Rv
clRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiVGltZWxpbmVFdmVudC5DYW5jZWxBbmltYXRpb25GcmFt
ZSIpOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiVGltZWxpbmVF
dmVudC5DYW5jZWxBbmltYXRpb25GcmFtZS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLAorICAgICAg
ICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICAgICAgY2FwdHVyZVRpbWVsaW5lV2l0
aFNjcmlwdChgdGVzdFJlcXVlc3RBbmltYXRpb25GcmFtZSgpYCkudGhlbigoKSA9PiB7CisgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQodHlwZW9mIHBhZ2VSZWNvcmRpbmdEYXRh
LnJlcXVlc3RBbmltYXRpb25GcmFtZUlkZW50aWZpZXIgPT09ICJudW1iZXIiKTsKKworICAgICAg
ICAgICAgICAgIGxldCByZWNvcmRpbmcgPSBXSS50aW1lbGluZU1hbmFnZXIuYWN0aXZlUmVjb3Jk
aW5nOworICAgICAgICAgICAgICAgIGxldCBzY3JpcHRUaW1lbGluZSA9IHJlY29yZGluZy50aW1l
bGluZXMuZ2V0KFdJLlRpbWVsaW5lUmVjb3JkLlR5cGUuU2NyaXB0KTsKKyAgICAgICAgICAgICAg
ICBsZXQgcmVjb3JkcyA9IHNjcmlwdFRpbWVsaW5lLnJlY29yZHMuZmlsdGVyKCh4KSA9PiB4LmV2
ZW50VHlwZSA9PT0gV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkFuaW1hdGlvbkZy
YW1lQ2FuY2VsZWQpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwo
cmVjb3Jkcy5sZW5ndGgsIDEsICJTaG91bGQgYmUgMSBBbmltYXRpb25GcmFtZUNhbmNlbGVkIHJl
Y29yZC4iKTsKKyAgICAgICAgICAgICAgICBmb3IgKGxldCByZWNvcmQgb2YgcmVjb3Jkcykgewor
ICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiREVUQUlMUzogIiArIHR5cGVv
ZiByZWNvcmQuZGV0YWlscyk7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhw
ZWN0RXF1YWwocmVjb3JkLmRldGFpbHMsIHBhZ2VSZWNvcmRpbmdEYXRhLnJlcXVlc3RBbmltYXRp
b25GcmFtZUlkZW50aWZpZXIsICJTY3JpcHRUaW1lbGluZVJlY29yZCBkZXRhaWxzIHNob3VsZCBi
ZSB0aGUgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIGlkZW50aWZpZXIuIik7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSkudGhlbihyZXNvbHZlLCByZWplY3QpOworICAgICAgICB9Cisg
ICAgfSk7CisKKyAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKK30KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+VGVzdHMgJ0NhbmNlbEFu
aW1hdGlvbkZyYW1lJyBUaW1lbGluZSBldmVudCByZWNvcmRzLjwvcD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1l
dmVudC1FdmVudERpc3BhdGNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90
aW1lbGluZS90aW1lbGluZS1ldmVudC1FdmVudERpc3BhdGNoLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZmYxMWM0M2Q4ZWYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtRXZl
bnREaXNwYXRjaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNyBAQAorVGVzdHMgJ0V2ZW50RGlz
cGF0Y2gnIFRpbWVsaW5lIGV2ZW50IHJlY29yZHMuCisKKyAKKworPT0gUnVubmluZyB0ZXN0IHN1
aXRlOiBUaW1lbGluZUV2ZW50LkV2ZW50RGlzcGF0Y2gKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBU
aW1lbGluZUV2ZW50LkV2ZW50RGlzcGF0Y2guSGFuZGxlci5SZWd1bGFyCitTdGFydGluZyBDYXB0
dXJlLi4uCitjbGljayBoYW5kbGVyIGZpcmVkCitTdG9wcGluZyBDYXB0dXJlLi4uCitQQVNTOiBT
aG91bGQgYmUgMSBFdmVudERpc3BhdGNoZWQgcmVjb3JkLgorREVUQUlMUzogeyJ0eXBlIjoiY2xp
Y2siLCJkZWZhdWx0UHJldmVudGVkIjpmYWxzZX0KK1BBU1M6IFNjcmlwdFRpbWVsaW5lUmVjb3Jk
IGV4dHJhRGV0YWlscyBzaG91bGQgc2hvdyBkZWZhdWx0IHdhcyBub3QgcHJldmVudGVkLgorCist
LSBSdW5uaW5nIHRlc3QgY2FzZTogVGltZWxpbmVFdmVudC5FdmVudERpc3BhdGNoLkhhbmRsZXIu
RGVmYXVsdFByZXZlbnRlZAorU3RhcnRpbmcgQ2FwdHVyZS4uLgorY2xpY2sgaGFuZGxlciBmaXJl
ZCwgd2lsbCBwcmV2ZW50IGRlZmF1bHQKK1N0b3BwaW5nIENhcHR1cmUuLi4KK1BBU1M6IFNob3Vs
ZCBiZSAxIEV2ZW50RGlzcGF0Y2hlZCByZWNvcmQuCitERVRBSUxTOiB7InR5cGUiOiJjbGljayIs
ImRlZmF1bHRQcmV2ZW50ZWQiOnRydWV9CitQQVNTOiBTY3JpcHRUaW1lbGluZVJlY29yZCBleHRy
YURldGFpbHMgc2hvdWxkIHNob3cgZGVmYXVsdCB3YXMgcHJldmVudGVkLgorCistLSBSdW5uaW5n
IHRlc3QgY2FzZTogVGltZWxpbmVFdmVudC5FdmVudERpc3BhdGNoLkF0dHJpYnV0ZUhhbmRsZXIu
UmVndWxhcgorU3RhcnRpbmcgQ2FwdHVyZS4uLgorYjEgb25jbGljayBhdHRyaWJ1dGUgaGFuZGxl
ciBmaXJlZAorU3RvcHBpbmcgQ2FwdHVyZS4uLgorUEFTUzogU2hvdWxkIGJlIDEgRXZlbnREaXNw
YXRjaGVkIHJlY29yZC4KK0RFVEFJTFM6IHsidHlwZSI6ImNsaWNrIiwiZGVmYXVsdFByZXZlbnRl
ZCI6ZmFsc2V9CitQQVNTOiBTY3JpcHRUaW1lbGluZVJlY29yZCBleHRyYURldGFpbHMgc2hvdWxk
IHNob3cgZGVmYXVsdCB3YXMgbm90IHByZXZlbnRlZC4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6
IFRpbWVsaW5lRXZlbnQuRXZlbnREaXNwYXRjaC5BdHRyaWJ1dGVIYW5kbGVyLkRlZmF1bHRQcmV2
ZW50ZWQKK1N0YXJ0aW5nIENhcHR1cmUuLi4KK2IyIG9uY2xpY2sgYXR0cmlidXRlIGhhbmRsZXIg
ZmlyZWQsIHdpbGwgcHJldmVudCBkZWZhdWx0CitTdG9wcGluZyBDYXB0dXJlLi4uCitQQVNTOiBT
aG91bGQgYmUgMSBFdmVudERpc3BhdGNoZWQgcmVjb3JkLgorREVUQUlMUzogeyJ0eXBlIjoiY2xp
Y2siLCJkZWZhdWx0UHJldmVudGVkIjp0cnVlfQorUEFTUzogU2NyaXB0VGltZWxpbmVSZWNvcmQg
ZXh0cmFEZXRhaWxzIHNob3VsZCBzaG93IGRlZmF1bHQgd2FzIHByZXZlbnRlZC4KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUV2ZW50
RGlzcGF0Y2guaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1l
dmVudC1FdmVudERpc3BhdGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAuLjUzMDcxYzI2M2IzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUV2ZW50RGlzcGF0Y2guaHRtbApAQCAtMCwwICsx
LDExMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvdGltZWxpbmUtZXZlbnQtdXRpbGl0aWVz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0Q2xpY2tFdmVudEhhbmRsZXIo
e3ByZXZlbnREZWZhdWx0fSkgeworICAgIGxldCBidXR0b24gPSBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpKTsKKyAgICBidXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoZXZlbnQpID0+IHsKKyAgICAgICAgVGVzdFBhZ2UuYWRk
UmVzdWx0KCJjbGljayBoYW5kbGVyIGZpcmVkIiArIChwcmV2ZW50RGVmYXVsdCA/ICIsIHdpbGwg
cHJldmVudCBkZWZhdWx0IiA6ICIiKSk7CisgICAgICAgIHNldFRpbWVvdXQoKCkgPT4geyBmaW5p
c2hSZWNvcmRpbmcoe3ByZXZlbnREZWZhdWx0fSk7IH0pOworICAgICAgICBpZiAocHJldmVudERl
ZmF1bHQpCisgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOworICAgIH0pOworCisg
ICAgYnV0dG9uLmRpc3BhdGNoRXZlbnQobmV3IE1vdXNlRXZlbnQoImNsaWNrIiwge2J1YmJsZXM6
IHRydWUsIGNhbmNlbGFibGU6IHRydWV9KSk7Cit9CisKK2Z1bmN0aW9uIHRlc3RDbGlja0V2ZW50
QXR0cmlidXRlSGFuZGxlcihpZCwge3ByZXZlbnREZWZhdWx0fSkgeworICAgIGxldCBidXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7CisgICAgYnV0dG9uLmRpc3BhdGNoRXZlbnQo
bmV3IE1vdXNlRXZlbnQoImNsaWNrIiwge2J1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWV9
KSk7CisgICAgc2V0VGltZW91dCgoKSA9PiB7IGZpbmlzaFJlY29yZGluZyh7cHJldmVudERlZmF1
bHR9KTsgfSk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGxldCBzdWl0ZSA9IEluc3Bl
Y3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiVGltZWxpbmVFdmVudC5FdmVudERpc3BhdGNoIik7
CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJUaW1lbGluZUV2ZW50
LkV2ZW50RGlzcGF0Y2guSGFuZGxlci5SZWd1bGFyIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCBy
ZWplY3QpIHsKKyAgICAgICAgICAgIGNhcHR1cmVUaW1lbGluZVdpdGhTY3JpcHQoYHRlc3RDbGlj
a0V2ZW50SGFuZGxlcih7cHJldmVudERlZmF1bHQ6IGZhbHNlfSlgKS50aGVuKCgpID0+IHsKKyAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0eXBlb2YgcGFnZVJlY29yZGluZ0Rh
dGEucHJldmVudERlZmF1bHQgPT09ICJib29sZWFuIik7CisKKyAgICAgICAgICAgICAgICBsZXQg
cmVjb3JkaW5nID0gV0kudGltZWxpbmVNYW5hZ2VyLmFjdGl2ZVJlY29yZGluZzsKKyAgICAgICAg
ICAgICAgICBsZXQgc2NyaXB0VGltZWxpbmUgPSByZWNvcmRpbmcudGltZWxpbmVzLmdldChXSS5U
aW1lbGluZVJlY29yZC5UeXBlLlNjcmlwdCk7CisgICAgICAgICAgICAgICAgbGV0IHJlY29yZHMg
PSBzY3JpcHRUaW1lbGluZS5yZWNvcmRzLmZpbHRlcigoeCkgPT4geC5ldmVudFR5cGUgPT09IFdJ
LlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5FdmVudERpc3BhdGNoZWQpOworICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVjb3Jkcy5sZW5ndGgsIDEsICJT
aG91bGQgYmUgMSBFdmVudERpc3BhdGNoZWQgcmVjb3JkLiIpOworICAgICAgICAgICAgICAgIGZv
ciAobGV0IHJlY29yZCBvZiByZWNvcmRzKSB7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QubG9nKCJERVRBSUxTOiAiICsgSlNPTi5zdHJpbmdpZnkocmVjb3JkLmV4dHJhRGV0YWls
cykpOworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29y
ZC5leHRyYURldGFpbHMuZGVmYXVsdFByZXZlbnRlZCwgcGFnZVJlY29yZGluZ0RhdGEucHJldmVu
dERlZmF1bHQsICJTY3JpcHRUaW1lbGluZVJlY29yZCBleHRyYURldGFpbHMgc2hvdWxkIHNob3cg
ZGVmYXVsdCB3YXMgbm90IHByZXZlbnRlZC4iKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9KS50aGVuKHJlc29sdmUsIHJlamVjdCk7CisgICAgICAgIH0KKyAgICB9KTsKKworICAg
IHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogIlRpbWVsaW5lRXZlbnQuRXZlbnRE
aXNwYXRjaC5IYW5kbGVyLkRlZmF1bHRQcmV2ZW50ZWQiLAorICAgICAgICB0ZXN0KHJlc29sdmUs
IHJlamVjdCkgeworICAgICAgICAgICAgY2FwdHVyZVRpbWVsaW5lV2l0aFNjcmlwdChgdGVzdENs
aWNrRXZlbnRIYW5kbGVyKHtwcmV2ZW50RGVmYXVsdDogdHJ1ZX0pYCkudGhlbigoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQodHlwZW9mIHBhZ2VSZWNvcmRpbmdE
YXRhLnByZXZlbnREZWZhdWx0ID09PSAiYm9vbGVhbiIpOworCisgICAgICAgICAgICAgICAgbGV0
IHJlY29yZGluZyA9IFdJLnRpbWVsaW5lTWFuYWdlci5hY3RpdmVSZWNvcmRpbmc7CisgICAgICAg
ICAgICAgICAgbGV0IHNjcmlwdFRpbWVsaW5lID0gcmVjb3JkaW5nLnRpbWVsaW5lcy5nZXQoV0ku
VGltZWxpbmVSZWNvcmQuVHlwZS5TY3JpcHQpOworICAgICAgICAgICAgICAgIGxldCByZWNvcmRz
ID0gc2NyaXB0VGltZWxpbmUucmVjb3Jkcy5maWx0ZXIoKHgpID0+IHguZXZlbnRUeXBlID09PSBX
SS5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuRXZlbnREaXNwYXRjaGVkKTsKKyAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29yZHMubGVuZ3RoLCAxLCAi
U2hvdWxkIGJlIDEgRXZlbnREaXNwYXRjaGVkIHJlY29yZC4iKTsKKyAgICAgICAgICAgICAgICBm
b3IgKGxldCByZWNvcmQgb2YgcmVjb3JkcykgeworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmxvZygiREVUQUlMUzogIiArIEpTT04uc3RyaW5naWZ5KHJlY29yZC5leHRyYURldGFp
bHMpKTsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZWNv
cmQuZXh0cmFEZXRhaWxzLmRlZmF1bHRQcmV2ZW50ZWQsIHBhZ2VSZWNvcmRpbmdEYXRhLnByZXZl
bnREZWZhdWx0LCAiU2NyaXB0VGltZWxpbmVSZWNvcmQgZXh0cmFEZXRhaWxzIHNob3VsZCBzaG93
IGRlZmF1bHQgd2FzIHByZXZlbnRlZC4iKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9KS50aGVuKHJlc29sdmUsIHJlamVjdCk7CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1
aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogIlRpbWVsaW5lRXZlbnQuRXZlbnREaXNw
YXRjaC5BdHRyaWJ1dGVIYW5kbGVyLlJlZ3VsYXIiLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJl
amVjdCkgeworICAgICAgICAgICAgY2FwdHVyZVRpbWVsaW5lV2l0aFNjcmlwdChgdGVzdENsaWNr
RXZlbnRBdHRyaWJ1dGVIYW5kbGVyKCJiMSIsIHtwcmV2ZW50RGVmYXVsdDogZmFsc2V9KWApLnRo
ZW4oKCkgPT4geworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHR5cGVvZiBw
YWdlUmVjb3JkaW5nRGF0YS5wcmV2ZW50RGVmYXVsdCA9PT0gImJvb2xlYW4iKTsKKworICAgICAg
ICAgICAgICAgIGxldCByZWNvcmRpbmcgPSBXSS50aW1lbGluZU1hbmFnZXIuYWN0aXZlUmVjb3Jk
aW5nOworICAgICAgICAgICAgICAgIGxldCBzY3JpcHRUaW1lbGluZSA9IHJlY29yZGluZy50aW1l
bGluZXMuZ2V0KFdJLlRpbWVsaW5lUmVjb3JkLlR5cGUuU2NyaXB0KTsKKyAgICAgICAgICAgICAg
ICBsZXQgcmVjb3JkcyA9IHNjcmlwdFRpbWVsaW5lLnJlY29yZHMuZmlsdGVyKCh4KSA9PiB4LmV2
ZW50VHlwZSA9PT0gV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkV2ZW50RGlzcGF0
Y2hlZCk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZWNvcmRz
Lmxlbmd0aCwgMSwgIlNob3VsZCBiZSAxIEV2ZW50RGlzcGF0Y2hlZCByZWNvcmQuIik7CisgICAg
ICAgICAgICAgICAgZm9yIChsZXQgcmVjb3JkIG9mIHJlY29yZHMpIHsKKyAgICAgICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkRFVEFJTFM6ICIgKyBKU09OLnN0cmluZ2lmeShyZWNv
cmQuZXh0cmFEZXRhaWxzKSk7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhw
ZWN0RXF1YWwocmVjb3JkLmV4dHJhRGV0YWlscy5kZWZhdWx0UHJldmVudGVkLCBwYWdlUmVjb3Jk
aW5nRGF0YS5wcmV2ZW50RGVmYXVsdCwgIlNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4dHJhRGV0YWls
cyBzaG91bGQgc2hvdyBkZWZhdWx0IHdhcyBub3QgcHJldmVudGVkLiIpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0pLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTsKKyAgICAgICAgfQor
ICAgIH0pOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiVGltZWxp
bmVFdmVudC5FdmVudERpc3BhdGNoLkF0dHJpYnV0ZUhhbmRsZXIuRGVmYXVsdFByZXZlbnRlZCIs
CisgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAgICAgICBjYXB0dXJlVGlt
ZWxpbmVXaXRoU2NyaXB0KGB0ZXN0Q2xpY2tFdmVudEF0dHJpYnV0ZUhhbmRsZXIoImIyIiwge3By
ZXZlbnREZWZhdWx0OiB0cnVlfSlgKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFzc2VydCh0eXBlb2YgcGFnZVJlY29yZGluZ0RhdGEucHJldmVudERlZmF1bHQg
PT09ICJib29sZWFuIik7CisKKyAgICAgICAgICAgICAgICBsZXQgcmVjb3JkaW5nID0gV0kudGlt
ZWxpbmVNYW5hZ2VyLmFjdGl2ZVJlY29yZGluZzsKKyAgICAgICAgICAgICAgICBsZXQgc2NyaXB0
VGltZWxpbmUgPSByZWNvcmRpbmcudGltZWxpbmVzLmdldChXSS5UaW1lbGluZVJlY29yZC5UeXBl
LlNjcmlwdCk7CisgICAgICAgICAgICAgICAgbGV0IHJlY29yZHMgPSBzY3JpcHRUaW1lbGluZS5y
ZWNvcmRzLmZpbHRlcigoeCkgPT4geC5ldmVudFR5cGUgPT09IFdJLlNjcmlwdFRpbWVsaW5lUmVj
b3JkLkV2ZW50VHlwZS5FdmVudERpc3BhdGNoZWQpOworICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuZXhwZWN0RXF1YWwocmVjb3Jkcy5sZW5ndGgsIDEsICJTaG91bGQgYmUgMSBFdmVudERp
c3BhdGNoZWQgcmVjb3JkLiIpOworICAgICAgICAgICAgICAgIGZvciAobGV0IHJlY29yZCBvZiBy
ZWNvcmRzKSB7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJERVRBSUxT
OiAiICsgSlNPTi5zdHJpbmdpZnkocmVjb3JkLmV4dHJhRGV0YWlscykpOworICAgICAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29yZC5leHRyYURldGFpbHMuZGVm
YXVsdFByZXZlbnRlZCwgcGFnZVJlY29yZGluZ0RhdGEucHJldmVudERlZmF1bHQsICJTY3JpcHRU
aW1lbGluZVJlY29yZCBleHRyYURldGFpbHMgc2hvdWxkIHNob3cgZGVmYXVsdCB3YXMgcHJldmVu
dGVkLiIpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pLnRoZW4ocmVzb2x2ZSwg
cmVqZWN0KTsKKyAgICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUucnVuVGVzdENhc2VzQW5k
RmluaXNoKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KKzxwPlRlc3RzICdFdmVudERpc3BhdGNoJyBUaW1lbGluZSBldmVudCByZWNvcmRzLjwvcD4K
KzxidXR0b24gaWQ9ImIxIiBvbmNsaWNrPSJUZXN0UGFnZS5hZGRSZXN1bHQoJ2IxIG9uY2xpY2sg
YXR0cmlidXRlIGhhbmRsZXIgZmlyZWQnKTsgcmV0dXJuIHRydWUiPjwvYnV0dG9uPgorPGJ1dHRv
biBpZD0iYjIiIG9uY2xpY2s9IlRlc3RQYWdlLmFkZFJlc3VsdCgnYjIgb25jbGljayBhdHRyaWJ1
dGUgaGFuZGxlciBmaXJlZCwgd2lsbCBwcmV2ZW50IGRlZmF1bHQnKTsgcmV0dXJuIGZhbHNlIj48
L2J1dHRvbj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1GaXJlQW5pbWF0aW9uRnJhbWUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUZpcmVB
bmltYXRpb25GcmFtZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAuLmIyNjRhNWRhNzcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUZpcmVBbmltYXRpb25GcmFtZS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGVzdHMgJ0ZpcmVBbmltYXRpb25GcmFtZScgVGltZWxp
bmUgZXZlbnQgcmVjb3Jkcy4KKworCis9PSBSdW5uaW5nIHRlc3Qgc3VpdGU6IFRpbWVsaW5lRXZl
bnQuRmlyZUFuaW1hdGlvbkZyYW1lCistLSBSdW5uaW5nIHRlc3QgY2FzZTogVGltZWxpbmVFdmVu
dC5GaXJlQW5pbWF0aW9uRnJhbWUucmVxdWVzdEFuaW1hdGlvbkZyYW1lCitTdGFydGluZyBDYXB0
dXJlLi4uCityZXF1ZXN0QW5pbWF0aW9uRnJhbWUgZmlyZWQKK1N0b3BwaW5nIENhcHR1cmUuLi4K
K1BBU1M6IFNob3VsZCBiZSAxIEFuaW1hdGlvbkZyYW1lRmlyZWQgcmVjb3JkLgorREVUQUlMUzog
bnVtYmVyCitQQVNTOiBTY3JpcHRUaW1lbGluZVJlY29yZCBkZXRhaWxzIHNob3VsZCBiZSB0aGUg
cmVxdWVzdEFuaW1hdGlvbkZyYW1lIGlkZW50aWZpZXIuCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1GaXJlQW5pbWF0aW9uRnJhbWUu
aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1GaXJl
QW5pbWF0aW9uRnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MC4uNmViMjFmMDY0MTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
dGltZWxpbmUvdGltZWxpbmUtZXZlbnQtRmlyZUFuaW1hdGlvbkZyYW1lLmh0bWwKQEAgLTAsMCAr
MSw0MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvdGltZWxpbmUtZXZlbnQtdXRpbGl0aWVz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0UmVxdWVzdEFuaW1hdGlvbkZy
YW1lKCkgeworICAgIGxldCByZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZGVudGlmaWVyID0gcmVxdWVz
dEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgVGVzdFBhZ2UuYWRkUmVzdWx0KCJyZXF1
ZXN0QW5pbWF0aW9uRnJhbWUgZmlyZWQiKTsKKyAgICAgICAgZmluaXNoUmVjb3JkaW5nKHtyZXF1
ZXN0QW5pbWF0aW9uRnJhbWVJZGVudGlmaWVyfSk7CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIHRl
c3QoKQoreworICAgIGxldCBzdWl0ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgi
VGltZWxpbmVFdmVudC5GaXJlQW5pbWF0aW9uRnJhbWUiKTsKKworICAgIHN1aXRlLmFkZFRlc3RD
YXNlKHsKKyAgICAgICAgbmFtZTogIlRpbWVsaW5lRXZlbnQuRmlyZUFuaW1hdGlvbkZyYW1lLnJl
cXVlc3RBbmltYXRpb25GcmFtZSIsCisgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7Cisg
ICAgICAgICAgICBjYXB0dXJlVGltZWxpbmVXaXRoU2NyaXB0KGB0ZXN0UmVxdWVzdEFuaW1hdGlv
bkZyYW1lKClgKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFz
c2VydCh0eXBlb2YgcGFnZVJlY29yZGluZ0RhdGEucmVxdWVzdEFuaW1hdGlvbkZyYW1lSWRlbnRp
ZmllciA9PT0gIm51bWJlciIpOworCisgICAgICAgICAgICAgICAgbGV0IHJlY29yZGluZyA9IFdJ
LnRpbWVsaW5lTWFuYWdlci5hY3RpdmVSZWNvcmRpbmc7CisgICAgICAgICAgICAgICAgbGV0IHNj
cmlwdFRpbWVsaW5lID0gcmVjb3JkaW5nLnRpbWVsaW5lcy5nZXQoV0kuVGltZWxpbmVSZWNvcmQu
VHlwZS5TY3JpcHQpOworICAgICAgICAgICAgICAgIGxldCByZWNvcmRzID0gc2NyaXB0VGltZWxp
bmUucmVjb3Jkcy5maWx0ZXIoKHgpID0+IHguZXZlbnRUeXBlID09PSBXSS5TY3JpcHRUaW1lbGlu
ZVJlY29yZC5FdmVudFR5cGUuQW5pbWF0aW9uRnJhbWVGaXJlZCk7CisgICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZWNvcmRzLmxlbmd0aCwgMSwgIlNob3VsZCBiZSAx
IEFuaW1hdGlvbkZyYW1lRmlyZWQgcmVjb3JkLiIpOworICAgICAgICAgICAgICAgIGZvciAobGV0
IHJlY29yZCBvZiByZWNvcmRzKSB7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
bG9nKCJERVRBSUxTOiAiICsgdHlwZW9mIHJlY29yZC5kZXRhaWxzKTsKKyAgICAgICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZWNvcmQuZGV0YWlscywgcGFnZVJlY29y
ZGluZ0RhdGEucmVxdWVzdEFuaW1hdGlvbkZyYW1lSWRlbnRpZmllciwgIlNjcmlwdFRpbWVsaW5l
UmVjb3JkIGRldGFpbHMgc2hvdWxkIGJlIHRoZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgaWRlbnRp
Zmllci4iKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9KS50aGVuKHJlc29sdmUs
IHJlamVjdCk7CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLnJ1blRlc3RDYXNlc0Fu
ZEZpbmlzaCgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Cis8cD5UZXN0cyAnRmlyZUFuaW1hdGlvbkZyYW1lJyBUaW1lbGluZSBldmVudCByZWNvcmRz
LjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS90aW1lbGluZS1ldmVudC1SZXF1ZXN0QW5pbWF0aW9uRnJhbWUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVJlcXVl
c3RBbmltYXRpb25GcmFtZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAuLjAxMmZkMzNlODQ0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVJlcXVlc3RBbmltYXRpb25GcmFtZS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGVzdHMgJ1JlcXVlc3RBbmltYXRpb25GcmFt
ZScgVGltZWxpbmUgZXZlbnQgcmVjb3Jkcy4KKworCis9PSBSdW5uaW5nIHRlc3Qgc3VpdGU6IFRp
bWVsaW5lRXZlbnQuUmVxdWVzdEFuaW1hdGlvbkZyYW1lCistLSBSdW5uaW5nIHRlc3QgY2FzZTog
VGltZWxpbmVFdmVudC5SZXF1ZXN0QW5pbWF0aW9uRnJhbWUucmVxdWVzdEFuaW1hdGlvbkZyYW1l
CitTdGFydGluZyBDYXB0dXJlLi4uCityZXF1ZXN0QW5pbWF0aW9uRnJhbWUgZmlyZWQKK1N0b3Bw
aW5nIENhcHR1cmUuLi4KK1BBU1M6IFNob3VsZCBiZSAxIEFuaW1hdGlvbkZyYW1lUmVxdWVzdGVk
IHJlY29yZC4KK0RFVEFJTFM6IG51bWJlcgorUEFTUzogU2NyaXB0VGltZWxpbmVSZWNvcmQgZGV0
YWlscyBzaG91bGQgYmUgdGhlIHJlcXVlc3RBbmltYXRpb25GcmFtZSBpZGVudGlmaWVyLgorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQt
UmVxdWVzdEFuaW1hdGlvbkZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxp
bmUvdGltZWxpbmUtZXZlbnQtUmVxdWVzdEFuaW1hdGlvbkZyYW1lLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjY0YjZiYTZmODk0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVJlcXVlc3RB
bmltYXRpb25GcmFtZS5odG1sCkBAIC0wLDAgKzEsNDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNv
dXJjZXMvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL3RpbWVsaW5lLWV2ZW50LXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVu
Y3Rpb24gdGVzdFJlcXVlc3RBbmltYXRpb25GcmFtZSgpIHsKKyAgICBsZXQgcmVxdWVzdEFuaW1h
dGlvbkZyYW1lSWRlbnRpZmllciA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAg
ICAgIFRlc3RQYWdlLmFkZFJlc3VsdCgicmVxdWVzdEFuaW1hdGlvbkZyYW1lIGZpcmVkIik7Cisg
ICAgICAgIGZpbmlzaFJlY29yZGluZyh7cmVxdWVzdEFuaW1hdGlvbkZyYW1lSWRlbnRpZmllcn0p
OworICAgIH0pOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBsZXQgc3VpdGUgPSBJbnNw
ZWN0b3JUZXN0LmNyZWF0ZUFzeW5jU3VpdGUoIlRpbWVsaW5lRXZlbnQuUmVxdWVzdEFuaW1hdGlv
bkZyYW1lIik7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJUaW1l
bGluZUV2ZW50LlJlcXVlc3RBbmltYXRpb25GcmFtZS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLAor
ICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICAgICAgY2FwdHVyZVRpbWVs
aW5lV2l0aFNjcmlwdChgdGVzdFJlcXVlc3RBbmltYXRpb25GcmFtZSgpYCkudGhlbigoKSA9PiB7
CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQodHlwZW9mIHBhZ2VSZWNvcmRp
bmdEYXRhLnJlcXVlc3RBbmltYXRpb25GcmFtZUlkZW50aWZpZXIgPT09ICJudW1iZXIiKTsKKwor
ICAgICAgICAgICAgICAgIGxldCByZWNvcmRpbmcgPSBXSS50aW1lbGluZU1hbmFnZXIuYWN0aXZl
UmVjb3JkaW5nOworICAgICAgICAgICAgICAgIGxldCBzY3JpcHRUaW1lbGluZSA9IHJlY29yZGlu
Zy50aW1lbGluZXMuZ2V0KFdJLlRpbWVsaW5lUmVjb3JkLlR5cGUuU2NyaXB0KTsKKyAgICAgICAg
ICAgICAgICBsZXQgcmVjb3JkcyA9IHNjcmlwdFRpbWVsaW5lLnJlY29yZHMuZmlsdGVyKCh4KSA9
PiB4LmV2ZW50VHlwZSA9PT0gV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkFuaW1h
dGlvbkZyYW1lUmVxdWVzdGVkKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVj
dEVxdWFsKHJlY29yZHMubGVuZ3RoLCAxLCAiU2hvdWxkIGJlIDEgQW5pbWF0aW9uRnJhbWVSZXF1
ZXN0ZWQgcmVjb3JkLiIpOworICAgICAgICAgICAgICAgIGZvciAobGV0IHJlY29yZCBvZiByZWNv
cmRzKSB7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJERVRBSUxTOiAi
ICsgdHlwZW9mIHJlY29yZC5kZXRhaWxzKTsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5leHBlY3RFcXVhbChyZWNvcmQuZGV0YWlscywgcGFnZVJlY29yZGluZ0RhdGEucmVxdWVz
dEFuaW1hdGlvbkZyYW1lSWRlbnRpZmllciwgIlNjcmlwdFRpbWVsaW5lUmVjb3JkIGRldGFpbHMg
c2hvdWxkIGJlIHRoZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgaWRlbnRpZmllci4iKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9KS50aGVuKHJlc29sdmUsIHJlamVjdCk7CisgICAg
ICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOworfQor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0cyAn
UmVxdWVzdEFuaW1hdGlvbkZyYW1lJyBUaW1lbGluZSBldmVudCByZWNvcmRzLjwvcD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90
aW1lbGluZS1ldmVudC1UaW1lckZpcmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVRpbWVyRmlyZS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmU0NzIwYThjMGE3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVRp
bWVyRmlyZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOSBAQAorVGVzdHMgJ1RpbWVyRmlyZScg
VGltZWxpbmUgZXZlbnQgcmVjb3Jkcy4KKworCis9PSBSdW5uaW5nIHRlc3Qgc3VpdGU6IFRpbWVs
aW5lRXZlbnQuVGltZXJGaXJlCistLSBSdW5uaW5nIHRlc3QgY2FzZTogVGltZWxpbmVFdmVudC5U
aW1lckZpcmUuc2V0VGltZW91dAorU3RhcnRpbmcgQ2FwdHVyZS4uLgorc2V0VGltZW91dCBmaXJl
ZAorU3RvcHBpbmcgQ2FwdHVyZS4uLgorUEFTUzogU2hvdWxkIGJlIDEgVGltZXJGaXJlZCByZWNv
cmQuCitERVRBSUxTOiBudW1iZXIKK1BBU1M6IFNjcmlwdFRpbWVsaW5lUmVjb3JkIGRldGFpbHMg
c2hvdWxkIGJlIHRoZSBzZXRUaW1lb3V0IGlkZW50aWZpZXIuCisKKy0tIFJ1bm5pbmcgdGVzdCBj
YXNlOiBUaW1lbGluZUV2ZW50LlRpbWVyRmlyZS5zZXRJbnRlcnZhbAorU3RhcnRpbmcgQ2FwdHVy
ZS4uLgorc2V0SW50ZXJ2YWwgZmlyZWQ6IDEKK3NldEludGVydmFsIGZpcmVkOiAyCitzZXRJbnRl
cnZhbCBmaXJlZDogMworU3RvcHBpbmcgQ2FwdHVyZS4uLgorUEFTUzogU2hvdWxkIGJlIDMgVGlt
ZXJGaXJlZCByZWNvcmRzLgorREVUQUlMUzogbnVtYmVyCitQQVNTOiBTY3JpcHRUaW1lbGluZVJl
Y29yZCBkZXRhaWxzIHNob3VsZCBiZSB0aGUgc2V0SW50ZXJ2YWwgaWRlbnRpZmllci4KK0RFVEFJ
TFM6IG51bWJlcgorUEFTUzogU2NyaXB0VGltZWxpbmVSZWNvcmQgZGV0YWlscyBzaG91bGQgYmUg
dGhlIHNldEludGVydmFsIGlkZW50aWZpZXIuCitERVRBSUxTOiBudW1iZXIKK1BBU1M6IFNjcmlw
dFRpbWVsaW5lUmVjb3JkIGRldGFpbHMgc2hvdWxkIGJlIHRoZSBzZXRJbnRlcnZhbCBpZGVudGlm
aWVyLgorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogU2FuaXR5Q2hlY2sKK1BBU1M6IFRoZSBzZXRU
aW1lb3V0IGlkZW50aWZpZXIgYW5kIHNldEludGVydmFsIGlkZW50aWZpZXJzIHNob3VsZCBiZSBk
aWZmZXJlbnQuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90
aW1lbGluZS1ldmVudC1UaW1lckZpcmUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1l
bGluZS90aW1lbGluZS1ldmVudC1UaW1lckZpcmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMC4uOTllZGJjZmU4MTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJGaXJlLmh0bWwKQEAg
LTAsMCArMSw4NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvdGltZWxpbmUtZXZlbnQtdXRp
bGl0aWVzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0U2V0VGltZW91dCgp
IHsKKyAgICBsZXQgc2V0VGltZW91dElkZW50aWZpZXIgPSBzZXRUaW1lb3V0KCgpID0+IHsKKyAg
ICAgICAgVGVzdFBhZ2UuYWRkUmVzdWx0KCJzZXRUaW1lb3V0IGZpcmVkIik7CisgICAgICAgIGZp
bmlzaFJlY29yZGluZyh7c2V0VGltZW91dElkZW50aWZpZXJ9KTsKKyAgICB9KTsKK30KKworZnVu
Y3Rpb24gdGVzdFNldEludGVydmFsKCkgeworICAgIGxldCBjb3VudCA9IDA7CisgICAgbGV0IHNl
dEludGVydmFsSWRlbnRpZmllciA9IHNldEludGVydmFsKCgpID0+IHsKKyAgICAgICAgY291bnQr
KzsKKyAgICAgICAgVGVzdFBhZ2UuYWRkUmVzdWx0KCJzZXRJbnRlcnZhbCBmaXJlZDogIiArIGNv
dW50KTsKKyAgICAgICAgaWYgKGNvdW50ID09PSAzKSB7CisgICAgICAgICAgICBjbGVhclRpbWVv
dXQoc2V0SW50ZXJ2YWxJZGVudGlmaWVyKTsKKyAgICAgICAgICAgIGZpbmlzaFJlY29yZGluZyh7
c2V0SW50ZXJ2YWxJZGVudGlmaWVyfSk7CisgICAgICAgIH0KKyAgICB9KTsKK30KKworZnVuY3Rp
b24gdGVzdCgpCit7CisgICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVBc3luY1N1
aXRlKCJUaW1lbGluZUV2ZW50LlRpbWVyRmlyZSIpOworCisgICAgbGV0IHRpbWVvdXRJZGVudGlm
aWVyOworICAgIGxldCBpbnRlcnZhbElkZW50aWZpZXI7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2Fz
ZSh7CisgICAgICAgIG5hbWU6ICJUaW1lbGluZUV2ZW50LlRpbWVyRmlyZS5zZXRUaW1lb3V0IiwK
KyAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAgICAgICAgICAgIGNhcHR1cmVUaW1l
bGluZVdpdGhTY3JpcHQoYHRlc3RTZXRUaW1lb3V0KClgKS50aGVuKCgpID0+IHsKKyAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0eXBlb2YgcGFnZVJlY29yZGluZ0RhdGEuc2V0
VGltZW91dElkZW50aWZpZXIgPT09ICJudW1iZXIiKTsKKyAgICAgICAgICAgICAgICB0aW1lb3V0
SWRlbnRpZmllciA9IHBhZ2VSZWNvcmRpbmdEYXRhLnNldFRpbWVvdXRJZGVudGlmaWVyOworCisg
ICAgICAgICAgICAgICAgbGV0IHJlY29yZGluZyA9IFdJLnRpbWVsaW5lTWFuYWdlci5hY3RpdmVS
ZWNvcmRpbmc7CisgICAgICAgICAgICAgICAgbGV0IHNjcmlwdFRpbWVsaW5lID0gcmVjb3JkaW5n
LnRpbWVsaW5lcy5nZXQoV0kuVGltZWxpbmVSZWNvcmQuVHlwZS5TY3JpcHQpOworICAgICAgICAg
ICAgICAgIGxldCByZWNvcmRzID0gc2NyaXB0VGltZWxpbmUucmVjb3Jkcy5maWx0ZXIoKHgpID0+
IHguZXZlbnRUeXBlID09PSBXSS5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuVGltZXJG
aXJlZCk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZWNvcmRz
Lmxlbmd0aCwgMSwgIlNob3VsZCBiZSAxIFRpbWVyRmlyZWQgcmVjb3JkLiIpOworICAgICAgICAg
ICAgICAgIGZvciAobGV0IHJlY29yZCBvZiByZWNvcmRzKSB7CisgICAgICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QubG9nKCJERVRBSUxTOiAiICsgdHlwZW9mIHJlY29yZC5kZXRhaWxzKTsK
KyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZWNvcmQuZGV0
YWlscywgdGltZW91dElkZW50aWZpZXIsICJTY3JpcHRUaW1lbGluZVJlY29yZCBkZXRhaWxzIHNo
b3VsZCBiZSB0aGUgc2V0VGltZW91dCBpZGVudGlmaWVyLiIpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0pLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTsKKyAgICAgICAgfQorICAgIH0p
OworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiVGltZWxpbmVFdmVu
dC5UaW1lckZpcmUuc2V0SW50ZXJ2YWwiLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkg
eworICAgICAgICAgICAgY2FwdHVyZVRpbWVsaW5lV2l0aFNjcmlwdChgdGVzdFNldEludGVydmFs
KClgKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0
eXBlb2YgcGFnZVJlY29yZGluZ0RhdGEuc2V0SW50ZXJ2YWxJZGVudGlmaWVyID09PSAibnVtYmVy
Iik7CisgICAgICAgICAgICAgICAgaW50ZXJ2YWxJZGVudGlmaWVyID0gcGFnZVJlY29yZGluZ0Rh
dGEuc2V0SW50ZXJ2YWxJZGVudGlmaWVyOworCisgICAgICAgICAgICAgICAgbGV0IHJlY29yZGlu
ZyA9IFdJLnRpbWVsaW5lTWFuYWdlci5hY3RpdmVSZWNvcmRpbmc7CisgICAgICAgICAgICAgICAg
bGV0IHNjcmlwdFRpbWVsaW5lID0gcmVjb3JkaW5nLnRpbWVsaW5lcy5nZXQoV0kuVGltZWxpbmVS
ZWNvcmQuVHlwZS5TY3JpcHQpOworICAgICAgICAgICAgICAgIGxldCByZWNvcmRzID0gc2NyaXB0
VGltZWxpbmUucmVjb3Jkcy5maWx0ZXIoKHgpID0+IHguZXZlbnRUeXBlID09PSBXSS5TY3JpcHRU
aW1lbGluZVJlY29yZC5FdmVudFR5cGUuVGltZXJGaXJlZCk7CisgICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZWNvcmRzLmxlbmd0aCwgMywgIlNob3VsZCBiZSAzIFRp
bWVyRmlyZWQgcmVjb3Jkcy4iKTsKKyAgICAgICAgICAgICAgICBmb3IgKGxldCByZWNvcmQgb2Yg
cmVjb3JkcykgeworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiREVUQUlM
UzogIiArIHR5cGVvZiByZWNvcmQuZGV0YWlscyk7CisgICAgICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuZXhwZWN0RXF1YWwocmVjb3JkLmRldGFpbHMsIHBhZ2VSZWNvcmRpbmdEYXRhLnNl
dEludGVydmFsSWRlbnRpZmllciwgIlNjcmlwdFRpbWVsaW5lUmVjb3JkIGRldGFpbHMgc2hvdWxk
IGJlIHRoZSBzZXRJbnRlcnZhbCBpZGVudGlmaWVyLiIpOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0pLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTsKKyAgICAgICAgfQorICAgIH0pOwor
CisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiU2FuaXR5Q2hlY2siLAor
ICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5leHBlY3RUaGF0KHRpbWVvdXRJZGVudGlmaWVyICE9PSBpbnRlcnZhbElkZW50aWZpZXIsICJU
aGUgc2V0VGltZW91dCBpZGVudGlmaWVyIGFuZCBzZXRJbnRlcnZhbCBpZGVudGlmaWVycyBzaG91
bGQgYmUgZGlmZmVyZW50LiIpOworICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICB9Cisg
ICAgfSk7CisKKyAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKK30KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+VGVzdHMgJ1RpbWVyRmly
ZScgVGltZWxpbmUgZXZlbnQgcmVjb3Jkcy48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJJ
bnN0YWxsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1l
bGluZS1ldmVudC1UaW1lckluc3RhbGwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwLi5kZGEzOWNlZDllMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1UaW1lckluc3RhbGwtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjUgQEAKK1Rlc3RzICdUaW1lckluc3RhbGwnIFRpbWVsaW5l
IGV2ZW50IHJlY29yZHMuCisKKworPT0gUnVubmluZyB0ZXN0IHN1aXRlOiBUaW1lbGluZUV2ZW50
LlRpbWVySW5zdGFsbAorLS0gUnVubmluZyB0ZXN0IGNhc2U6IFRpbWVsaW5lRXZlbnQuVGltZXJJ
bnN0YWxsLnNldFRpbWVvdXQKK1N0YXJ0aW5nIENhcHR1cmUuLi4KK3NldFRpbWVvdXQgZmlyZWQK
K1N0b3BwaW5nIENhcHR1cmUuLi4KK1BBU1M6IFNob3VsZCBiZSAxIFRpbWVySW5zdGFsbGVkIHJl
Y29yZC4KK0RFVEFJTFM6IHsidGltZXJJZCI6IjxmaWx0ZXJlZD4iLCJ0aW1lb3V0IjoxMCwicmVw
ZWF0aW5nIjpmYWxzZX0KK1BBU1M6IFNjcmlwdFRpbWVsaW5lUmVjb3JkIGRldGFpbHMgc2hvdWxk
IGJlIHRoZSBzZXRUaW1lb3V0IGlkZW50aWZpZXIuCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBU
aW1lbGluZUV2ZW50LlRpbWVySW5zdGFsbC5zZXRJbnRlcnZhbAorU3RhcnRpbmcgQ2FwdHVyZS4u
Lgorc2V0SW50ZXJ2YWwgZmlyZWQ6IDEKK3NldEludGVydmFsIGZpcmVkOiAyCitzZXRJbnRlcnZh
bCBmaXJlZDogMworU3RvcHBpbmcgQ2FwdHVyZS4uLgorUEFTUzogU2hvdWxkIGJlIDEgVGltZXJJ
bnN0YWxsZWQgcmVjb3JkLgorREVUQUlMUzogeyJ0aW1lcklkIjoiPGZpbHRlcmVkPiIsInRpbWVv
dXQiOjUsInJlcGVhdGluZyI6dHJ1ZX0KK1BBU1M6IFNjcmlwdFRpbWVsaW5lUmVjb3JkIGRldGFp
bHMgc2hvdWxkIGJlIHRoZSBzZXRJbnRlcnZhbCBpZGVudGlmaWVyLgorCistLSBSdW5uaW5nIHRl
c3QgY2FzZTogU2FuaXR5Q2hlY2sKK1BBU1M6IFRoZSBzZXRUaW1lb3V0IGlkZW50aWZpZXIgYW5k
IHNldEludGVydmFsIGlkZW50aWZpZXJzIHNob3VsZCBiZSBkaWZmZXJlbnQuCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1UaW1lcklu
c3RhbGwuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVu
dC1UaW1lckluc3RhbGwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MC4uMmI2YzY0MDBiOWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
dGltZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJJbnN0YWxsLmh0bWwKQEAgLTAsMCArMSw5MiBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvdGltZWxpbmUtZXZlbnQtdXRpbGl0aWVzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0U2V0VGltZW91dCgpIHsKKyAgICBsZXQg
c2V0VGltZW91dElkZW50aWZpZXIgPSBzZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAgVGVzdFBh
Z2UuYWRkUmVzdWx0KCJzZXRUaW1lb3V0IGZpcmVkIik7CisgICAgICAgIGZpbmlzaFJlY29yZGlu
Zyh7c2V0VGltZW91dElkZW50aWZpZXJ9KTsKKyAgICB9LCAxMCk7Cit9CisKK2Z1bmN0aW9uIHRl
c3RTZXRJbnRlcnZhbCgpIHsKKyAgICBsZXQgY291bnQgPSAwOworICAgIGxldCBzZXRJbnRlcnZh
bElkZW50aWZpZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7CisgICAgICAgIGNvdW50Kys7CisgICAg
ICAgIFRlc3RQYWdlLmFkZFJlc3VsdCgic2V0SW50ZXJ2YWwgZmlyZWQ6ICIgKyBjb3VudCk7Cisg
ICAgICAgIGlmIChjb3VudCA9PT0gMykgeworICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHNldElu
dGVydmFsSWRlbnRpZmllcik7CisgICAgICAgICAgICBmaW5pc2hSZWNvcmRpbmcoe3NldEludGVy
dmFsSWRlbnRpZmllcn0pOworICAgICAgICB9CisgICAgfSwgNSk7Cit9CisKK2Z1bmN0aW9uIHRl
c3QoKQoreworICAgIGxldCBzdWl0ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgi
VGltZWxpbmVFdmVudC5UaW1lckluc3RhbGwiKTsKKworICAgIGxldCB0aW1lb3V0SWRlbnRpZmll
cjsKKyAgICBsZXQgaW50ZXJ2YWxJZGVudGlmaWVyOworCisgICAgZnVuY3Rpb24ganNvbkZpbHRl
cihrZXksIHZhbHVlKSB7CisgICAgICAgIGlmIChrZXkgPT09ICJ0aW1lcklkIikKKyAgICAgICAg
ICAgIHJldHVybiAiPGZpbHRlcmVkPiI7CisgICAgICAgIHJldHVybiB2YWx1ZTsKKyAgICB9CisK
KyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJUaW1lbGluZUV2ZW50LlRp
bWVySW5zdGFsbC5zZXRUaW1lb3V0IiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsK
KyAgICAgICAgICAgIGNhcHR1cmVUaW1lbGluZVdpdGhTY3JpcHQoYHRlc3RTZXRUaW1lb3V0KClg
KS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0eXBl
b2YgcGFnZVJlY29yZGluZ0RhdGEuc2V0VGltZW91dElkZW50aWZpZXIgPT09ICJudW1iZXIiKTsK
KyAgICAgICAgICAgICAgICB0aW1lb3V0SWRlbnRpZmllciA9IHBhZ2VSZWNvcmRpbmdEYXRhLnNl
dFRpbWVvdXRJZGVudGlmaWVyOworCisgICAgICAgICAgICAgICAgbGV0IHJlY29yZGluZyA9IFdJ
LnRpbWVsaW5lTWFuYWdlci5hY3RpdmVSZWNvcmRpbmc7CisgICAgICAgICAgICAgICAgbGV0IHNj
cmlwdFRpbWVsaW5lID0gcmVjb3JkaW5nLnRpbWVsaW5lcy5nZXQoV0kuVGltZWxpbmVSZWNvcmQu
VHlwZS5TY3JpcHQpOworICAgICAgICAgICAgICAgIGxldCByZWNvcmRzID0gc2NyaXB0VGltZWxp
bmUucmVjb3Jkcy5maWx0ZXIoKHgpID0+IHguZXZlbnRUeXBlID09PSBXSS5TY3JpcHRUaW1lbGlu
ZVJlY29yZC5FdmVudFR5cGUuVGltZXJJbnN0YWxsZWQpOworICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuZXhwZWN0RXF1YWwocmVjb3Jkcy5sZW5ndGgsIDEsICJTaG91bGQgYmUgMSBUaW1l
ckluc3RhbGxlZCByZWNvcmQuIik7CisgICAgICAgICAgICAgICAgZm9yIChsZXQgcmVjb3JkIG9m
IHJlY29yZHMpIHsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkRFVEFJ
TFM6ICIgKyBKU09OLnN0cmluZ2lmeShyZWNvcmQuZGV0YWlscywganNvbkZpbHRlcikpOworICAg
ICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29yZC5kZXRhaWxz
LnRpbWVySWQsIHRpbWVvdXRJZGVudGlmaWVyLCAiU2NyaXB0VGltZWxpbmVSZWNvcmQgZGV0YWls
cyBzaG91bGQgYmUgdGhlIHNldFRpbWVvdXQgaWRlbnRpZmllci4iKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9KS50aGVuKHJlc29sdmUsIHJlamVjdCk7CisgICAgICAgIH0KKyAg
ICB9KTsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogIlRpbWVsaW5l
RXZlbnQuVGltZXJJbnN0YWxsLnNldEludGVydmFsIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCBy
ZWplY3QpIHsKKyAgICAgICAgICAgIGNhcHR1cmVUaW1lbGluZVdpdGhTY3JpcHQoYHRlc3RTZXRJ
bnRlcnZhbCgpYCkudGhlbigoKSA9PiB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5h
c3NlcnQodHlwZW9mIHBhZ2VSZWNvcmRpbmdEYXRhLnNldEludGVydmFsSWRlbnRpZmllciA9PT0g
Im51bWJlciIpOworICAgICAgICAgICAgICAgIGludGVydmFsSWRlbnRpZmllciA9IHBhZ2VSZWNv
cmRpbmdEYXRhLnNldEludGVydmFsSWRlbnRpZmllcjsKKworICAgICAgICAgICAgICAgIGxldCBy
ZWNvcmRpbmcgPSBXSS50aW1lbGluZU1hbmFnZXIuYWN0aXZlUmVjb3JkaW5nOworICAgICAgICAg
ICAgICAgIGxldCBzY3JpcHRUaW1lbGluZSA9IHJlY29yZGluZy50aW1lbGluZXMuZ2V0KFdJLlRp
bWVsaW5lUmVjb3JkLlR5cGUuU2NyaXB0KTsKKyAgICAgICAgICAgICAgICBsZXQgcmVjb3JkcyA9
IHNjcmlwdFRpbWVsaW5lLnJlY29yZHMuZmlsdGVyKCh4KSA9PiB4LmV2ZW50VHlwZSA9PT0gV0ku
U2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlRpbWVySW5zdGFsbGVkKTsKKyAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29yZHMubGVuZ3RoLCAxLCAiU2hv
dWxkIGJlIDEgVGltZXJJbnN0YWxsZWQgcmVjb3JkLiIpOworICAgICAgICAgICAgICAgIGZvciAo
bGV0IHJlY29yZCBvZiByZWNvcmRzKSB7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QubG9nKCJERVRBSUxTOiAiICsgSlNPTi5zdHJpbmdpZnkocmVjb3JkLmRldGFpbHMsIGpzb25G
aWx0ZXIpKTsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChy
ZWNvcmQuZGV0YWlscy50aW1lcklkLCBwYWdlUmVjb3JkaW5nRGF0YS5zZXRJbnRlcnZhbElkZW50
aWZpZXIsICJTY3JpcHRUaW1lbGluZVJlY29yZCBkZXRhaWxzIHNob3VsZCBiZSB0aGUgc2V0SW50
ZXJ2YWwgaWRlbnRpZmllci4iKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9KS50
aGVuKHJlc29sdmUsIHJlamVjdCk7CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLmFk
ZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogIlNhbml0eUNoZWNrIiwKKyAgICAgICAgdGVzdChy
ZXNvbHZlLCByZWplY3QpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdCh0
aW1lb3V0SWRlbnRpZmllciAhPT0gaW50ZXJ2YWxJZGVudGlmaWVyLCAiVGhlIHNldFRpbWVvdXQg
aWRlbnRpZmllciBhbmQgc2V0SW50ZXJ2YWwgaWRlbnRpZmllcnMgc2hvdWxkIGJlIGRpZmZlcmVu
dC4iKTsKKyAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgfQorICAgIH0pOworCisgICAg
c3VpdGUucnVuVGVzdENhc2VzQW5kRmluaXNoKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPlRlc3RzICdUaW1lckluc3RhbGwnIFRpbWVsaW5l
IGV2ZW50IHJlY29yZHMuPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVRpbWVyUmVtb3ZlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1U
aW1lclJlbW92ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAuLjQzMTQzN2I1YzFjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVRpbWVyUmVtb3ZlLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDI0IEBACitUZXN0cyAnVGltZXJSZW1vdmUnIFRpbWVsaW5lIGV2ZW50IHJlY29yZHMu
CisKKworPT0gUnVubmluZyB0ZXN0IHN1aXRlOiBUaW1lbGluZUV2ZW50LlRpbWVyUmVtb3ZlCist
LSBSdW5uaW5nIHRlc3QgY2FzZTogVGltZWxpbmVFdmVudC5UaW1lclJlbW92ZS5zZXRUaW1lb3V0
CitTdGFydGluZyBDYXB0dXJlLi4uCitTdG9wcGluZyBDYXB0dXJlLi4uCitQQVNTOiBTaG91bGQg
YmUgMSBUaW1lclJlbW92ZWQgcmVjb3JkLgorREVUQUlMUzogbnVtYmVyCitQQVNTOiBTY3JpcHRU
aW1lbGluZVJlY29yZCBkZXRhaWxzIHNob3VsZCBiZSB0aGUgc2V0VGltZW91dCBpZGVudGlmaWVy
LgorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogVGltZWxpbmVFdmVudC5UaW1lclJlbW92ZS5zZXRJ
bnRlcnZhbAorU3RhcnRpbmcgQ2FwdHVyZS4uLgorc2V0SW50ZXJ2YWwgZmlyZWQ6IDEKK3NldElu
dGVydmFsIGZpcmVkOiAyCitzZXRJbnRlcnZhbCBmaXJlZDogMworU3RvcHBpbmcgQ2FwdHVyZS4u
LgorUEFTUzogU2hvdWxkIGJlIDEgVGltZXJSZW1vdmVkIHJlY29yZC4KK0RFVEFJTFM6IG51bWJl
cgorUEFTUzogU2NyaXB0VGltZWxpbmVSZWNvcmQgZGV0YWlscyBzaG91bGQgYmUgdGhlIHNldElu
dGVydmFsIGlkZW50aWZpZXIuCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBTYW5pdHlDaGVjawor
UEFTUzogVGhlIHNldFRpbWVvdXQgaWRlbnRpZmllciBhbmQgc2V0SW50ZXJ2YWwgaWRlbnRpZmll
cnMgc2hvdWxkIGJlIGRpZmZlcmVudC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVRpbWVyUmVtb3ZlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJSZW1vdmUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMzRlZGVhYjE1MWUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQt
VGltZXJSZW1vdmUuaHRtbApAQCAtMCwwICsxLDg1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3Vy
Y2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy90aW1lbGluZS1ldmVudC11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0
aW9uIHRlc3RTZXRUaW1lb3V0KCkgeworICAgIGxldCBzZXRUaW1lb3V0SWRlbnRpZmllciA9IHNl
dFRpbWVvdXQoKCkgPT4geyBUZXN0UGFnZS5hZGRSZXN1bHQoIkZBSUw6IHNldFRpbWVvdXQgZmly
ZWQiKTsgfSk7CisgICAgY2xlYXJUaW1lb3V0KHNldFRpbWVvdXRJZGVudGlmaWVyKTsKKyAgICBy
ZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geyBmaW5pc2hSZWNvcmRpbmcoe3NldFRpbWVvdXRJ
ZGVudGlmaWVyfSk7IH0pOyAvLyBEZWxheSBhIGJpdCB0byBlbnN1cmUgd2UgZ2V0IHRoZSBjbGVh
ciB0aW1lb3V0LgorfQorCitmdW5jdGlvbiB0ZXN0U2V0SW50ZXJ2YWwoKSB7CisgICAgbGV0IGNv
dW50ID0gMDsKKyAgICBsZXQgc2V0SW50ZXJ2YWxJZGVudGlmaWVyID0gc2V0SW50ZXJ2YWwoKCkg
PT4geworICAgICAgICBjb3VudCsrOworICAgICAgICBUZXN0UGFnZS5hZGRSZXN1bHQoInNldElu
dGVydmFsIGZpcmVkOiAiICsgY291bnQpOworICAgICAgICBpZiAoY291bnQgPT09IDMpIHsKKyAg
ICAgICAgICAgIGNsZWFyVGltZW91dChzZXRJbnRlcnZhbElkZW50aWZpZXIpOworICAgICAgICAg
ICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsgZmluaXNoUmVjb3JkaW5nKHtzZXRJbnRl
cnZhbElkZW50aWZpZXJ9KTsgfSk7IC8vIERlbGF5IGEgYml0IHRvIGVuc3VyZSB3ZSBnZXQgdGhl
IGNsZWFyIHRpbWVvdXQuCisgICAgICAgIH0KKyAgICB9KTsKK30KKworZnVuY3Rpb24gdGVzdCgp
Cit7CisgICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJUaW1l
bGluZUV2ZW50LlRpbWVyUmVtb3ZlIik7CisKKyAgICBsZXQgdGltZW91dElkZW50aWZpZXI7Cisg
ICAgbGV0IGludGVydmFsSWRlbnRpZmllcjsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAg
ICAgICAgbmFtZTogIlRpbWVsaW5lRXZlbnQuVGltZXJSZW1vdmUuc2V0VGltZW91dCIsCisgICAg
ICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAgICAgICBjYXB0dXJlVGltZWxpbmVX
aXRoU2NyaXB0KGB0ZXN0U2V0VGltZW91dCgpYCkudGhlbigoKSA9PiB7CisgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQodHlwZW9mIHBhZ2VSZWNvcmRpbmdEYXRhLnNldFRpbWVv
dXRJZGVudGlmaWVyID09PSAibnVtYmVyIik7CisgICAgICAgICAgICAgICAgdGltZW91dElkZW50
aWZpZXIgPSBwYWdlUmVjb3JkaW5nRGF0YS5zZXRUaW1lb3V0SWRlbnRpZmllcjsKKworICAgICAg
ICAgICAgICAgIGxldCByZWNvcmRpbmcgPSBXSS50aW1lbGluZU1hbmFnZXIuYWN0aXZlUmVjb3Jk
aW5nOworICAgICAgICAgICAgICAgIGxldCBzY3JpcHRUaW1lbGluZSA9IHJlY29yZGluZy50aW1l
bGluZXMuZ2V0KFdJLlRpbWVsaW5lUmVjb3JkLlR5cGUuU2NyaXB0KTsKKyAgICAgICAgICAgICAg
ICBsZXQgcmVjb3JkcyA9IHNjcmlwdFRpbWVsaW5lLnJlY29yZHMuZmlsdGVyKCh4KSA9PiB4LmV2
ZW50VHlwZSA9PT0gV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlRpbWVyUmVtb3Zl
ZCk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZWNvcmRzLmxl
bmd0aCwgMSwgIlNob3VsZCBiZSAxIFRpbWVyUmVtb3ZlZCByZWNvcmQuIik7CisgICAgICAgICAg
ICAgICAgZm9yIChsZXQgcmVjb3JkIG9mIHJlY29yZHMpIHsKKyAgICAgICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5sb2coIkRFVEFJTFM6ICIgKyB0eXBlb2YgcmVjb3JkLmRldGFpbHMpOwor
ICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29yZC5kZXRh
aWxzLCB0aW1lb3V0SWRlbnRpZmllciwgIlNjcmlwdFRpbWVsaW5lUmVjb3JkIGRldGFpbHMgc2hv
dWxkIGJlIHRoZSBzZXRUaW1lb3V0IGlkZW50aWZpZXIuIik7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfSkudGhlbihyZXNvbHZlLCByZWplY3QpOworICAgICAgICB9CisgICAgfSk7
CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJUaW1lbGluZUV2ZW50
LlRpbWVyUmVtb3ZlLnNldEludGVydmFsIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3Qp
IHsKKyAgICAgICAgICAgIGNhcHR1cmVUaW1lbGluZVdpdGhTY3JpcHQoYHRlc3RTZXRJbnRlcnZh
bCgpYCkudGhlbigoKSA9PiB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQo
dHlwZW9mIHBhZ2VSZWNvcmRpbmdEYXRhLnNldEludGVydmFsSWRlbnRpZmllciA9PT0gIm51bWJl
ciIpOworICAgICAgICAgICAgICAgIGludGVydmFsSWRlbnRpZmllciA9IHBhZ2VSZWNvcmRpbmdE
YXRhLnNldEludGVydmFsSWRlbnRpZmllcjsKKworICAgICAgICAgICAgICAgIGxldCByZWNvcmRp
bmcgPSBXSS50aW1lbGluZU1hbmFnZXIuYWN0aXZlUmVjb3JkaW5nOworICAgICAgICAgICAgICAg
IGxldCBzY3JpcHRUaW1lbGluZSA9IHJlY29yZGluZy50aW1lbGluZXMuZ2V0KFdJLlRpbWVsaW5l
UmVjb3JkLlR5cGUuU2NyaXB0KTsKKyAgICAgICAgICAgICAgICBsZXQgcmVjb3JkcyA9IHNjcmlw
dFRpbWVsaW5lLnJlY29yZHMuZmlsdGVyKCh4KSA9PiB4LmV2ZW50VHlwZSA9PT0gV0kuU2NyaXB0
VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlRpbWVyUmVtb3ZlZCk7CisgICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZWNvcmRzLmxlbmd0aCwgMSwgIlNob3VsZCBiZSAx
IFRpbWVyUmVtb3ZlZCByZWNvcmQuIik7CisgICAgICAgICAgICAgICAgZm9yIChsZXQgcmVjb3Jk
IG9mIHJlY29yZHMpIHsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkRF
VEFJTFM6ICIgKyB0eXBlb2YgcmVjb3JkLmRldGFpbHMpOworICAgICAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29yZC5kZXRhaWxzLCBwYWdlUmVjb3JkaW5nRGF0
YS5zZXRJbnRlcnZhbElkZW50aWZpZXIsICJTY3JpcHRUaW1lbGluZVJlY29yZCBkZXRhaWxzIHNo
b3VsZCBiZSB0aGUgc2V0SW50ZXJ2YWwgaWRlbnRpZmllci4iKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9KS50aGVuKHJlc29sdmUsIHJlamVjdCk7CisgICAgICAgIH0KKyAgICB9
KTsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogIlNhbml0eUNoZWNr
IiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuZXhwZWN0VGhhdCh0aW1lb3V0SWRlbnRpZmllciAhPT0gaW50ZXJ2YWxJZGVudGlmaWVy
LCAiVGhlIHNldFRpbWVvdXQgaWRlbnRpZmllciBhbmQgc2V0SW50ZXJ2YWwgaWRlbnRpZmllcnMg
c2hvdWxkIGJlIGRpZmZlcmVudC4iKTsKKyAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAg
fQorICAgIH0pOworCisgICAgc3VpdGUucnVuVGVzdENhc2VzQW5kRmluaXNoKCk7Cit9Cis8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPlRlc3RzICdUaW1l
clJlbW92ZScgVGltZWxpbmUgZXZlbnQgcmVjb3Jkcy48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggYTc5YzgxODY3YzguLmZhMjE4Zjg4MmZjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsNDQgQEAKKzIwMTctMDktMTMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNv
bT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBUaW1lbGluZSBzaG91bGQgc2hvdyB3aGVuIGV2
ZW50cyBwcmV2ZW50RGVmYXVsdCgpIHdhcyBjYWxsZWQgb24gYW4gZXZlbnQgb3Igbm90CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzY4MjQKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzM0MjkwOTMxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzOiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUt
ZXZlbnQtQ2FuY2VsQW5pbWF0aW9uRnJhbWUuaHRtbAorICAgICAgICAgICAgICAgaW5zcGVjdG9y
L3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUV2ZW50RGlzcGF0Y2guaHRtbAorICAgICAgICAgICAg
ICAgaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUZpcmVBbmltYXRpb25GcmFtZS5o
dG1sCisgICAgICAgICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtUmVx
dWVzdEFuaW1hdGlvbkZyYW1lLmh0bWwKKyAgICAgICAgICAgICAgIGluc3BlY3Rvci90aW1lbGlu
ZS90aW1lbGluZS1ldmVudC1UaW1lckZpcmUuaHRtbAorICAgICAgICAgICAgICAgaW5zcGVjdG9y
L3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVRpbWVySW5zdGFsbC5odG1sCisgICAgICAgICAgICAg
ICBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJSZW1vdmUuaHRtbAorCisg
ICAgICAgICogZG9tL0V2ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50VGFy
Z2V0OjpmaXJlRXZlbnRMaXN0ZW5lcnMpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6ZGlzcGF0Y2hFdmVudCk6CisgICAgICAgIElu
Y2x1ZGUgZGVmYXVsdFByZXZlbnRlZCB3aGVuIG5vdGlmeWluZyBpbnNwZWN0b3IuCisKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudEltcGwpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaEV2
ZW50T25XaW5kb3dJbXBsKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZERpc3BhdGNoRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpkaWREaXNwYXRjaEV2ZW50T25XaW5kb3cpOgorICAgICAgICBQYXNzIGRlZmF1bHRQcmV2
ZW50ZWQgb24gdG8gYWdlbnQuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxp
bmVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojpk
aWREaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdl
bnQ6OmRpZExheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50
OjpkaWRQYWludCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQu
aDoKKyAgICAgICAgKiBpbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6YXBwZW5kTGF5b3V0Um9vdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmFwcGVuZERpZERpc3BhdGNo
RXZlbnREYXRhKToKKyAgICAgICAgKiBpbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5Lmg6
CisgICAgICAgIEFwcGVuZCBhIGJvb2xlYW4gZGVmYXVsdFByZXZlbnRlZCBwcm9wZXJ0eSBvbiB0
aGUgRXZlbnREaXNwYXRjaCB0aW1lbGluZSByZWNvcmQncyBkYXRhLgorCiAyMDE3LTA5LTExICBQ
ZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2luXSBBZGQg
TW9kdWxlcy9jYWNoZSB0byBsaXN0IG9mIGZvcndhcmRpbmcgaGVhZGVycyBmb2xkZXJzLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9FdmVudFRhcmdldC5jcHAKaW5kZXggZmYzODZiYjMwYTIuLmM5ZTY5ZmQ0ZWEzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAKQEAgLTI5NCw3ICsyOTQsNyBAQCB2b2lkIEV2
ZW50VGFyZ2V0OjpmaXJlRXZlbnRMaXN0ZW5lcnMoRXZlbnQmIGV2ZW50LCBFdmVudExpc3RlbmVy
VmVjdG9yIGxpc3RlbmVycwogICAgIH0KIAogICAgIGlmIChjb250ZXh0SXNEb2N1bWVudCkKLSAg
ICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50KHdpbGxEaXNw
YXRjaEV2ZW50Q29va2llKTsKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRE
aXNwYXRjaEV2ZW50KHdpbGxEaXNwYXRjaEV2ZW50Q29va2llLCBldmVudC5kZWZhdWx0UHJldmVu
dGVkKCkpOwogfQogCiBjb25zdCBFdmVudExpc3RlbmVyVmVjdG9yJiBFdmVudFRhcmdldDo6ZXZl
bnRMaXN0ZW5lcnMoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCmluZGV4
IDExNjYyYzEzN2ZjLi4yNjYxMjRiNTAzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKQEAgLTQyOSwxMCArNDI5LDEw
IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRIYW5kbGVFdmVudEltcGwoSW5z
dHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVuCiAgICAgICAgIGRlYnVnZ2VyQWdlbnQtPmRpZERp
c3BhdGNoQXN5bmNDYWxsKCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpk
aWREaXNwYXRjaEV2ZW50SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUm
IGNvb2tpZSkKK3ZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50
SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmIGNvb2tpZSwgYm9vbCBk
ZWZhdWx0UHJldmVudGVkKQogewogICAgIGlmIChJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1l
bGluZUFnZW50ID0gcmV0cmlldmVUaW1lbGluZUFnZW50KGNvb2tpZSkpCi0gICAgICAgIHRpbWVs
aW5lQWdlbnQtPmRpZERpc3BhdGNoRXZlbnQoKTsKKyAgICAgICAgdGltZWxpbmVBZ2VudC0+ZGlk
RGlzcGF0Y2hFdmVudChkZWZhdWx0UHJldmVudGVkKTsKIH0KIAogSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uQ29va2llIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbERpc3BhdGNoRXZlbnRP
bldpbmRvd0ltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50cywgY29u
c3QgRXZlbnQmIGV2ZW50LCBET01XaW5kb3cmIHdpbmRvdykKQEAgLTQ0NywxMCArNDQ3LDEwIEBA
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OndpbGxEaXNwYXRjaEV2ZW50T25XaW5kCiAgICAgcmV0dXJuIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbkNvb2tpZShpbnN0cnVtZW50aW5nQWdlbnRzLCB0aW1lbGluZUFnZW50SWQpOwogfQogCi12
b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudE9uV2luZG93SW1w
bChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmIGNvb2tpZSkKK3ZvaWQgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50T25XaW5kb3dJbXBsKGNvbnN0
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYgY29va2llLCBib29sIGRlZmF1bHRQcmV2
ZW50ZWQpCiB7CiAgICAgaWYgKEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIHRpbWVsaW5lQWdlbnQg
PSByZXRyaWV2ZVRpbWVsaW5lQWdlbnQoY29va2llKSkKLSAgICAgICAgdGltZWxpbmVBZ2VudC0+
ZGlkRGlzcGF0Y2hFdmVudCgpOworICAgICAgICB0aW1lbGluZUFnZW50LT5kaWREaXNwYXRjaEV2
ZW50KGRlZmF1bHRQcmV2ZW50ZWQpOwogfQogCiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29r
aWUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRXZhbHVhdGVTY3JpcHRJbXBsKEluc3Ry
dW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbnRpbmdBZ2VudHMsIEZyYW1lJiBmcmFtZSwgY29uc3Qg
U3RyaW5nJiB1cmwsIGludCBsaW5lTnVtYmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IDI1MGZhODQyMzFhLi5jOWZk
MTY1MDAwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uaApAQCAtMTQ3LDExICsxNDcsMTEgQEAgcHVibGljOgogICAgIHN0YXRp
YyB2b2lkIGRpZEFkZEV2ZW50TGlzdGVuZXIoRXZlbnRUYXJnZXQmLCBjb25zdCBBdG9taWNTdHJp
bmcmIGV2ZW50VHlwZSk7CiAgICAgc3RhdGljIHZvaWQgd2lsbFJlbW92ZUV2ZW50TGlzdGVuZXIo
RXZlbnRUYXJnZXQmLCBjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5l
ciYsIGJvb2wgY2FwdHVyZSk7CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNv
b2tpZSB3aWxsRGlzcGF0Y2hFdmVudChEb2N1bWVudCYsIGNvbnN0IEV2ZW50JiwgYm9vbCBoYXNF
dmVudExpc3RlbmVycyk7Ci0gICAgc3RhdGljIHZvaWQgZGlkRGlzcGF0Y2hFdmVudChjb25zdCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmKTsKKyAgICBzdGF0aWMgdm9pZCBkaWREaXNw
YXRjaEV2ZW50KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYsIGJvb2wgZGVm
YXVsdFByZXZlbnRlZCk7CiAgICAgc3RhdGljIHZvaWQgd2lsbEhhbmRsZUV2ZW50KFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBFdmVudCYsIGNvbnN0IFJlZ2lzdGVyZWRFdmVudExpc3Rl
bmVyJik7CiAgICAgc3RhdGljIHZvaWQgZGlkSGFuZGxlRXZlbnQoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYpOwogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbERp
c3BhdGNoRXZlbnRPbldpbmRvdyhGcmFtZSosIGNvbnN0IEV2ZW50JiwgRE9NV2luZG93Jik7Ci0g
ICAgc3RhdGljIHZvaWQgZGlkRGlzcGF0Y2hFdmVudE9uV2luZG93KGNvbnN0IEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbkNvb2tpZSYpOworICAgIHN0YXRpYyB2b2lkIGRpZERpc3BhdGNoRXZlbnRP
bldpbmRvdyhjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmLCBib29sIGRlZmF1
bHRQcmV2ZW50ZWQpOwogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUg
d2lsbEV2YWx1YXRlU2NyaXB0KEZyYW1lJiwgY29uc3QgU3RyaW5nJiB1cmwsIGludCBsaW5lTnVt
YmVyKTsKICAgICBzdGF0aWMgdm9pZCBkaWRFdmFsdWF0ZVNjcmlwdChjb25zdCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb25Db29raWUmLCBGcmFtZSYpOwogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb25Db29raWUgd2lsbEZpcmVUaW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwg
aW50IHRpbWVySWQpOwpAQCAtMzIxLDkgKzMyMSw5IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsRGlzcGF0Y2hFdmVudEltcGwoSW5zdHJ1
bWVudGluZ0FnZW50cyYsIERvY3VtZW50JiwgY29uc3QgRXZlbnQmLCBib29sIGhhc0V2ZW50TGlz
dGVuZXJzKTsKICAgICBzdGF0aWMgdm9pZCB3aWxsSGFuZGxlRXZlbnRJbXBsKEluc3RydW1lbnRp
bmdBZ2VudHMmLCBjb25zdCBFdmVudCYsIGNvbnN0IFJlZ2lzdGVyZWRFdmVudExpc3RlbmVyJik7
CiAgICAgc3RhdGljIHZvaWQgZGlkSGFuZGxlRXZlbnRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMm
KTsKLSAgICBzdGF0aWMgdm9pZCBkaWREaXNwYXRjaEV2ZW50SW1wbChjb25zdCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb25Db29raWUmKTsKKyAgICBzdGF0aWMgdm9pZCBkaWREaXNwYXRjaEV2ZW50
SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmLCBib29sIGRlZmF1bHRQ
cmV2ZW50ZWQpOwogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2ls
bERpc3BhdGNoRXZlbnRPbldpbmRvd0ltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYsIGNvbnN0IEV2
ZW50JiwgRE9NV2luZG93Jik7Ci0gICAgc3RhdGljIHZvaWQgZGlkRGlzcGF0Y2hFdmVudE9uV2lu
ZG93SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmKTsKKyAgICBzdGF0
aWMgdm9pZCBkaWREaXNwYXRjaEV2ZW50T25XaW5kb3dJbXBsKGNvbnN0IEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbkNvb2tpZSYsIGJvb2wgZGVmYXVsdFByZXZlbnRlZCk7CiAgICAgc3RhdGljIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsRXZhbHVhdGVTY3JpcHRJbXBsKEluc3Ry
dW1lbnRpbmdBZ2VudHMmLCBGcmFtZSYsIGNvbnN0IFN0cmluZyYgdXJsLCBpbnQgbGluZU51bWJl
cik7CiAgICAgc3RhdGljIHZvaWQgZGlkRXZhbHVhdGVTY3JpcHRJbXBsKGNvbnN0IEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbkNvb2tpZSYsIEZyYW1lJik7CiAgICAgc3RhdGljIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsRmlyZVRpbWVySW1wbChJbnN0cnVtZW50aW5nQWdlbnRz
JiwgaW50IHRpbWVySWQsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKQEAgLTczMywxMSArNzMz
LDExIEBAIGlubGluZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjp3aWxsRGlzcGF0Y2hFdmVuCiAgICAgcmV0dXJuIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbkNvb2tpZSgpOwogfQogCi1pbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmRpZERpc3BhdGNoRXZlbnQoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29v
a2llJiBjb29raWUpCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERp
c3BhdGNoRXZlbnQoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiBjb29raWUs
IGJvb2wgZGVmYXVsdFByZXZlbnRlZCkKIHsKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVO
RFModm9pZCgpKTsKICAgICBpZiAoY29va2llLmlzVmFsaWQoKSkKLSAgICAgICAgZGlkRGlzcGF0
Y2hFdmVudEltcGwoY29va2llKTsKKyAgICAgICAgZGlkRGlzcGF0Y2hFdmVudEltcGwoY29va2ll
LCBkZWZhdWx0UHJldmVudGVkKTsKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjp3aWxsSGFuZGxlRXZlbnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwg
Y29uc3QgRXZlbnQmIGV2ZW50LCBjb25zdCBSZWdpc3RlcmVkRXZlbnRMaXN0ZW5lciYgbGlzdGVu
ZXIpCkBAIC03NjIsMTEgKzc2MiwxMSBAQCBpbmxpbmUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Q29va2llIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbERpc3BhdGNoRXZlbgogICAgIHJl
dHVybiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUoKTsKIH0KIAotaW5saW5lIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50T25XaW5kb3coY29uc3Qg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiBjb29raWUpCitpbmxpbmUgdm9pZCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERpc3BhdGNoRXZlbnRPbldpbmRvdyhjb25zdCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmIGNvb2tpZSwgYm9vbCBkZWZhdWx0UHJldmVudGVk
KQogewogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChj
b29raWUuaXNWYWxpZCgpKQotICAgICAgICBkaWREaXNwYXRjaEV2ZW50T25XaW5kb3dJbXBsKGNv
b2tpZSk7CisgICAgICAgIGRpZERpc3BhdGNoRXZlbnRPbldpbmRvd0ltcGwoY29va2llLCBkZWZh
dWx0UHJldmVudGVkKTsKIH0KIAogaW5saW5lIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tp
ZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxFdmFsdWF0ZVNjcmlwdChGcmFtZSYgZnJh
bWUsIGNvbnN0IFN0cmluZyYgdXJsLCBpbnQgbGluZU51bWJlcikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAppbmRleCAxYjUyYmZk
MThjOC4uYTU5ZjA0NTQ2YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKQEAgLTMxMSw4ICszMTEsMTIgQEAgdm9pZCBJbnNw
ZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsRGlzcGF0Y2hFdmVudChjb25zdCBFdmVudCYgZXZlbnQs
IEZyYW1lKiBmcmFtZSkKICAgICBwdXNoQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29yZEZhY3Rv
cnk6OmNyZWF0ZUV2ZW50RGlzcGF0Y2hEYXRhKGV2ZW50KSwgVGltZWxpbmVSZWNvcmRUeXBlOjpF
dmVudERpc3BhdGNoLCBmYWxzZSwgZnJhbWUpOwogfQogCi12b2lkIEluc3BlY3RvclRpbWVsaW5l
QWdlbnQ6OmRpZERpc3BhdGNoRXZlbnQoKQordm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojpk
aWREaXNwYXRjaEV2ZW50KGJvb2wgZGVmYXVsdFByZXZlbnRlZCkKIHsKKyAgICBUaW1lbGluZVJl
Y29yZEVudHJ5JiBlbnRyeSA9IG1fcmVjb3JkU3RhY2subGFzdCgpOworICAgIEFTU0VSVChlbnRy
eS50eXBlID09IFRpbWVsaW5lUmVjb3JkVHlwZTo6RXZlbnREaXNwYXRjaCk7CisgICAgVGltZWxp
bmVSZWNvcmRGYWN0b3J5OjphcHBlbmREaWREaXNwYXRjaEV2ZW50RGF0YSgqZW50cnkuZGF0YS5n
ZXQoKSwgZGVmYXVsdFByZXZlbnRlZCk7CisKICAgICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQo
VGltZWxpbmVSZWNvcmRUeXBlOjpFdmVudERpc3BhdGNoKTsKIH0KIApAQCAtMzM1LDkgKzMzOSwx
MCBAQCB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZExheW91dChSZW5kZXJPYmplY3Qm
IHJvb3QpCiAgICAgVmVjdG9yPEZsb2F0UXVhZD4gcXVhZHM7CiAgICAgcm9vdC5hYnNvbHV0ZVF1
YWRzKHF1YWRzKTsKICAgICBpZiAocXVhZHMuc2l6ZSgpID49IDEpCi0gICAgICAgIFRpbWVsaW5l
UmVjb3JkRmFjdG9yeTo6YXBwZW5kTGF5b3V0Um9vdChlbnRyeS5kYXRhLmdldCgpLCBxdWFkc1sw
XSk7CisgICAgICAgIFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6YXBwZW5kTGF5b3V0Um9vdCgqZW50
cnkuZGF0YS5nZXQoKSwgcXVhZHNbMF0pOwogICAgIGVsc2UKICAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisKICAgICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRU
eXBlOjpMYXlvdXQpOwogfQogCkBAIC0zODIsNiArMzg3LDcgQEAgdm9pZCBJbnNwZWN0b3JUaW1l
bGluZUFnZW50OjpkaWRQYWludChSZW5kZXJPYmplY3QmIHJlbmRlcmVyLCBjb25zdCBMYXlvdXRS
ZWN0JgogICAgIEZsb2F0UXVhZCBxdWFkOwogICAgIGxvY2FsVG9QYWdlUXVhZChyZW5kZXJlciwg
Y2xpcFJlY3QsICZxdWFkKTsKICAgICBlbnRyeS5kYXRhID0gVGltZWxpbmVSZWNvcmRGYWN0b3J5
OjpjcmVhdGVQYWludERhdGEocXVhZCk7CisKICAgICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQo
VGltZWxpbmVSZWNvcmRUeXBlOjpQYWludCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IDg1ZjA2ZGFhYWEwLi5lNGRm
N2FlOGVhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRp
bWVsaW5lQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudC5oCkBAIC0xMTksNyArMTE5LDcgQEAgcHVibGljOgogICAgIHZvaWQgd2lsbENh
bGxGdW5jdGlvbihjb25zdCBTdHJpbmcmIHNjcmlwdE5hbWUsIGludCBzY3JpcHRMaW5lLCBGcmFt
ZSopOwogICAgIHZvaWQgZGlkQ2FsbEZ1bmN0aW9uKEZyYW1lKik7CiAgICAgdm9pZCB3aWxsRGlz
cGF0Y2hFdmVudChjb25zdCBFdmVudCYsIEZyYW1lKik7Ci0gICAgdm9pZCBkaWREaXNwYXRjaEV2
ZW50KCk7CisgICAgdm9pZCBkaWREaXNwYXRjaEV2ZW50KGJvb2wgZGVmYXVsdFByZXZlbnRlZCk7
CiAgICAgdm9pZCB3aWxsRXZhbHVhdGVTY3JpcHQoY29uc3QgU3RyaW5nJiwgaW50LCBGcmFtZSYp
OwogICAgIHZvaWQgZGlkRXZhbHVhdGVTY3JpcHQoRnJhbWUmKTsKICAgICB2b2lkIGRpZEludmFs
aWRhdGVMYXlvdXQoRnJhbWUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9UaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1Rp
bWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAKaW5kZXggNzRhYTdmZmU4MTMuLjYxYmVkY2ZmMTMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5
LmNwcApAQCAtMTQ2LDkgKzE0NiwxNCBAQCBSZWY8SW5zcGVjdG9yT2JqZWN0PiBUaW1lbGluZVJl
Y29yZEZhY3Rvcnk6OmNyZWF0ZVBhaW50RGF0YShjb25zdCBGbG9hdFF1YWQmIHF1YQogICAgIHJl
dHVybiBkYXRhOwogfQogCi12b2lkIFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6YXBwZW5kTGF5b3V0
Um9vdChJbnNwZWN0b3JPYmplY3QqIGRhdGEsIGNvbnN0IEZsb2F0UXVhZCYgcXVhZCkKK3ZvaWQg
VGltZWxpbmVSZWNvcmRGYWN0b3J5OjphcHBlbmRMYXlvdXRSb290KEluc3BlY3Rvck9iamVjdCYg
ZGF0YSwgY29uc3QgRmxvYXRRdWFkJiBxdWFkKQogewotICAgIGRhdGEtPnNldEFycmF5KEFTQ0lJ
TGl0ZXJhbCgicm9vdCIpLCBjcmVhdGVRdWFkKHF1YWQpKTsKKyAgICBkYXRhLnNldEFycmF5KEFT
Q0lJTGl0ZXJhbCgicm9vdCIpLCBjcmVhdGVRdWFkKHF1YWQpKTsKK30KKwordm9pZCBUaW1lbGlu
ZVJlY29yZEZhY3Rvcnk6OmFwcGVuZERpZERpc3BhdGNoRXZlbnREYXRhKEluc3BlY3Rvck9iamVj
dCYgZGF0YSwgYm9vbCBkZWZhdWx0UHJldmVudGVkKQoreworICAgIGRhdGEuc2V0Qm9vbGVhbihB
U0NJSUxpdGVyYWwoImRlZmF1bHRQcmV2ZW50ZWQiKSwgZGVmYXVsdFByZXZlbnRlZCk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9U
aW1lbGluZVJlY29yZEZhY3RvcnkuaAppbmRleCBkZDlkZTYwMTIwZS4uY2VmYzViMDE5MjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3Rvcnku
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmgK
QEAgLTYwLDcgKzYwLDggQEAgcHVibGljOgogICAgIHN0YXRpYyBSZWY8SW5zcGVjdG9yOjpJbnNw
ZWN0b3JPYmplY3Q+IGNyZWF0ZUFuaW1hdGlvbkZyYW1lRGF0YShpbnQgY2FsbGJhY2tJZCk7CiAg
ICAgc3RhdGljIFJlZjxJbnNwZWN0b3I6Okluc3BlY3Rvck9iamVjdD4gY3JlYXRlUGFpbnREYXRh
KGNvbnN0IEZsb2F0UXVhZCYpOwogCi0gICAgc3RhdGljIHZvaWQgYXBwZW5kTGF5b3V0Um9vdChJ
bnNwZWN0b3I6Okluc3BlY3Rvck9iamVjdCogZGF0YSwgY29uc3QgRmxvYXRRdWFkJik7CisgICAg
c3RhdGljIHZvaWQgYXBwZW5kTGF5b3V0Um9vdChJbnNwZWN0b3I6Okluc3BlY3Rvck9iamVjdCYg
ZGF0YSwgY29uc3QgRmxvYXRRdWFkJik7CisgICAgc3RhdGljIHZvaWQgYXBwZW5kRGlkRGlzcGF0
Y2hFdmVudERhdGEoSW5zcGVjdG9yOjpJbnNwZWN0b3JPYmplY3QmIGRhdGEsIGJvb2wgZGVmYXVs
dFByZXZlbnRlZCk7CiAKIHByaXZhdGU6CiAgICAgVGltZWxpbmVSZWNvcmRGYWN0b3J5KCkgeyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggY2IxNjM5ODZjODMuLjkyZjNkYzFhZDBh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC0yMDAyLDcgKzIwMDIsNyBAQCBib29s
IERPTVdpbmRvdzo6ZGlzcGF0Y2hFdmVudChFdmVudCYgZXZlbnQsIEV2ZW50VGFyZ2V0KiB0YXJn
ZXQpCiAKICAgICBib29sIHJlc3VsdCA9IGZpcmVFdmVudExpc3RlbmVycyhldmVudCk7CiAKLSAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERpc3BhdGNoRXZlbnRPbldpbmRvdyhjb29r
aWUpOworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudE9uV2lu
ZG93KGNvb2tpZSwgZXZlbnQuZGVmYXVsdFByZXZlbnRlZCgpKTsKIAogICAgIHJldHVybiByZXN1
bHQ7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBkMTNmMGIzMTNjMi4uOWFkNzhhMzU2
ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE3LTA5LTEy
ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIElu
c3BlY3RvcjogVGltZWxpbmUgc2hvdWxkIHNob3cgd2hlbiBldmVudHMgcHJldmVudERlZmF1bHQo
KSB3YXMgY2FsbGVkIG9uIGFuIGV2ZW50IG9yIG5vdAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2ODI0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8z
NDI5MDkzMT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIExvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qczoKKyAgICAgICAg
TmV3IHN0cmluZy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGltZWxp
bmVNYW5hZ2VyLmpzOgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5fcHJv
Y2Vzc1JlY29yZCk6CisgICAgICAgIEluY2x1ZGUgdGhlIHdob2xlIGRhdGEgb2JqZWN0IGFzIGV4
dHJhIGRldGFpbHMuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9TY3JpcHRUaW1l
bGluZVJlY29yZC5qczoKKyAgICAgICAgKFdJLlNjcmlwdFRpbWVsaW5lUmVjb3JkKToKKyAgICAg
ICAgKFdJLlNjcmlwdFRpbWVsaW5lUmVjb3JkLnByb3RvdHlwZS5nZXQgZXh0cmFEZXRhaWxzKToK
KyAgICAgICAgV2hvbGVzYWxlIGNvcHkgb2YgdGhlIGV4dHJhIGRhdGEgaW5zdGVhZCBvZiBqdXN0
IGEgc2luZ2xlIHByb3BlcnR5LgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9TY3Jp
cHREZXRhaWxzVGltZWxpbmVWaWV3LmpzOgorICAgICAgICAoV0kuU2NyaXB0RGV0YWlsc1RpbWVs
aW5lVmlldyk6CisgICAgICAgIEdpdmUgdGhlIG5hbWUgY29sdW1uIG1vcmUgaW5pdGlhbCBzcGFj
ZSwgdGhlcmUgaXMgc3RpbGwgZXh0cmEgc3BhY2UKKyAgICAgICAgYWZ0ZXIgdGhpcyBhZGp1c3Rt
ZW50IGJ1dCBuYW1lIGlzIGNvbWZvcnRhYmx5IGxhcmdlciAoYW5kIHRoZSBtb3N0CisgICAgICAg
IGxpa2VseSB0byBiZSBleHBhbmRlZCkuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdz
L1NjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlLmpzOgorICAgICAgICAoV0kuU2NyaXB0VGltZWxp
bmVEYXRhR3JpZE5vZGUucHJvdG90eXBlLmdldCBzdWJ0aXRsZSk6CisgICAgICAgIEluY2x1ZGUg
ImRlZmF1bHQgcHJldmVudGVkIiBhcyB0aGUgZXZlbnQncyBzdWJ0aXRsZSBpZiBpdCB3YXMgcHJl
dmVudGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Qcm90b2NvbC9JbnNwZWN0b3JCYWNr
ZW5kLmpzOgorICAgICAgICAoSW5zcGVjdG9yQmFja2VuZC5BZ2VudC5wcm90b3R5cGUuZGlzcGF0
Y2hFdmVudCk6CisgICAgICAgIChJbnNwZWN0b3JCYWNrZW5kLkFnZW50KToKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL1Rlc3QuaHRtbDoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Rlc3QvVGVz
dC5qczoKKyAgICAgICAgKFdJLmxvYWRlZCk6CisgICAgICAgIEFkZCB0aGUgU2NyaXB0UHJvZmls
ZXJPYnNlcnZlciB0byB0ZXN0cyBzaW5jZSBpdCBpcyBvbiBieSBkZWZhdWx0IGZvciBUaW1lbGlu
ZXMuCisKIDIwMTctMDktMTEgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4K
IAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgRXhwZXJpbWVudGFsIHNldHRpbmcgZm9yIG5l
dyBOZXR3b3JrIHRhYgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXph
dGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggNjJjMzI0
MmZiN2IuLjEyZmZiMzMwZDdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9j
YWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKQEAg
LTk4NCw2ICs5ODQsNyBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJaLUluZGV4Il0gPSAiWi1JbmRleCI7
CiBsb2NhbGl6ZWRTdHJpbmdzWyJab29tOiJdID0gIlpvb206IjsKIGxvY2FsaXplZFN0cmluZ3Nb
ImNvbXB1dGVkIl0gPSAiY29tcHV0ZWQiOwogbG9jYWxpemVkU3RyaW5nc1siZGVmYXVsdCJdID0g
ImRlZmF1bHQiOworbG9jYWxpemVkU3RyaW5nc1siZGVmYXVsdCBwcmV2ZW50ZWQiXSA9ICJkZWZh
dWx0IHByZXZlbnRlZCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJmb3IgY2hhbmdlcyB0byB0YWtlIGVm
ZmVjdCJdID0gImZvciBjaGFuZ2VzIHRvIHRha2UgZWZmZWN0IjsKIGxvY2FsaXplZFN0cmluZ3Nb
ImtleSJdID0gImtleSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJsaW5lICJdID0gImxpbmUgIjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJz
L1RpbWVsaW5lTWFuYWdlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdlci5qcwppbmRleCA5ZTE5MzMxODI2Ny4uMGIwNTgx
OTE2MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Nv
bnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Db250cm9sbGVycy9UaW1lbGluZU1hbmFnZXIuanMKQEAgLTU2Myw3ICs1
NjMsNyBAQCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5k
cyBXSS5PYmplY3QKICAgICAgICAgICAgICAgICByZWNvcmQgPSBuZXcgV0kuU2NyaXB0VGltZWxp
bmVSZWNvcmQoV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlRpbWVyRmlyZWQsIHN0
YXJ0VGltZSwgZW5kVGltZSwgY2FsbEZyYW1lcywgc291cmNlQ29kZUxvY2F0aW9uLCBwYXJlbnRS
ZWNvcmRQYXlsb2FkLmRhdGEudGltZXJJZCwgcHJvZmlsZURhdGEpOwogICAgICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICAgICAgY2FzZSBUaW1lbGluZUFnZW50LkV2ZW50VHlwZS5FdmVudERp
c3BhdGNoOgotICAgICAgICAgICAgICAgIHJlY29yZCA9IG5ldyBXSS5TY3JpcHRUaW1lbGluZVJl
Y29yZChXSS5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuRXZlbnREaXNwYXRjaGVkLCBz
dGFydFRpbWUsIGVuZFRpbWUsIGNhbGxGcmFtZXMsIHNvdXJjZUNvZGVMb2NhdGlvbiwgcGFyZW50
UmVjb3JkUGF5bG9hZC5kYXRhLnR5cGUsIHByb2ZpbGVEYXRhKTsKKyAgICAgICAgICAgICAgICBy
ZWNvcmQgPSBuZXcgV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQoV0kuU2NyaXB0VGltZWxpbmVSZWNv
cmQuRXZlbnRUeXBlLkV2ZW50RGlzcGF0Y2hlZCwgc3RhcnRUaW1lLCBlbmRUaW1lLCBjYWxsRnJh
bWVzLCBzb3VyY2VDb2RlTG9jYXRpb24sIHBhcmVudFJlY29yZFBheWxvYWQuZGF0YS50eXBlLCBw
cm9maWxlRGF0YSwgcGFyZW50UmVjb3JkUGF5bG9hZC5kYXRhKTsKICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgICAgIGNhc2UgVGltZWxpbmVBZ2VudC5FdmVudFR5cGUuRmlyZUFuaW1h
dGlvbkZyYW1lOgogICAgICAgICAgICAgICAgIHJlY29yZCA9IG5ldyBXSS5TY3JpcHRUaW1lbGlu
ZVJlY29yZChXSS5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuQW5pbWF0aW9uRnJhbWVG
aXJlZCwgc3RhcnRUaW1lLCBlbmRUaW1lLCBjYWxsRnJhbWVzLCBzb3VyY2VDb2RlTG9jYXRpb24s
IHBhcmVudFJlY29yZFBheWxvYWQuZGF0YS5pZCwgcHJvZmlsZURhdGEpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdFRpbWVsaW5l
UmVjb3JkLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1Nj
cmlwdFRpbWVsaW5lUmVjb3JkLmpzCmluZGV4IDVkODdmOThjMzZlLi41ODQzNzU3ZDc3YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1Njcmlw
dFRpbWVsaW5lUmVjb3JkLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL01vZGVscy9TY3JpcHRUaW1lbGluZVJlY29yZC5qcwpAQCAtMjUsNyArMjUsNyBAQAogCiBX
SS5TY3JpcHRUaW1lbGluZVJlY29yZCA9IGNsYXNzIFNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4dGVu
ZHMgV0kuVGltZWxpbmVSZWNvcmQKIHsKLSAgICBjb25zdHJ1Y3RvcihldmVudFR5cGUsIHN0YXJ0
VGltZSwgZW5kVGltZSwgY2FsbEZyYW1lcywgc291cmNlQ29kZUxvY2F0aW9uLCBkZXRhaWxzLCBw
cm9maWxlUGF5bG9hZCkKKyAgICBjb25zdHJ1Y3RvcihldmVudFR5cGUsIHN0YXJ0VGltZSwgZW5k
VGltZSwgY2FsbEZyYW1lcywgc291cmNlQ29kZUxvY2F0aW9uLCBkZXRhaWxzLCBwcm9maWxlUGF5
bG9hZCwgZXh0cmFEZXRhaWxzKQogICAgIHsKICAgICAgICAgc3VwZXIoV0kuVGltZWxpbmVSZWNv
cmQuVHlwZS5TY3JpcHQsIHN0YXJ0VGltZSwgZW5kVGltZSwgY2FsbEZyYW1lcywgc291cmNlQ29k
ZUxvY2F0aW9uKTsKIApAQCAtMzgsNiArMzgsNyBAQCBXSS5TY3JpcHRUaW1lbGluZVJlY29yZCA9
IGNsYXNzIFNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4dGVuZHMgV0kuVGltZWxpbmVSZWNvcmQKICAg
ICAgICAgdGhpcy5fZGV0YWlscyA9IGRldGFpbHMgfHwgIiI7CiAgICAgICAgIHRoaXMuX3Byb2Zp
bGVQYXlsb2FkID0gcHJvZmlsZVBheWxvYWQgfHwgbnVsbDsKICAgICAgICAgdGhpcy5fcHJvZmls
ZSA9IG51bGw7CisgICAgICAgIHRoaXMuX2V4dHJhRGV0YWlscyA9IGV4dHJhRGV0YWlscyB8fCBu
dWxsOwogCiAgICAgICAgIC8vIENPTVBBVElCSUxJVFkoaU9TIDkpOiBCZWZvcmUgdGhlIFNjcmlw
dFByb2ZpbGVyQWdlbnQgd2UgZGlkIG5vdCBoYXZlIHNhbXBsZSBkYXRhLiBSZXR1cm4gTmFOIHRv
IG1hdGNoIG9sZCBiZWhhdmlvci4KICAgICAgICAgaWYgKCF3aW5kb3cuU2NyaXB0UHJvZmlsZXJB
Z2VudCkKQEAgLTUwLDE1ICs1MSwxMCBAQCBXSS5TY3JpcHRUaW1lbGluZVJlY29yZCA9IGNsYXNz
IFNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4dGVuZHMgV0kuVGltZWxpbmVSZWNvcmQKIAogICAgIC8v
IFB1YmxpYwogCi0gICAgZ2V0IGV2ZW50VHlwZSgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhp
cy5fZXZlbnRUeXBlOwotICAgIH0KLQotICAgIGdldCBkZXRhaWxzKCkKLSAgICB7Ci0gICAgICAg
IHJldHVybiB0aGlzLl9kZXRhaWxzOwotICAgIH0KKyAgICBnZXQgZXZlbnRUeXBlKCkgeyByZXR1
cm4gdGhpcy5fZXZlbnRUeXBlOyB9CisgICAgZ2V0IGRldGFpbHMoKSB7IHJldHVybiB0aGlzLl9k
ZXRhaWxzOyB9CisgICAgZ2V0IGV4dHJhRGV0YWlscygpIHsgcmV0dXJuIHRoaXMuX2V4dHJhRGV0
YWlsczsgfQorICAgIGdldCBjYWxsQ291bnRPclNhbXBsZXMoKSB7IHJldHVybiB0aGlzLl9jYWxs
Q291bnRPclNhbXBsZXM7IH0KIAogICAgIGdldCBwcm9maWxlKCkKICAgICB7CkBAIC02NiwxMSAr
NjIsNiBAQCBXSS5TY3JpcHRUaW1lbGluZVJlY29yZCA9IGNsYXNzIFNjcmlwdFRpbWVsaW5lUmVj
b3JkIGV4dGVuZHMgV0kuVGltZWxpbmVSZWNvcmQKICAgICAgICAgcmV0dXJuIHRoaXMuX3Byb2Zp
bGU7CiAgICAgfQogCi0gICAgZ2V0IGNhbGxDb3VudE9yU2FtcGxlcygpCi0gICAgewotICAgICAg
ICByZXR1cm4gdGhpcy5fY2FsbENvdW50T3JTYW1wbGVzOwotICAgIH0KLQogICAgIGlzR2FyYmFn
ZUNvbGxlY3Rpb24oKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMuX2V2ZW50VHlwZSA9PT0g
V0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkdhcmJhZ2VDb2xsZWN0ZWQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9JbnNw
ZWN0b3JCYWNrZW5kLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJv
dG9jb2wvSW5zcGVjdG9yQmFja2VuZC5qcwppbmRleCBlYjc2NjUxMGZjYy4uMGVlOWVhYTMzZWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29s
L0luc3BlY3RvckJhY2tlbmQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvUHJvdG9jb2wvSW5zcGVjdG9yQmFja2VuZC5qcwpAQCAtMjg1LDYgKzI4NSwxMSBAQCBJ
bnNwZWN0b3JCYWNrZW5kLkFnZW50ID0gY2xhc3MgSW5zcGVjdG9yQmFja2VuZEFnZW50CiAKICAg
ICBkaXNwYXRjaEV2ZW50KGV2ZW50TmFtZSwgZXZlbnRBcmd1bWVudHMpCiAgICAgeworICAgICAg
ICBpZiAoIXRoaXMuX2Rpc3BhdGNoZXIpIHsKKyAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIk5v
IGRvbWFpbiBkaXNwYXRjaGVyIHJlZ2lzdGVyZWQgZm9yIGRvbWFpbiAnIiArIHRoaXMuX2RvbWFp
bk5hbWUgKyAiJyIpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisKICAg
ICAgICAgaWYgKCEoZXZlbnROYW1lIGluIHRoaXMuX2Rpc3BhdGNoZXIpKSB7CiAgICAgICAgICAg
ICBjb25zb2xlLmVycm9yKCJQcm90b2NvbCBFcnJvcjogQXR0ZW1wdGVkIHRvIGRpc3BhdGNoIGFu
IHVuaW1wbGVtZW50ZWQgbWV0aG9kICciICsgdGhpcy5fZG9tYWluTmFtZSArICIuIiArIGV2ZW50
TmFtZSArICInIik7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0Lmh0bWwgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0Lmh0bWwKaW5kZXggZDU1YTI5MGQzMmUuLjU3Zjk2
OTRmNWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9U
ZXN0Lmh0bWwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC5o
dG1sCkBAIC04Miw2ICs4Miw3IEBACiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL1BhZ2VPYnNl
cnZlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL1JlbW90ZU9iamVj
dC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL1J1bnRpbWVPYnNlcnZl
ci5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL1NjcmlwdFByb2ZpbGVy
T2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9UaW1lbGlu
ZU9ic2VydmVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUHJvdG9jb2wvV29ya2Vy
T2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9UZXN0L1Rlc3QuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9UZXN0L1Rlc3QuanMKaW5kZXggNmYzMWI1ZDI0OGQuLjVmZTA0MDg2Y2MwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0L1Rlc3Qu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC9UZXN0Lmpz
CkBAIC0zOCwxMSArMzgsMTIgQEAgV0kubG9hZGVkID0gZnVuY3Rpb24oKQogICAgIEluc3BlY3Rv
ckJhY2tlbmQucmVnaXN0ZXJJbnNwZWN0b3JEaXNwYXRjaGVyKG5ldyBXSS5JbnNwZWN0b3JPYnNl
cnZlcik7CiAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlclBhZ2VEaXNwYXRjaGVyKG5ldyBX
SS5QYWdlT2JzZXJ2ZXIpOwogICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb25zb2xlRGlz
cGF0Y2hlcihuZXcgV0kuQ29uc29sZU9ic2VydmVyKTsKLSAgICBJbnNwZWN0b3JCYWNrZW5kLnJl
Z2lzdGVyRE9NRGlzcGF0Y2hlcihuZXcgV0kuRE9NT2JzZXJ2ZXIpOwogICAgIEluc3BlY3RvckJh
Y2tlbmQucmVnaXN0ZXJOZXR3b3JrRGlzcGF0Y2hlcihuZXcgV0kuTmV0d29ya09ic2VydmVyKTsK
KyAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRE9NRGlzcGF0Y2hlcihuZXcgV0kuRE9NT2Jz
ZXJ2ZXIpOwogICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEZWJ1Z2dlckRpc3BhdGNoZXIo
bmV3IFdJLkRlYnVnZ2VyT2JzZXJ2ZXIpOwogICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJI
ZWFwRGlzcGF0Y2hlcihuZXcgV0kuSGVhcE9ic2VydmVyKTsKICAgICBJbnNwZWN0b3JCYWNrZW5k
LnJlZ2lzdGVyRE9NU3RvcmFnZURpc3BhdGNoZXIobmV3IFdJLkRPTVN0b3JhZ2VPYnNlcnZlcik7
CisgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlclNjcmlwdFByb2ZpbGVyRGlzcGF0Y2hlcihu
ZXcgV0kuU2NyaXB0UHJvZmlsZXJPYnNlcnZlcik7CiAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdp
c3RlclRpbWVsaW5lRGlzcGF0Y2hlcihuZXcgV0kuVGltZWxpbmVPYnNlcnZlcik7CiAgICAgSW5z
cGVjdG9yQmFja2VuZC5yZWdpc3RlckNTU0Rpc3BhdGNoZXIobmV3IFdJLkNTU09ic2VydmVyKTsK
ICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyUnVudGltZURpc3BhdGNoZXIobmV3IFdJLlJ1
bnRpbWVPYnNlcnZlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9TY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3LmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldy5q
cwppbmRleCBkYWFmZTEwZThmOS4uOTNlZjI0Yjc3YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdERldGFpbHNUaW1lbGluZVZpZXcu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0
RGV0YWlsc1RpbWVsaW5lVmlldy5qcwpAQCAtMzQsNyArMzQsNyBAQCBXSS5TY3JpcHREZXRhaWxz
VGltZWxpbmVWaWV3ID0gY2xhc3MgU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldyBleHRlbmRzIFdJ
LlRpbWVsaQogICAgICAgICBsZXQgY29sdW1ucyA9IHtuYW1lOiB7fSwgbG9jYXRpb246IHt9LCBj
YWxsQ291bnQ6IHt9LCBzdGFydFRpbWU6IHt9LCB0b3RhbFRpbWU6IHt9LCBzZWxmVGltZToge30s
IGF2ZXJhZ2VUaW1lOiB7fX07CiAKICAgICAgICAgY29sdW1ucy5uYW1lLnRpdGxlID0gV0kuVUlT
dHJpbmcoIk5hbWUiKTsKLSAgICAgICAgY29sdW1ucy5uYW1lLndpZHRoID0gIjEwJSI7CisgICAg
ICAgIGNvbHVtbnMubmFtZS53aWR0aCA9ICIzMCUiOwogICAgICAgICBjb2x1bW5zLm5hbWUuaWNv
biA9IHRydWU7CiAgICAgICAgIGNvbHVtbnMubmFtZS5kaXNjbG9zdXJlID0gdHJ1ZTsKICAgICAg
ICAgY29sdW1ucy5uYW1lLmxvY2tlZCA9IHRydWU7CkBAIC02OSw3ICs2OSw3IEBAIFdJLlNjcmlw
dERldGFpbHNUaW1lbGluZVZpZXcgPSBjbGFzcyBTY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3IGV4
dGVuZHMgV0kuVGltZWxpCiAgICAgICAgIGNvbHVtbnMuYXZlcmFnZVRpbWUud2lkdGggPSAiMTAl
IjsKICAgICAgICAgY29sdW1ucy5hdmVyYWdlVGltZS5hbGlnbmVkID0gInJpZ2h0IjsKIAotICAg
ICAgICBmb3IgKHZhciBjb2x1bW4gaW4gY29sdW1ucykKKyAgICAgICAgZm9yIChsZXQgY29sdW1u
IGluIGNvbHVtbnMpCiAgICAgICAgICAgICBjb2x1bW5zW2NvbHVtbl0uc29ydGFibGUgPSB0cnVl
OwogCiAgICAgICAgIHRoaXMuX2RhdGFHcmlkID0gbmV3IFdJLlNjcmlwdFRpbWVsaW5lRGF0YUdy
aWQoY29sdW1ucyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlLmpz
CmluZGV4IDA1ZDlhZDE0YzNiLi5mYTJkMGQwNjBhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0
VGltZWxpbmVEYXRhR3JpZE5vZGUuanMKQEAgLTEwMCw2ICsxMDAsOSBAQCBXSS5TY3JpcHRUaW1l
bGluZURhdGFHcmlkTm9kZSA9IGNsYXNzIFNjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlIGV4dGVu
ZHMgV0kuVGltZQogICAgICAgICAgICAgICAgIHRoaXMuX3N1YnRpdGxlID0gV0kuVUlTdHJpbmco
IiVzIGludGVydmFsIikuZm9ybWF0KHRpbWVvdXRTdHJpbmcpOwogICAgICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgICAgIHRoaXMuX3N1YnRpdGxlID0gV0kuVUlTdHJpbmcoIiVzIGRlbGF5Iiku
Zm9ybWF0KHRpbWVvdXRTdHJpbmcpOworICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX3JlY29yZC5l
dmVudFR5cGUgPT09IFdJLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5FdmVudERpc3Bh
dGNoZWQpIHsKKyAgICAgICAgICAgIGlmICh0aGlzLl9yZWNvcmQuZXh0cmFEZXRhaWxzICYmIHRo
aXMuX3JlY29yZC5leHRyYURldGFpbHMuZGVmYXVsdFByZXZlbnRlZCkKKyAgICAgICAgICAgICAg
ICB0aGlzLl9zdWJ0aXRsZSA9IFdJLlVJU3RyaW5nKCJkZWZhdWx0IHByZXZlbnRlZCIpOwogICAg
ICAgICB9CiAKICAgICAgICAgcmV0dXJuIHRoaXMuX3N1YnRpdGxlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>320697</attachid>
            <date>2017-09-13 15:29:16 -0700</date>
            <delta_ts>2019-03-17 20:57:51 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>timelines-3.patch</filename>
            <type>text/plain</type>
            <size>60164</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0MjI5NGZkOTU4OC4uN2Q3Mzk3YzA2OGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAor
MjAxNy0wOS0xMyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IFRpbWVsaW5lIHNob3VsZCBzaG93IHdoZW4gZXZlbnRzIHByZXZl
bnREZWZhdWx0KCkgd2FzIGNhbGxlZCBvbiBhbiBldmVudCBvciBub3QKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjgyNAorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMzQyOTA5MzE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvcmVzb3VyY2VzL3RpbWVsaW5lLWV2ZW50
LXV0aWxpdGllcy5qczogQWRkZWQuCisgICAgICAgIChUZXN0UGFnZS5yZWdpc3RlckluaXRpYWxp
emVyLndpbmRvdy5jYXB0dXJlVGltZWxpbmVXaXRoU2NyaXB0KToKKyAgICAgICAgKFRlc3RQYWdl
LnJlZ2lzdGVySW5pdGlhbGl6ZXIpOgorICAgICAgICAoZmluaXNoUmVjb3JkaW5nKToKKyAgICAg
ICAgSGVscGVyIGNvZGUgZm9yIGNyZWF0aW5nIGEgcmVjb3JkaW5nIGZyb20gYSBmdW5jdGlvbi4K
KworICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1DYW5jZWxBbmlt
YXRpb25GcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci90aW1l
bGluZS90aW1lbGluZS1ldmVudC1DYW5jZWxBbmltYXRpb25GcmFtZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtRXZlbnREaXNwYXRjaC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGlu
ZS1ldmVudC1FdmVudERpc3BhdGNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci90
aW1lbGluZS90aW1lbGluZS1ldmVudC1GaXJlQW5pbWF0aW9uRnJhbWUtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtRmlyZUFu
aW1hdGlvbkZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90
aW1lbGluZS1ldmVudC1SZXF1ZXN0QW5pbWF0aW9uRnJhbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtUmVxdWVzdEFuaW1h
dGlvbkZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1l
bGluZS1ldmVudC1UaW1lckZpcmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNw
ZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJGaXJlLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1UaW1lckluc3RhbGwtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUt
ZXZlbnQtVGltZXJJbnN0YWxsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci90aW1l
bGluZS90aW1lbGluZS1ldmVudC1UaW1lclJlbW92ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1UaW1lclJlbW92ZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgVGVzdHMgZm9yIGRpZmZlcmVudCwgc3BlY2lmaWMsIFRpbWVsaW5l
IGRvbWFpbiBFdmVudFR5cGVzLgorICAgICAgICBUaGlzIGluY2x1ZGVzIEV2ZW50RGlzcGF0Y2gg
d2l0aCBpdHMgbmV3ICJkZWZhdWx0UHJldmVudGVkIiBkZXRhaWxzIGRhdGEuCisKIDIwMTctMDkt
MTEgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBDbGVhbnVwIGFuZCB0ZXN0IE1JTUVUeXBlVXRpbGl0aWVzCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvcmVzb3VyY2VzL3RpbWVsaW5lLWV2ZW50
LXV0aWxpdGllcy5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS9yZXNvdXJjZXMv
dGltZWxpbmUtZXZlbnQtdXRpbGl0aWVzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwLi5iZTIxMjc1ZGVlZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci90aW1lbGluZS9yZXNvdXJjZXMvdGltZWxpbmUtZXZlbnQtdXRpbGl0aWVzLmpzCkBA
IC0wLDAgKzEsMjMgQEAKK1Rlc3RQYWdlLnJlZ2lzdGVySW5pdGlhbGl6ZXIoKCkgPT4geworICAg
IHdpbmRvdy5wYWdlUmVjb3JkaW5nRGF0YSA9IG51bGw7CisKKyAgICB3aW5kb3cuY2FwdHVyZVRp
bWVsaW5lV2l0aFNjcmlwdCA9IGZ1bmN0aW9uKGV4cHJlc3Npb24pIHsKKyAgICAgICAgcGFnZVJl
Y29yZGluZ0RhdGEgPSBudWxsOworCisgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJTdGFydGlu
ZyBDYXB0dXJlLi4uIik7CisgICAgICAgIGNvbnN0IG5ld1JlY29yZGluZyA9IHRydWU7CisgICAg
ICAgIFdJLnRpbWVsaW5lTWFuYWdlci5zdGFydENhcHR1cmluZyhuZXdSZWNvcmRpbmcpOworICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGV4cHJlc3Npb24pOworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmF3YWl0RXZlbnQoIkZpbmlzaFJlY29yZGluZyIpLnRoZW4oKGV2ZW50KSA9
PiB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiU3RvcHBpbmcgQ2FwdHVyZS4uLiIp
OworICAgICAgICAgICAgcGFnZVJlY29yZGluZ0RhdGEgPSBldmVudC5kYXRhOworICAgICAgICAg
ICAgV0kudGltZWxpbmVNYW5hZ2VyLnN0b3BDYXB0dXJpbmcoKTsKKyAgICAgICAgfSk7CisKKyAg
ICAgICAgcmV0dXJuIFdJLnRpbWVsaW5lTWFuYWdlci5hd2FpdEV2ZW50KFdJLlRpbWVsaW5lTWFu
YWdlci5FdmVudC5DYXB0dXJpbmdTdG9wcGVkKTsKKyAgICB9Cit9KTsKKworZnVuY3Rpb24gZmlu
aXNoUmVjb3JkaW5nKGRhdGEpIHsKKyAgICBUZXN0UGFnZS5kaXNwYXRjaEV2ZW50VG9Gcm9udGVu
ZCgiRmluaXNoUmVjb3JkaW5nIiwgZGF0YSk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtQ2FuY2VsQW5pbWF0aW9uRnJhbWUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50
LUNhbmNlbEFuaW1hdGlvbkZyYW1lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMC4uNGE3MzQ3MWMwMGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtQ2FuY2VsQW5pbWF0aW9uRnJh
bWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1Rlc3RzICdDYW5jZWxBbmltYXRpb25G
cmFtZScgVGltZWxpbmUgZXZlbnQgcmVjb3Jkcy4KKworCis9PSBSdW5uaW5nIHRlc3Qgc3VpdGU6
IFRpbWVsaW5lRXZlbnQuQ2FuY2VsQW5pbWF0aW9uRnJhbWUKKy0tIFJ1bm5pbmcgdGVzdCBjYXNl
OiBUaW1lbGluZUV2ZW50LkNhbmNlbEFuaW1hdGlvbkZyYW1lLnJlcXVlc3RBbmltYXRpb25GcmFt
ZQorU3RhcnRpbmcgQ2FwdHVyZS4uLgorU3RvcHBpbmcgQ2FwdHVyZS4uLgorUEFTUzogU2hvdWxk
IGJlIDEgQW5pbWF0aW9uRnJhbWVDYW5jZWxlZCByZWNvcmQuCitERVRBSUxTOiBudW1iZXIKK1BB
U1M6IFNjcmlwdFRpbWVsaW5lUmVjb3JkIGRldGFpbHMgc2hvdWxkIGJlIHRoZSByZXF1ZXN0QW5p
bWF0aW9uRnJhbWUgaWRlbnRpZmllci4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUNhbmNlbEFuaW1hdGlvbkZyYW1lLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtQ2FuY2VsQW5pbWF0
aW9uRnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZWY2
MTMwZjUzYjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxp
bmUvdGltZWxpbmUtZXZlbnQtQ2FuY2VsQW5pbWF0aW9uRnJhbWUuaHRtbApAQCAtMCwwICsxLDQy
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy90aW1lbGluZS1ldmVudC11dGlsaXRpZXMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3RSZXF1ZXN0QW5pbWF0aW9uRnJhbWUo
KSB7CisgICAgbGV0IHJlcXVlc3RBbmltYXRpb25GcmFtZUlkZW50aWZpZXIgPSByZXF1ZXN0QW5p
bWF0aW9uRnJhbWUoKCkgPT4geyBUZXN0UGFnZS5hZGRSZXN1bHQoIkZBSUw6IHJlcXVlc3RBbmlt
YXRpb25GcmFtZSBmaXJlZCIpOyB9KTsKKyAgICBjYW5jZWxBbmltYXRpb25GcmFtZShyZXF1ZXN0
QW5pbWF0aW9uRnJhbWVJZGVudGlmaWVyKTsKKyAgICBzZXRUaW1lb3V0KCgpID0+IHsgZmluaXNo
UmVjb3JkaW5nKHtyZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZGVudGlmaWVyfSk7IH0pOyAvLyBEZWxh
eSBhIGJpdCB0byBlbnN1cmUgd2UgZ2V0IHRoZSBjbGVhciBhbmltYXRpb24gZnJhbWUuCit9CisK
K2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGxldCBzdWl0ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRl
QXN5bmNTdWl0ZSgiVGltZWxpbmVFdmVudC5DYW5jZWxBbmltYXRpb25GcmFtZSIpOworCisgICAg
c3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiVGltZWxpbmVFdmVudC5DYW5jZWxB
bmltYXRpb25GcmFtZS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLAorICAgICAgICB0ZXN0KHJlc29s
dmUsIHJlamVjdCkgeworICAgICAgICAgICAgY2FwdHVyZVRpbWVsaW5lV2l0aFNjcmlwdChgdGVz
dFJlcXVlc3RBbmltYXRpb25GcmFtZSgpYCkudGhlbigoKSA9PiB7CisgICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hc3NlcnQodHlwZW9mIHBhZ2VSZWNvcmRpbmdEYXRhLnJlcXVlc3RBbmlt
YXRpb25GcmFtZUlkZW50aWZpZXIgPT09ICJudW1iZXIiKTsKKworICAgICAgICAgICAgICAgIGxl
dCByZWNvcmRpbmcgPSBXSS50aW1lbGluZU1hbmFnZXIuYWN0aXZlUmVjb3JkaW5nOworICAgICAg
ICAgICAgICAgIGxldCBzY3JpcHRUaW1lbGluZSA9IHJlY29yZGluZy50aW1lbGluZXMuZ2V0KFdJ
LlRpbWVsaW5lUmVjb3JkLlR5cGUuU2NyaXB0KTsKKyAgICAgICAgICAgICAgICBsZXQgcmVjb3Jk
cyA9IHNjcmlwdFRpbWVsaW5lLnJlY29yZHMuZmlsdGVyKCh4KSA9PiB4LmV2ZW50VHlwZSA9PT0g
V0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkFuaW1hdGlvbkZyYW1lQ2FuY2VsZWQp
OworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVjb3Jkcy5sZW5n
dGgsIDEsICJTaG91bGQgYmUgMSBBbmltYXRpb25GcmFtZUNhbmNlbGVkIHJlY29yZC4iKTsKKyAg
ICAgICAgICAgICAgICBmb3IgKGxldCByZWNvcmQgb2YgcmVjb3JkcykgeworICAgICAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiREVUQUlMUzogIiArIHR5cGVvZiByZWNvcmQuZGV0
YWlscyk7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVj
b3JkLmRldGFpbHMsIHBhZ2VSZWNvcmRpbmdEYXRhLnJlcXVlc3RBbmltYXRpb25GcmFtZUlkZW50
aWZpZXIsICJTY3JpcHRUaW1lbGluZVJlY29yZCBkZXRhaWxzIHNob3VsZCBiZSB0aGUgcmVxdWVz
dEFuaW1hdGlvbkZyYW1lIGlkZW50aWZpZXIuIik7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSkudGhlbihyZXNvbHZlLCByZWplY3QpOworICAgICAgICB9CisgICAgfSk7CisKKyAg
ICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+VGVzdHMgJ0NhbmNlbEFuaW1hdGlvbkZyYW1l
JyBUaW1lbGluZSBldmVudCByZWNvcmRzLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1FdmVudERp
c3BhdGNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1l
bGluZS1ldmVudC1FdmVudERpc3BhdGNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMC4uZmYxMWM0M2Q4ZWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtRXZlbnREaXNwYXRjaC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNyBAQAorVGVzdHMgJ0V2ZW50RGlzcGF0Y2gnIFRpbWVs
aW5lIGV2ZW50IHJlY29yZHMuCisKKyAKKworPT0gUnVubmluZyB0ZXN0IHN1aXRlOiBUaW1lbGlu
ZUV2ZW50LkV2ZW50RGlzcGF0Y2gKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBUaW1lbGluZUV2ZW50
LkV2ZW50RGlzcGF0Y2guSGFuZGxlci5SZWd1bGFyCitTdGFydGluZyBDYXB0dXJlLi4uCitjbGlj
ayBoYW5kbGVyIGZpcmVkCitTdG9wcGluZyBDYXB0dXJlLi4uCitQQVNTOiBTaG91bGQgYmUgMSBF
dmVudERpc3BhdGNoZWQgcmVjb3JkLgorREVUQUlMUzogeyJ0eXBlIjoiY2xpY2siLCJkZWZhdWx0
UHJldmVudGVkIjpmYWxzZX0KK1BBU1M6IFNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4dHJhRGV0YWls
cyBzaG91bGQgc2hvdyBkZWZhdWx0IHdhcyBub3QgcHJldmVudGVkLgorCistLSBSdW5uaW5nIHRl
c3QgY2FzZTogVGltZWxpbmVFdmVudC5FdmVudERpc3BhdGNoLkhhbmRsZXIuRGVmYXVsdFByZXZl
bnRlZAorU3RhcnRpbmcgQ2FwdHVyZS4uLgorY2xpY2sgaGFuZGxlciBmaXJlZCwgd2lsbCBwcmV2
ZW50IGRlZmF1bHQKK1N0b3BwaW5nIENhcHR1cmUuLi4KK1BBU1M6IFNob3VsZCBiZSAxIEV2ZW50
RGlzcGF0Y2hlZCByZWNvcmQuCitERVRBSUxTOiB7InR5cGUiOiJjbGljayIsImRlZmF1bHRQcmV2
ZW50ZWQiOnRydWV9CitQQVNTOiBTY3JpcHRUaW1lbGluZVJlY29yZCBleHRyYURldGFpbHMgc2hv
dWxkIHNob3cgZGVmYXVsdCB3YXMgcHJldmVudGVkLgorCistLSBSdW5uaW5nIHRlc3QgY2FzZTog
VGltZWxpbmVFdmVudC5FdmVudERpc3BhdGNoLkF0dHJpYnV0ZUhhbmRsZXIuUmVndWxhcgorU3Rh
cnRpbmcgQ2FwdHVyZS4uLgorYjEgb25jbGljayBhdHRyaWJ1dGUgaGFuZGxlciBmaXJlZAorU3Rv
cHBpbmcgQ2FwdHVyZS4uLgorUEFTUzogU2hvdWxkIGJlIDEgRXZlbnREaXNwYXRjaGVkIHJlY29y
ZC4KK0RFVEFJTFM6IHsidHlwZSI6ImNsaWNrIiwiZGVmYXVsdFByZXZlbnRlZCI6ZmFsc2V9CitQ
QVNTOiBTY3JpcHRUaW1lbGluZVJlY29yZCBleHRyYURldGFpbHMgc2hvdWxkIHNob3cgZGVmYXVs
dCB3YXMgbm90IHByZXZlbnRlZC4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFRpbWVsaW5lRXZl
bnQuRXZlbnREaXNwYXRjaC5BdHRyaWJ1dGVIYW5kbGVyLkRlZmF1bHRQcmV2ZW50ZWQKK1N0YXJ0
aW5nIENhcHR1cmUuLi4KK2IyIG9uY2xpY2sgYXR0cmlidXRlIGhhbmRsZXIgZmlyZWQsIHdpbGwg
cHJldmVudCBkZWZhdWx0CitTdG9wcGluZyBDYXB0dXJlLi4uCitQQVNTOiBTaG91bGQgYmUgMSBF
dmVudERpc3BhdGNoZWQgcmVjb3JkLgorREVUQUlMUzogeyJ0eXBlIjoiY2xpY2siLCJkZWZhdWx0
UHJldmVudGVkIjp0cnVlfQorUEFTUzogU2NyaXB0VGltZWxpbmVSZWNvcmQgZXh0cmFEZXRhaWxz
IHNob3VsZCBzaG93IGRlZmF1bHQgd2FzIHByZXZlbnRlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUV2ZW50RGlzcGF0Y2guaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1FdmVudERp
c3BhdGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjUzMDcx
YzI2M2IzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5l
L3RpbWVsaW5lLWV2ZW50LUV2ZW50RGlzcGF0Y2guaHRtbApAQCAtMCwwICsxLDExMCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvdGltZWxpbmUtZXZlbnQtdXRpbGl0aWVzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0Q2xpY2tFdmVudEhhbmRsZXIoe3ByZXZlbnREZWZh
dWx0fSkgeworICAgIGxldCBidXR0b24gPSBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpKTsKKyAgICBidXR0b24uYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoZXZlbnQpID0+IHsKKyAgICAgICAgVGVzdFBhZ2UuYWRkUmVzdWx0KCJjbGlj
ayBoYW5kbGVyIGZpcmVkIiArIChwcmV2ZW50RGVmYXVsdCA/ICIsIHdpbGwgcHJldmVudCBkZWZh
dWx0IiA6ICIiKSk7CisgICAgICAgIHNldFRpbWVvdXQoKCkgPT4geyBmaW5pc2hSZWNvcmRpbmco
e3ByZXZlbnREZWZhdWx0fSk7IH0pOworICAgICAgICBpZiAocHJldmVudERlZmF1bHQpCisgICAg
ICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOworICAgIH0pOworCisgICAgYnV0dG9uLmRp
c3BhdGNoRXZlbnQobmV3IE1vdXNlRXZlbnQoImNsaWNrIiwge2J1YmJsZXM6IHRydWUsIGNhbmNl
bGFibGU6IHRydWV9KSk7Cit9CisKK2Z1bmN0aW9uIHRlc3RDbGlja0V2ZW50QXR0cmlidXRlSGFu
ZGxlcihpZCwge3ByZXZlbnREZWZhdWx0fSkgeworICAgIGxldCBidXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZChpZCk7CisgICAgYnV0dG9uLmRpc3BhdGNoRXZlbnQobmV3IE1vdXNlRXZl
bnQoImNsaWNrIiwge2J1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWV9KSk7CisgICAgc2V0
VGltZW91dCgoKSA9PiB7IGZpbmlzaFJlY29yZGluZyh7cHJldmVudERlZmF1bHR9KTsgfSk7Cit9
CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGxldCBzdWl0ZSA9IEluc3BlY3RvclRlc3QuY3Jl
YXRlQXN5bmNTdWl0ZSgiVGltZWxpbmVFdmVudC5FdmVudERpc3BhdGNoIik7CisKKyAgICBzdWl0
ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJUaW1lbGluZUV2ZW50LkV2ZW50RGlzcGF0
Y2guSGFuZGxlci5SZWd1bGFyIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAg
ICAgICAgICAgIGNhcHR1cmVUaW1lbGluZVdpdGhTY3JpcHQoYHRlc3RDbGlja0V2ZW50SGFuZGxl
cih7cHJldmVudERlZmF1bHQ6IGZhbHNlfSlgKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0eXBlb2YgcGFnZVJlY29yZGluZ0RhdGEucHJldmVudERl
ZmF1bHQgPT09ICJib29sZWFuIik7CisKKyAgICAgICAgICAgICAgICBsZXQgcmVjb3JkaW5nID0g
V0kudGltZWxpbmVNYW5hZ2VyLmFjdGl2ZVJlY29yZGluZzsKKyAgICAgICAgICAgICAgICBsZXQg
c2NyaXB0VGltZWxpbmUgPSByZWNvcmRpbmcudGltZWxpbmVzLmdldChXSS5UaW1lbGluZVJlY29y
ZC5UeXBlLlNjcmlwdCk7CisgICAgICAgICAgICAgICAgbGV0IHJlY29yZHMgPSBzY3JpcHRUaW1l
bGluZS5yZWNvcmRzLmZpbHRlcigoeCkgPT4geC5ldmVudFR5cGUgPT09IFdJLlNjcmlwdFRpbWVs
aW5lUmVjb3JkLkV2ZW50VHlwZS5FdmVudERpc3BhdGNoZWQpOworICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVjb3Jkcy5sZW5ndGgsIDEsICJTaG91bGQgYmUgMSBF
dmVudERpc3BhdGNoZWQgcmVjb3JkLiIpOworICAgICAgICAgICAgICAgIGZvciAobGV0IHJlY29y
ZCBvZiByZWNvcmRzKSB7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJE
RVRBSUxTOiAiICsgSlNPTi5zdHJpbmdpZnkocmVjb3JkLmV4dHJhRGV0YWlscykpOworICAgICAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29yZC5leHRyYURldGFp
bHMuZGVmYXVsdFByZXZlbnRlZCwgcGFnZVJlY29yZGluZ0RhdGEucHJldmVudERlZmF1bHQsICJT
Y3JpcHRUaW1lbGluZVJlY29yZCBleHRyYURldGFpbHMgc2hvdWxkIHNob3cgZGVmYXVsdCB3YXMg
bm90IHByZXZlbnRlZC4iKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9KS50aGVu
KHJlc29sdmUsIHJlamVjdCk7CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLmFkZFRl
c3RDYXNlKHsKKyAgICAgICAgbmFtZTogIlRpbWVsaW5lRXZlbnQuRXZlbnREaXNwYXRjaC5IYW5k
bGVyLkRlZmF1bHRQcmV2ZW50ZWQiLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewor
ICAgICAgICAgICAgY2FwdHVyZVRpbWVsaW5lV2l0aFNjcmlwdChgdGVzdENsaWNrRXZlbnRIYW5k
bGVyKHtwcmV2ZW50RGVmYXVsdDogdHJ1ZX0pYCkudGhlbigoKSA9PiB7CisgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQodHlwZW9mIHBhZ2VSZWNvcmRpbmdEYXRhLnByZXZlbnRE
ZWZhdWx0ID09PSAiYm9vbGVhbiIpOworCisgICAgICAgICAgICAgICAgbGV0IHJlY29yZGluZyA9
IFdJLnRpbWVsaW5lTWFuYWdlci5hY3RpdmVSZWNvcmRpbmc7CisgICAgICAgICAgICAgICAgbGV0
IHNjcmlwdFRpbWVsaW5lID0gcmVjb3JkaW5nLnRpbWVsaW5lcy5nZXQoV0kuVGltZWxpbmVSZWNv
cmQuVHlwZS5TY3JpcHQpOworICAgICAgICAgICAgICAgIGxldCByZWNvcmRzID0gc2NyaXB0VGlt
ZWxpbmUucmVjb3Jkcy5maWx0ZXIoKHgpID0+IHguZXZlbnRUeXBlID09PSBXSS5TY3JpcHRUaW1l
bGluZVJlY29yZC5FdmVudFR5cGUuRXZlbnREaXNwYXRjaGVkKTsKKyAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29yZHMubGVuZ3RoLCAxLCAiU2hvdWxkIGJlIDEg
RXZlbnREaXNwYXRjaGVkIHJlY29yZC4iKTsKKyAgICAgICAgICAgICAgICBmb3IgKGxldCByZWNv
cmQgb2YgcmVjb3JkcykgeworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygi
REVUQUlMUzogIiArIEpTT04uc3RyaW5naWZ5KHJlY29yZC5leHRyYURldGFpbHMpKTsKKyAgICAg
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZWNvcmQuZXh0cmFEZXRh
aWxzLmRlZmF1bHRQcmV2ZW50ZWQsIHBhZ2VSZWNvcmRpbmdEYXRhLnByZXZlbnREZWZhdWx0LCAi
U2NyaXB0VGltZWxpbmVSZWNvcmQgZXh0cmFEZXRhaWxzIHNob3VsZCBzaG93IGRlZmF1bHQgd2Fz
IHByZXZlbnRlZC4iKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9KS50aGVuKHJl
c29sdmUsIHJlamVjdCk7CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLmFkZFRlc3RD
YXNlKHsKKyAgICAgICAgbmFtZTogIlRpbWVsaW5lRXZlbnQuRXZlbnREaXNwYXRjaC5BdHRyaWJ1
dGVIYW5kbGVyLlJlZ3VsYXIiLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAg
ICAgICAgICAgY2FwdHVyZVRpbWVsaW5lV2l0aFNjcmlwdChgdGVzdENsaWNrRXZlbnRBdHRyaWJ1
dGVIYW5kbGVyKCJiMSIsIHtwcmV2ZW50RGVmYXVsdDogZmFsc2V9KWApLnRoZW4oKCkgPT4gewor
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHR5cGVvZiBwYWdlUmVjb3JkaW5n
RGF0YS5wcmV2ZW50RGVmYXVsdCA9PT0gImJvb2xlYW4iKTsKKworICAgICAgICAgICAgICAgIGxl
dCByZWNvcmRpbmcgPSBXSS50aW1lbGluZU1hbmFnZXIuYWN0aXZlUmVjb3JkaW5nOworICAgICAg
ICAgICAgICAgIGxldCBzY3JpcHRUaW1lbGluZSA9IHJlY29yZGluZy50aW1lbGluZXMuZ2V0KFdJ
LlRpbWVsaW5lUmVjb3JkLlR5cGUuU2NyaXB0KTsKKyAgICAgICAgICAgICAgICBsZXQgcmVjb3Jk
cyA9IHNjcmlwdFRpbWVsaW5lLnJlY29yZHMuZmlsdGVyKCh4KSA9PiB4LmV2ZW50VHlwZSA9PT0g
V0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkV2ZW50RGlzcGF0Y2hlZCk7CisgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZWNvcmRzLmxlbmd0aCwgMSwg
IlNob3VsZCBiZSAxIEV2ZW50RGlzcGF0Y2hlZCByZWNvcmQuIik7CisgICAgICAgICAgICAgICAg
Zm9yIChsZXQgcmVjb3JkIG9mIHJlY29yZHMpIHsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5sb2coIkRFVEFJTFM6ICIgKyBKU09OLnN0cmluZ2lmeShyZWNvcmQuZXh0cmFEZXRh
aWxzKSk7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVj
b3JkLmV4dHJhRGV0YWlscy5kZWZhdWx0UHJldmVudGVkLCBwYWdlUmVjb3JkaW5nRGF0YS5wcmV2
ZW50RGVmYXVsdCwgIlNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4dHJhRGV0YWlscyBzaG91bGQgc2hv
dyBkZWZhdWx0IHdhcyBub3QgcHJldmVudGVkLiIpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0pLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTsKKyAgICAgICAgfQorICAgIH0pOworCisg
ICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiVGltZWxpbmVFdmVudC5FdmVu
dERpc3BhdGNoLkF0dHJpYnV0ZUhhbmRsZXIuRGVmYXVsdFByZXZlbnRlZCIsCisgICAgICAgIHRl
c3QocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAgICAgICBjYXB0dXJlVGltZWxpbmVXaXRoU2Ny
aXB0KGB0ZXN0Q2xpY2tFdmVudEF0dHJpYnV0ZUhhbmRsZXIoImIyIiwge3ByZXZlbnREZWZhdWx0
OiB0cnVlfSlgKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFz
c2VydCh0eXBlb2YgcGFnZVJlY29yZGluZ0RhdGEucHJldmVudERlZmF1bHQgPT09ICJib29sZWFu
Iik7CisKKyAgICAgICAgICAgICAgICBsZXQgcmVjb3JkaW5nID0gV0kudGltZWxpbmVNYW5hZ2Vy
LmFjdGl2ZVJlY29yZGluZzsKKyAgICAgICAgICAgICAgICBsZXQgc2NyaXB0VGltZWxpbmUgPSBy
ZWNvcmRpbmcudGltZWxpbmVzLmdldChXSS5UaW1lbGluZVJlY29yZC5UeXBlLlNjcmlwdCk7Cisg
ICAgICAgICAgICAgICAgbGV0IHJlY29yZHMgPSBzY3JpcHRUaW1lbGluZS5yZWNvcmRzLmZpbHRl
cigoeCkgPT4geC5ldmVudFR5cGUgPT09IFdJLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlw
ZS5FdmVudERpc3BhdGNoZWQpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0
RXF1YWwocmVjb3Jkcy5sZW5ndGgsIDEsICJTaG91bGQgYmUgMSBFdmVudERpc3BhdGNoZWQgcmVj
b3JkLiIpOworICAgICAgICAgICAgICAgIGZvciAobGV0IHJlY29yZCBvZiByZWNvcmRzKSB7Cisg
ICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJERVRBSUxTOiAiICsgSlNPTi5z
dHJpbmdpZnkocmVjb3JkLmV4dHJhRGV0YWlscykpOworICAgICAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29yZC5leHRyYURldGFpbHMuZGVmYXVsdFByZXZlbnRl
ZCwgcGFnZVJlY29yZGluZ0RhdGEucHJldmVudERlZmF1bHQsICJTY3JpcHRUaW1lbGluZVJlY29y
ZCBleHRyYURldGFpbHMgc2hvdWxkIHNob3cgZGVmYXVsdCB3YXMgcHJldmVudGVkLiIpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTsKKyAg
ICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUucnVuVGVzdENhc2VzQW5kRmluaXNoKCk7Cit9
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPlRlc3Rz
ICdFdmVudERpc3BhdGNoJyBUaW1lbGluZSBldmVudCByZWNvcmRzLjwvcD4KKzxidXR0b24gaWQ9
ImIxIiBvbmNsaWNrPSJUZXN0UGFnZS5hZGRSZXN1bHQoJ2IxIG9uY2xpY2sgYXR0cmlidXRlIGhh
bmRsZXIgZmlyZWQnKTsgcmV0dXJuIHRydWUiPjwvYnV0dG9uPgorPGJ1dHRvbiBpZD0iYjIiIG9u
Y2xpY2s9IlRlc3RQYWdlLmFkZFJlc3VsdCgnYjIgb25jbGljayBhdHRyaWJ1dGUgaGFuZGxlciBm
aXJlZCwgd2lsbCBwcmV2ZW50IGRlZmF1bHQnKTsgcmV0dXJuIGZhbHNlIj48L2J1dHRvbj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGlu
ZS90aW1lbGluZS1ldmVudC1GaXJlQW5pbWF0aW9uRnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUZpcmVBbmltYXRpb25GcmFt
ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmIy
NjRhNWRhNzcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVs
aW5lL3RpbWVsaW5lLWV2ZW50LUZpcmVBbmltYXRpb25GcmFtZS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMiBAQAorVGVzdHMgJ0ZpcmVBbmltYXRpb25GcmFtZScgVGltZWxpbmUgZXZlbnQgcmVj
b3Jkcy4KKworCis9PSBSdW5uaW5nIHRlc3Qgc3VpdGU6IFRpbWVsaW5lRXZlbnQuRmlyZUFuaW1h
dGlvbkZyYW1lCistLSBSdW5uaW5nIHRlc3QgY2FzZTogVGltZWxpbmVFdmVudC5GaXJlQW5pbWF0
aW9uRnJhbWUucmVxdWVzdEFuaW1hdGlvbkZyYW1lCitTdGFydGluZyBDYXB0dXJlLi4uCityZXF1
ZXN0QW5pbWF0aW9uRnJhbWUgZmlyZWQKK1N0b3BwaW5nIENhcHR1cmUuLi4KK1BBU1M6IFNob3Vs
ZCBiZSAxIEFuaW1hdGlvbkZyYW1lRmlyZWQgcmVjb3JkLgorREVUQUlMUzogbnVtYmVyCitQQVNT
OiBTY3JpcHRUaW1lbGluZVJlY29yZCBkZXRhaWxzIHNob3VsZCBiZSB0aGUgcmVxdWVzdEFuaW1h
dGlvbkZyYW1lIGlkZW50aWZpZXIuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS90aW1lbGluZS1ldmVudC1GaXJlQW5pbWF0aW9uRnJhbWUuaHRtbCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1GaXJlQW5pbWF0aW9uRnJh
bWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNmViMjFmMDY0
MTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGlt
ZWxpbmUtZXZlbnQtRmlyZUFuaW1hdGlvbkZyYW1lLmh0bWwKQEAgLTAsMCArMSw0MyBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi9yZXNvdXJjZXMvdGltZWxpbmUtZXZlbnQtdXRpbGl0aWVzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0UmVxdWVzdEFuaW1hdGlvbkZyYW1lKCkgeworICAg
IGxldCByZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZGVudGlmaWVyID0gcmVxdWVzdEFuaW1hdGlvbkZy
YW1lKCgpID0+IHsKKyAgICAgICAgVGVzdFBhZ2UuYWRkUmVzdWx0KCJyZXF1ZXN0QW5pbWF0aW9u
RnJhbWUgZmlyZWQiKTsKKyAgICAgICAgZmluaXNoUmVjb3JkaW5nKHtyZXF1ZXN0QW5pbWF0aW9u
RnJhbWVJZGVudGlmaWVyfSk7CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAg
IGxldCBzdWl0ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiVGltZWxpbmVFdmVu
dC5GaXJlQW5pbWF0aW9uRnJhbWUiKTsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAg
ICAgbmFtZTogIlRpbWVsaW5lRXZlbnQuRmlyZUFuaW1hdGlvbkZyYW1lLnJlcXVlc3RBbmltYXRp
b25GcmFtZSIsCisgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAgICAgICBj
YXB0dXJlVGltZWxpbmVXaXRoU2NyaXB0KGB0ZXN0UmVxdWVzdEFuaW1hdGlvbkZyYW1lKClgKS50
aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0eXBlb2Yg
cGFnZVJlY29yZGluZ0RhdGEucmVxdWVzdEFuaW1hdGlvbkZyYW1lSWRlbnRpZmllciA9PT0gIm51
bWJlciIpOworCisgICAgICAgICAgICAgICAgbGV0IHJlY29yZGluZyA9IFdJLnRpbWVsaW5lTWFu
YWdlci5hY3RpdmVSZWNvcmRpbmc7CisgICAgICAgICAgICAgICAgbGV0IHNjcmlwdFRpbWVsaW5l
ID0gcmVjb3JkaW5nLnRpbWVsaW5lcy5nZXQoV0kuVGltZWxpbmVSZWNvcmQuVHlwZS5TY3JpcHQp
OworICAgICAgICAgICAgICAgIGxldCByZWNvcmRzID0gc2NyaXB0VGltZWxpbmUucmVjb3Jkcy5m
aWx0ZXIoKHgpID0+IHguZXZlbnRUeXBlID09PSBXSS5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVu
dFR5cGUuQW5pbWF0aW9uRnJhbWVGaXJlZCk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5leHBlY3RFcXVhbChyZWNvcmRzLmxlbmd0aCwgMSwgIlNob3VsZCBiZSAxIEFuaW1hdGlvbkZy
YW1lRmlyZWQgcmVjb3JkLiIpOworICAgICAgICAgICAgICAgIGZvciAobGV0IHJlY29yZCBvZiBy
ZWNvcmRzKSB7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJERVRBSUxT
OiAiICsgdHlwZW9mIHJlY29yZC5kZXRhaWxzKTsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5leHBlY3RFcXVhbChyZWNvcmQuZGV0YWlscywgcGFnZVJlY29yZGluZ0RhdGEucmVx
dWVzdEFuaW1hdGlvbkZyYW1lSWRlbnRpZmllciwgIlNjcmlwdFRpbWVsaW5lUmVjb3JkIGRldGFp
bHMgc2hvdWxkIGJlIHRoZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgaWRlbnRpZmllci4iKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9KS50aGVuKHJlc29sdmUsIHJlamVjdCk7Cisg
ICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOwor
fQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0
cyAnRmlyZUFuaW1hdGlvbkZyYW1lJyBUaW1lbGluZSBldmVudCByZWNvcmRzLjwvcD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90
aW1lbGluZS1ldmVudC1SZXF1ZXN0QW5pbWF0aW9uRnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVJlcXVlc3RBbmltYXRpb25G
cmFtZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu
LjAxMmZkMzNlODQ0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Rp
bWVsaW5lL3RpbWVsaW5lLWV2ZW50LVJlcXVlc3RBbmltYXRpb25GcmFtZS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMiBAQAorVGVzdHMgJ1JlcXVlc3RBbmltYXRpb25GcmFtZScgVGltZWxpbmUg
ZXZlbnQgcmVjb3Jkcy4KKworCis9PSBSdW5uaW5nIHRlc3Qgc3VpdGU6IFRpbWVsaW5lRXZlbnQu
UmVxdWVzdEFuaW1hdGlvbkZyYW1lCistLSBSdW5uaW5nIHRlc3QgY2FzZTogVGltZWxpbmVFdmVu
dC5SZXF1ZXN0QW5pbWF0aW9uRnJhbWUucmVxdWVzdEFuaW1hdGlvbkZyYW1lCitTdGFydGluZyBD
YXB0dXJlLi4uCityZXF1ZXN0QW5pbWF0aW9uRnJhbWUgZmlyZWQKK1N0b3BwaW5nIENhcHR1cmUu
Li4KK1BBU1M6IFNob3VsZCBiZSAxIEFuaW1hdGlvbkZyYW1lUmVxdWVzdGVkIHJlY29yZC4KK0RF
VEFJTFM6IG51bWJlcgorUEFTUzogU2NyaXB0VGltZWxpbmVSZWNvcmQgZGV0YWlscyBzaG91bGQg
YmUgdGhlIHJlcXVlc3RBbmltYXRpb25GcmFtZSBpZGVudGlmaWVyLgorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtUmVxdWVzdEFuaW1h
dGlvbkZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUt
ZXZlbnQtUmVxdWVzdEFuaW1hdGlvbkZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAuLjY0YjZiYTZmODk0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVJlcXVlc3RBbmltYXRpb25GcmFt
ZS5odG1sCkBAIC0wLDAgKzEsNDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvaW5zcGVj
dG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3RpbWVsaW5l
LWV2ZW50LXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdFJl
cXVlc3RBbmltYXRpb25GcmFtZSgpIHsKKyAgICBsZXQgcmVxdWVzdEFuaW1hdGlvbkZyYW1lSWRl
bnRpZmllciA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgIFRlc3RQYWdl
LmFkZFJlc3VsdCgicmVxdWVzdEFuaW1hdGlvbkZyYW1lIGZpcmVkIik7CisgICAgICAgIGZpbmlz
aFJlY29yZGluZyh7cmVxdWVzdEFuaW1hdGlvbkZyYW1lSWRlbnRpZmllcn0pOworICAgIH0pOwor
fQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBsZXQgc3VpdGUgPSBJbnNwZWN0b3JUZXN0LmNy
ZWF0ZUFzeW5jU3VpdGUoIlRpbWVsaW5lRXZlbnQuUmVxdWVzdEFuaW1hdGlvbkZyYW1lIik7CisK
KyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJUaW1lbGluZUV2ZW50LlJl
cXVlc3RBbmltYXRpb25GcmFtZS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLAorICAgICAgICB0ZXN0
KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICAgICAgY2FwdHVyZVRpbWVsaW5lV2l0aFNjcmlw
dChgdGVzdFJlcXVlc3RBbmltYXRpb25GcmFtZSgpYCkudGhlbigoKSA9PiB7CisgICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQodHlwZW9mIHBhZ2VSZWNvcmRpbmdEYXRhLnJlcXVl
c3RBbmltYXRpb25GcmFtZUlkZW50aWZpZXIgPT09ICJudW1iZXIiKTsKKworICAgICAgICAgICAg
ICAgIGxldCByZWNvcmRpbmcgPSBXSS50aW1lbGluZU1hbmFnZXIuYWN0aXZlUmVjb3JkaW5nOwor
ICAgICAgICAgICAgICAgIGxldCBzY3JpcHRUaW1lbGluZSA9IHJlY29yZGluZy50aW1lbGluZXMu
Z2V0KFdJLlRpbWVsaW5lUmVjb3JkLlR5cGUuU2NyaXB0KTsKKyAgICAgICAgICAgICAgICBsZXQg
cmVjb3JkcyA9IHNjcmlwdFRpbWVsaW5lLnJlY29yZHMuZmlsdGVyKCh4KSA9PiB4LmV2ZW50VHlw
ZSA9PT0gV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkFuaW1hdGlvbkZyYW1lUmVx
dWVzdGVkKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29y
ZHMubGVuZ3RoLCAxLCAiU2hvdWxkIGJlIDEgQW5pbWF0aW9uRnJhbWVSZXF1ZXN0ZWQgcmVjb3Jk
LiIpOworICAgICAgICAgICAgICAgIGZvciAobGV0IHJlY29yZCBvZiByZWNvcmRzKSB7CisgICAg
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJERVRBSUxTOiAiICsgdHlwZW9mIHJl
Y29yZC5kZXRhaWxzKTsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RF
cXVhbChyZWNvcmQuZGV0YWlscywgcGFnZVJlY29yZGluZ0RhdGEucmVxdWVzdEFuaW1hdGlvbkZy
YW1lSWRlbnRpZmllciwgIlNjcmlwdFRpbWVsaW5lUmVjb3JkIGRldGFpbHMgc2hvdWxkIGJlIHRo
ZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgaWRlbnRpZmllci4iKTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9KS50aGVuKHJlc29sdmUsIHJlamVjdCk7CisgICAgICAgIH0KKyAgICB9
KTsKKworICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOworfQorPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0cyAnUmVxdWVzdEFuaW1h
dGlvbkZyYW1lJyBUaW1lbGluZSBldmVudCByZWNvcmRzLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVu
dC1UaW1lckZpcmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5l
L3RpbWVsaW5lLWV2ZW50LVRpbWVyRmlyZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAuLmU0NzIwYThjMGE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVRpbWVyRmlyZS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwyOSBAQAorVGVzdHMgJ1RpbWVyRmlyZScgVGltZWxpbmUgZXZl
bnQgcmVjb3Jkcy4KKworCis9PSBSdW5uaW5nIHRlc3Qgc3VpdGU6IFRpbWVsaW5lRXZlbnQuVGlt
ZXJGaXJlCistLSBSdW5uaW5nIHRlc3QgY2FzZTogVGltZWxpbmVFdmVudC5UaW1lckZpcmUuc2V0
VGltZW91dAorU3RhcnRpbmcgQ2FwdHVyZS4uLgorc2V0VGltZW91dCBmaXJlZAorU3RvcHBpbmcg
Q2FwdHVyZS4uLgorUEFTUzogU2hvdWxkIGJlIDEgVGltZXJGaXJlZCByZWNvcmQuCitERVRBSUxT
OiBudW1iZXIKK1BBU1M6IFNjcmlwdFRpbWVsaW5lUmVjb3JkIGRldGFpbHMgc2hvdWxkIGJlIHRo
ZSBzZXRUaW1lb3V0IGlkZW50aWZpZXIuCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBUaW1lbGlu
ZUV2ZW50LlRpbWVyRmlyZS5zZXRJbnRlcnZhbAorU3RhcnRpbmcgQ2FwdHVyZS4uLgorc2V0SW50
ZXJ2YWwgZmlyZWQ6IDEKK3NldEludGVydmFsIGZpcmVkOiAyCitzZXRJbnRlcnZhbCBmaXJlZDog
MworU3RvcHBpbmcgQ2FwdHVyZS4uLgorUEFTUzogU2hvdWxkIGJlIDMgVGltZXJGaXJlZCByZWNv
cmRzLgorREVUQUlMUzogbnVtYmVyCitQQVNTOiBTY3JpcHRUaW1lbGluZVJlY29yZCBkZXRhaWxz
IHNob3VsZCBiZSB0aGUgc2V0SW50ZXJ2YWwgaWRlbnRpZmllci4KK0RFVEFJTFM6IG51bWJlcgor
UEFTUzogU2NyaXB0VGltZWxpbmVSZWNvcmQgZGV0YWlscyBzaG91bGQgYmUgdGhlIHNldEludGVy
dmFsIGlkZW50aWZpZXIuCitERVRBSUxTOiBudW1iZXIKK1BBU1M6IFNjcmlwdFRpbWVsaW5lUmVj
b3JkIGRldGFpbHMgc2hvdWxkIGJlIHRoZSBzZXRJbnRlcnZhbCBpZGVudGlmaWVyLgorCistLSBS
dW5uaW5nIHRlc3QgY2FzZTogU2FuaXR5Q2hlY2sKK1BBU1M6IFRoZSBzZXRUaW1lb3V0IGlkZW50
aWZpZXIgYW5kIHNldEludGVydmFsIGlkZW50aWZpZXJzIHNob3VsZCBiZSBkaWZmZXJlbnQuCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVu
dC1UaW1lckZpcmUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGlu
ZS1ldmVudC1UaW1lckZpcmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMC4uOTllZGJjZmU4MTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJGaXJlLmh0bWwKQEAgLTAsMCArMSw4NiBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvdGltZWxpbmUtZXZlbnQtdXRpbGl0aWVzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0U2V0VGltZW91dCgpIHsKKyAgICBsZXQg
c2V0VGltZW91dElkZW50aWZpZXIgPSBzZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAgVGVzdFBh
Z2UuYWRkUmVzdWx0KCJzZXRUaW1lb3V0IGZpcmVkIik7CisgICAgICAgIGZpbmlzaFJlY29yZGlu
Zyh7c2V0VGltZW91dElkZW50aWZpZXJ9KTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gdGVzdFNl
dEludGVydmFsKCkgeworICAgIGxldCBjb3VudCA9IDA7CisgICAgbGV0IHNldEludGVydmFsSWRl
bnRpZmllciA9IHNldEludGVydmFsKCgpID0+IHsKKyAgICAgICAgY291bnQrKzsKKyAgICAgICAg
VGVzdFBhZ2UuYWRkUmVzdWx0KCJzZXRJbnRlcnZhbCBmaXJlZDogIiArIGNvdW50KTsKKyAgICAg
ICAgaWYgKGNvdW50ID09PSAzKSB7CisgICAgICAgICAgICBjbGVhclRpbWVvdXQoc2V0SW50ZXJ2
YWxJZGVudGlmaWVyKTsKKyAgICAgICAgICAgIGZpbmlzaFJlY29yZGluZyh7c2V0SW50ZXJ2YWxJ
ZGVudGlmaWVyfSk7CisgICAgICAgIH0KKyAgICB9KTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7
CisgICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJUaW1lbGlu
ZUV2ZW50LlRpbWVyRmlyZSIpOworCisgICAgbGV0IHRpbWVvdXRJZGVudGlmaWVyOworICAgIGxl
dCBpbnRlcnZhbElkZW50aWZpZXI7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAg
IG5hbWU6ICJUaW1lbGluZUV2ZW50LlRpbWVyRmlyZS5zZXRUaW1lb3V0IiwKKyAgICAgICAgdGVz
dChyZXNvbHZlLCByZWplY3QpIHsKKyAgICAgICAgICAgIGNhcHR1cmVUaW1lbGluZVdpdGhTY3Jp
cHQoYHRlc3RTZXRUaW1lb3V0KClgKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFzc2VydCh0eXBlb2YgcGFnZVJlY29yZGluZ0RhdGEuc2V0VGltZW91dElkZW50
aWZpZXIgPT09ICJudW1iZXIiKTsKKyAgICAgICAgICAgICAgICB0aW1lb3V0SWRlbnRpZmllciA9
IHBhZ2VSZWNvcmRpbmdEYXRhLnNldFRpbWVvdXRJZGVudGlmaWVyOworCisgICAgICAgICAgICAg
ICAgbGV0IHJlY29yZGluZyA9IFdJLnRpbWVsaW5lTWFuYWdlci5hY3RpdmVSZWNvcmRpbmc7Cisg
ICAgICAgICAgICAgICAgbGV0IHNjcmlwdFRpbWVsaW5lID0gcmVjb3JkaW5nLnRpbWVsaW5lcy5n
ZXQoV0kuVGltZWxpbmVSZWNvcmQuVHlwZS5TY3JpcHQpOworICAgICAgICAgICAgICAgIGxldCBy
ZWNvcmRzID0gc2NyaXB0VGltZWxpbmUucmVjb3Jkcy5maWx0ZXIoKHgpID0+IHguZXZlbnRUeXBl
ID09PSBXSS5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuVGltZXJGaXJlZCk7CisgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZWNvcmRzLmxlbmd0aCwgMSwg
IlNob3VsZCBiZSAxIFRpbWVyRmlyZWQgcmVjb3JkLiIpOworICAgICAgICAgICAgICAgIGZvciAo
bGV0IHJlY29yZCBvZiByZWNvcmRzKSB7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QubG9nKCJERVRBSUxTOiAiICsgdHlwZW9mIHJlY29yZC5kZXRhaWxzKTsKKyAgICAgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZWNvcmQuZGV0YWlscywgdGltZW91
dElkZW50aWZpZXIsICJTY3JpcHRUaW1lbGluZVJlY29yZCBkZXRhaWxzIHNob3VsZCBiZSB0aGUg
c2V0VGltZW91dCBpZGVudGlmaWVyLiIpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0pLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTsKKyAgICAgICAgfQorICAgIH0pOworCisgICAgc3Vp
dGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiVGltZWxpbmVFdmVudC5UaW1lckZpcmUu
c2V0SW50ZXJ2YWwiLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICAg
ICAgY2FwdHVyZVRpbWVsaW5lV2l0aFNjcmlwdChgdGVzdFNldEludGVydmFsKClgKS50aGVuKCgp
ID0+IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0eXBlb2YgcGFnZVJl
Y29yZGluZ0RhdGEuc2V0SW50ZXJ2YWxJZGVudGlmaWVyID09PSAibnVtYmVyIik7CisgICAgICAg
ICAgICAgICAgaW50ZXJ2YWxJZGVudGlmaWVyID0gcGFnZVJlY29yZGluZ0RhdGEuc2V0SW50ZXJ2
YWxJZGVudGlmaWVyOworCisgICAgICAgICAgICAgICAgbGV0IHJlY29yZGluZyA9IFdJLnRpbWVs
aW5lTWFuYWdlci5hY3RpdmVSZWNvcmRpbmc7CisgICAgICAgICAgICAgICAgbGV0IHNjcmlwdFRp
bWVsaW5lID0gcmVjb3JkaW5nLnRpbWVsaW5lcy5nZXQoV0kuVGltZWxpbmVSZWNvcmQuVHlwZS5T
Y3JpcHQpOworICAgICAgICAgICAgICAgIGxldCByZWNvcmRzID0gc2NyaXB0VGltZWxpbmUucmVj
b3Jkcy5maWx0ZXIoKHgpID0+IHguZXZlbnRUeXBlID09PSBXSS5TY3JpcHRUaW1lbGluZVJlY29y
ZC5FdmVudFR5cGUuVGltZXJGaXJlZCk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5l
eHBlY3RFcXVhbChyZWNvcmRzLmxlbmd0aCwgMywgIlNob3VsZCBiZSAzIFRpbWVyRmlyZWQgcmVj
b3Jkcy4iKTsKKyAgICAgICAgICAgICAgICBmb3IgKGxldCByZWNvcmQgb2YgcmVjb3Jkcykgewor
ICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiREVUQUlMUzogIiArIHR5cGVv
ZiByZWNvcmQuZGV0YWlscyk7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhw
ZWN0RXF1YWwocmVjb3JkLmRldGFpbHMsIHBhZ2VSZWNvcmRpbmdEYXRhLnNldEludGVydmFsSWRl
bnRpZmllciwgIlNjcmlwdFRpbWVsaW5lUmVjb3JkIGRldGFpbHMgc2hvdWxkIGJlIHRoZSBzZXRJ
bnRlcnZhbCBpZGVudGlmaWVyLiIpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0p
LnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTsKKyAgICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUu
YWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiU2FuaXR5Q2hlY2siLAorICAgICAgICB0ZXN0
KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0
KHRpbWVvdXRJZGVudGlmaWVyICE9PSBpbnRlcnZhbElkZW50aWZpZXIsICJUaGUgc2V0VGltZW91
dCBpZGVudGlmaWVyIGFuZCBzZXRJbnRlcnZhbCBpZGVudGlmaWVycyBzaG91bGQgYmUgZGlmZmVy
ZW50LiIpOworICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICB9CisgICAgfSk7CisKKyAg
ICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+VGVzdHMgJ1RpbWVyRmlyZScgVGltZWxpbmUg
ZXZlbnQgcmVjb3Jkcy48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJJbnN0YWxsLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1U
aW1lckluc3RhbGwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwLi5kZGEzOWNlZDllMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1UaW1lckluc3RhbGwtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMjUgQEAKK1Rlc3RzICdUaW1lckluc3RhbGwnIFRpbWVsaW5lIGV2ZW50IHJlY29y
ZHMuCisKKworPT0gUnVubmluZyB0ZXN0IHN1aXRlOiBUaW1lbGluZUV2ZW50LlRpbWVySW5zdGFs
bAorLS0gUnVubmluZyB0ZXN0IGNhc2U6IFRpbWVsaW5lRXZlbnQuVGltZXJJbnN0YWxsLnNldFRp
bWVvdXQKK1N0YXJ0aW5nIENhcHR1cmUuLi4KK3NldFRpbWVvdXQgZmlyZWQKK1N0b3BwaW5nIENh
cHR1cmUuLi4KK1BBU1M6IFNob3VsZCBiZSAxIFRpbWVySW5zdGFsbGVkIHJlY29yZC4KK0RFVEFJ
TFM6IHsidGltZXJJZCI6IjxmaWx0ZXJlZD4iLCJ0aW1lb3V0IjoxMCwicmVwZWF0aW5nIjpmYWxz
ZX0KK1BBU1M6IFNjcmlwdFRpbWVsaW5lUmVjb3JkIGRldGFpbHMgc2hvdWxkIGJlIHRoZSBzZXRU
aW1lb3V0IGlkZW50aWZpZXIuCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBUaW1lbGluZUV2ZW50
LlRpbWVySW5zdGFsbC5zZXRJbnRlcnZhbAorU3RhcnRpbmcgQ2FwdHVyZS4uLgorc2V0SW50ZXJ2
YWwgZmlyZWQ6IDEKK3NldEludGVydmFsIGZpcmVkOiAyCitzZXRJbnRlcnZhbCBmaXJlZDogMwor
U3RvcHBpbmcgQ2FwdHVyZS4uLgorUEFTUzogU2hvdWxkIGJlIDEgVGltZXJJbnN0YWxsZWQgcmVj
b3JkLgorREVUQUlMUzogeyJ0aW1lcklkIjoiPGZpbHRlcmVkPiIsInRpbWVvdXQiOjUsInJlcGVh
dGluZyI6dHJ1ZX0KK1BBU1M6IFNjcmlwdFRpbWVsaW5lUmVjb3JkIGRldGFpbHMgc2hvdWxkIGJl
IHRoZSBzZXRJbnRlcnZhbCBpZGVudGlmaWVyLgorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogU2Fu
aXR5Q2hlY2sKK1BBU1M6IFRoZSBzZXRUaW1lb3V0IGlkZW50aWZpZXIgYW5kIHNldEludGVydmFs
IGlkZW50aWZpZXJzIHNob3VsZCBiZSBkaWZmZXJlbnQuCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1UaW1lckluc3RhbGwuaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1UaW1lckluc3Rh
bGwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMmI2YzY0MDBi
OWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGlt
ZWxpbmUtZXZlbnQtVGltZXJJbnN0YWxsLmh0bWwKQEAgLTAsMCArMSw5MiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvdGltZWxpbmUtZXZlbnQtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQ+CitmdW5jdGlvbiB0ZXN0U2V0VGltZW91dCgpIHsKKyAgICBsZXQgc2V0VGltZW91dElk
ZW50aWZpZXIgPSBzZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAgVGVzdFBhZ2UuYWRkUmVzdWx0
KCJzZXRUaW1lb3V0IGZpcmVkIik7CisgICAgICAgIGZpbmlzaFJlY29yZGluZyh7c2V0VGltZW91
dElkZW50aWZpZXJ9KTsKKyAgICB9LCAxMCk7Cit9CisKK2Z1bmN0aW9uIHRlc3RTZXRJbnRlcnZh
bCgpIHsKKyAgICBsZXQgY291bnQgPSAwOworICAgIGxldCBzZXRJbnRlcnZhbElkZW50aWZpZXIg
PSBzZXRJbnRlcnZhbCgoKSA9PiB7CisgICAgICAgIGNvdW50Kys7CisgICAgICAgIFRlc3RQYWdl
LmFkZFJlc3VsdCgic2V0SW50ZXJ2YWwgZmlyZWQ6ICIgKyBjb3VudCk7CisgICAgICAgIGlmIChj
b3VudCA9PT0gMykgeworICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHNldEludGVydmFsSWRlbnRp
Zmllcik7CisgICAgICAgICAgICBmaW5pc2hSZWNvcmRpbmcoe3NldEludGVydmFsSWRlbnRpZmll
cn0pOworICAgICAgICB9CisgICAgfSwgNSk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAg
IGxldCBzdWl0ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiVGltZWxpbmVFdmVu
dC5UaW1lckluc3RhbGwiKTsKKworICAgIGxldCB0aW1lb3V0SWRlbnRpZmllcjsKKyAgICBsZXQg
aW50ZXJ2YWxJZGVudGlmaWVyOworCisgICAgZnVuY3Rpb24ganNvbkZpbHRlcihrZXksIHZhbHVl
KSB7CisgICAgICAgIGlmIChrZXkgPT09ICJ0aW1lcklkIikKKyAgICAgICAgICAgIHJldHVybiAi
PGZpbHRlcmVkPiI7CisgICAgICAgIHJldHVybiB2YWx1ZTsKKyAgICB9CisKKyAgICBzdWl0ZS5h
ZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJUaW1lbGluZUV2ZW50LlRpbWVySW5zdGFsbC5z
ZXRUaW1lb3V0IiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAgICAgICAgICAg
IGNhcHR1cmVUaW1lbGluZVdpdGhTY3JpcHQoYHRlc3RTZXRUaW1lb3V0KClgKS50aGVuKCgpID0+
IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0eXBlb2YgcGFnZVJlY29y
ZGluZ0RhdGEuc2V0VGltZW91dElkZW50aWZpZXIgPT09ICJudW1iZXIiKTsKKyAgICAgICAgICAg
ICAgICB0aW1lb3V0SWRlbnRpZmllciA9IHBhZ2VSZWNvcmRpbmdEYXRhLnNldFRpbWVvdXRJZGVu
dGlmaWVyOworCisgICAgICAgICAgICAgICAgbGV0IHJlY29yZGluZyA9IFdJLnRpbWVsaW5lTWFu
YWdlci5hY3RpdmVSZWNvcmRpbmc7CisgICAgICAgICAgICAgICAgbGV0IHNjcmlwdFRpbWVsaW5l
ID0gcmVjb3JkaW5nLnRpbWVsaW5lcy5nZXQoV0kuVGltZWxpbmVSZWNvcmQuVHlwZS5TY3JpcHQp
OworICAgICAgICAgICAgICAgIGxldCByZWNvcmRzID0gc2NyaXB0VGltZWxpbmUucmVjb3Jkcy5m
aWx0ZXIoKHgpID0+IHguZXZlbnRUeXBlID09PSBXSS5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVu
dFR5cGUuVGltZXJJbnN0YWxsZWQpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhw
ZWN0RXF1YWwocmVjb3Jkcy5sZW5ndGgsIDEsICJTaG91bGQgYmUgMSBUaW1lckluc3RhbGxlZCBy
ZWNvcmQuIik7CisgICAgICAgICAgICAgICAgZm9yIChsZXQgcmVjb3JkIG9mIHJlY29yZHMpIHsK
KyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkRFVEFJTFM6ICIgKyBKU09O
LnN0cmluZ2lmeShyZWNvcmQuZGV0YWlscywganNvbkZpbHRlcikpOworICAgICAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29yZC5kZXRhaWxzLnRpbWVySWQsIHRp
bWVvdXRJZGVudGlmaWVyLCAiU2NyaXB0VGltZWxpbmVSZWNvcmQgZGV0YWlscyBzaG91bGQgYmUg
dGhlIHNldFRpbWVvdXQgaWRlbnRpZmllci4iKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9KS50aGVuKHJlc29sdmUsIHJlamVjdCk7CisgICAgICAgIH0KKyAgICB9KTsKKworICAg
IHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogIlRpbWVsaW5lRXZlbnQuVGltZXJJ
bnN0YWxsLnNldEludGVydmFsIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAg
ICAgICAgICAgIGNhcHR1cmVUaW1lbGluZVdpdGhTY3JpcHQoYHRlc3RTZXRJbnRlcnZhbCgpYCku
dGhlbigoKSA9PiB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQodHlwZW9m
IHBhZ2VSZWNvcmRpbmdEYXRhLnNldEludGVydmFsSWRlbnRpZmllciA9PT0gIm51bWJlciIpOwor
ICAgICAgICAgICAgICAgIGludGVydmFsSWRlbnRpZmllciA9IHBhZ2VSZWNvcmRpbmdEYXRhLnNl
dEludGVydmFsSWRlbnRpZmllcjsKKworICAgICAgICAgICAgICAgIGxldCByZWNvcmRpbmcgPSBX
SS50aW1lbGluZU1hbmFnZXIuYWN0aXZlUmVjb3JkaW5nOworICAgICAgICAgICAgICAgIGxldCBz
Y3JpcHRUaW1lbGluZSA9IHJlY29yZGluZy50aW1lbGluZXMuZ2V0KFdJLlRpbWVsaW5lUmVjb3Jk
LlR5cGUuU2NyaXB0KTsKKyAgICAgICAgICAgICAgICBsZXQgcmVjb3JkcyA9IHNjcmlwdFRpbWVs
aW5lLnJlY29yZHMuZmlsdGVyKCh4KSA9PiB4LmV2ZW50VHlwZSA9PT0gV0kuU2NyaXB0VGltZWxp
bmVSZWNvcmQuRXZlbnRUeXBlLlRpbWVySW5zdGFsbGVkKTsKKyAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29yZHMubGVuZ3RoLCAxLCAiU2hvdWxkIGJlIDEgVGlt
ZXJJbnN0YWxsZWQgcmVjb3JkLiIpOworICAgICAgICAgICAgICAgIGZvciAobGV0IHJlY29yZCBv
ZiByZWNvcmRzKSB7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJERVRB
SUxTOiAiICsgSlNPTi5zdHJpbmdpZnkocmVjb3JkLmRldGFpbHMsIGpzb25GaWx0ZXIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZWNvcmQuZGV0YWls
cy50aW1lcklkLCBwYWdlUmVjb3JkaW5nRGF0YS5zZXRJbnRlcnZhbElkZW50aWZpZXIsICJTY3Jp
cHRUaW1lbGluZVJlY29yZCBkZXRhaWxzIHNob3VsZCBiZSB0aGUgc2V0SW50ZXJ2YWwgaWRlbnRp
Zmllci4iKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9KS50aGVuKHJlc29sdmUs
IHJlamVjdCk7CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsK
KyAgICAgICAgbmFtZTogIlNhbml0eUNoZWNrIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWpl
Y3QpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdCh0aW1lb3V0SWRlbnRp
ZmllciAhPT0gaW50ZXJ2YWxJZGVudGlmaWVyLCAiVGhlIHNldFRpbWVvdXQgaWRlbnRpZmllciBh
bmQgc2V0SW50ZXJ2YWwgaWRlbnRpZmllcnMgc2hvdWxkIGJlIGRpZmZlcmVudC4iKTsKKyAgICAg
ICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUucnVuVGVz
dENhc2VzQW5kRmluaXNoKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpIj4KKzxwPlRlc3RzICdUaW1lckluc3RhbGwnIFRpbWVsaW5lIGV2ZW50IHJlY29y
ZHMuPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVRpbWVyUmVtb3ZlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1UaW1lclJlbW92ZS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjQzMTQz
N2I1YzFjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5l
L3RpbWVsaW5lLWV2ZW50LVRpbWVyUmVtb3ZlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI0IEBA
CitUZXN0cyAnVGltZXJSZW1vdmUnIFRpbWVsaW5lIGV2ZW50IHJlY29yZHMuCisKKworPT0gUnVu
bmluZyB0ZXN0IHN1aXRlOiBUaW1lbGluZUV2ZW50LlRpbWVyUmVtb3ZlCistLSBSdW5uaW5nIHRl
c3QgY2FzZTogVGltZWxpbmVFdmVudC5UaW1lclJlbW92ZS5zZXRUaW1lb3V0CitTdGFydGluZyBD
YXB0dXJlLi4uCitTdG9wcGluZyBDYXB0dXJlLi4uCitQQVNTOiBTaG91bGQgYmUgMSBUaW1lclJl
bW92ZWQgcmVjb3JkLgorREVUQUlMUzogbnVtYmVyCitQQVNTOiBTY3JpcHRUaW1lbGluZVJlY29y
ZCBkZXRhaWxzIHNob3VsZCBiZSB0aGUgc2V0VGltZW91dCBpZGVudGlmaWVyLgorCistLSBSdW5u
aW5nIHRlc3QgY2FzZTogVGltZWxpbmVFdmVudC5UaW1lclJlbW92ZS5zZXRJbnRlcnZhbAorU3Rh
cnRpbmcgQ2FwdHVyZS4uLgorc2V0SW50ZXJ2YWwgZmlyZWQ6IDEKK3NldEludGVydmFsIGZpcmVk
OiAyCitzZXRJbnRlcnZhbCBmaXJlZDogMworU3RvcHBpbmcgQ2FwdHVyZS4uLgorUEFTUzogU2hv
dWxkIGJlIDEgVGltZXJSZW1vdmVkIHJlY29yZC4KK0RFVEFJTFM6IG51bWJlcgorUEFTUzogU2Ny
aXB0VGltZWxpbmVSZWNvcmQgZGV0YWlscyBzaG91bGQgYmUgdGhlIHNldEludGVydmFsIGlkZW50
aWZpZXIuCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBTYW5pdHlDaGVjaworUEFTUzogVGhlIHNl
dFRpbWVvdXQgaWRlbnRpZmllciBhbmQgc2V0SW50ZXJ2YWwgaWRlbnRpZmllcnMgc2hvdWxkIGJl
IGRpZmZlcmVudC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5l
L3RpbWVsaW5lLWV2ZW50LVRpbWVyUmVtb3ZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
dGltZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJSZW1vdmUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMzRlZGVhYjE1MWUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJSZW1vdmUu
aHRtbApAQCAtMCwwICsxLDg1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3BlY3Rv
ci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy90aW1lbGluZS1l
dmVudC11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3RTZXRU
aW1lb3V0KCkgeworICAgIGxldCBzZXRUaW1lb3V0SWRlbnRpZmllciA9IHNldFRpbWVvdXQoKCkg
PT4geyBUZXN0UGFnZS5hZGRSZXN1bHQoIkZBSUw6IHNldFRpbWVvdXQgZmlyZWQiKTsgfSk7Cisg
ICAgY2xlYXJUaW1lb3V0KHNldFRpbWVvdXRJZGVudGlmaWVyKTsKKyAgICByZXF1ZXN0QW5pbWF0
aW9uRnJhbWUoKCkgPT4geyBmaW5pc2hSZWNvcmRpbmcoe3NldFRpbWVvdXRJZGVudGlmaWVyfSk7
IH0pOyAvLyBEZWxheSBhIGJpdCB0byBlbnN1cmUgd2UgZ2V0IHRoZSBjbGVhciB0aW1lb3V0Lgor
fQorCitmdW5jdGlvbiB0ZXN0U2V0SW50ZXJ2YWwoKSB7CisgICAgbGV0IGNvdW50ID0gMDsKKyAg
ICBsZXQgc2V0SW50ZXJ2YWxJZGVudGlmaWVyID0gc2V0SW50ZXJ2YWwoKCkgPT4geworICAgICAg
ICBjb3VudCsrOworICAgICAgICBUZXN0UGFnZS5hZGRSZXN1bHQoInNldEludGVydmFsIGZpcmVk
OiAiICsgY291bnQpOworICAgICAgICBpZiAoY291bnQgPT09IDMpIHsKKyAgICAgICAgICAgIGNs
ZWFyVGltZW91dChzZXRJbnRlcnZhbElkZW50aWZpZXIpOworICAgICAgICAgICAgcmVxdWVzdEFu
aW1hdGlvbkZyYW1lKCgpID0+IHsgZmluaXNoUmVjb3JkaW5nKHtzZXRJbnRlcnZhbElkZW50aWZp
ZXJ9KTsgfSk7IC8vIERlbGF5IGEgYml0IHRvIGVuc3VyZSB3ZSBnZXQgdGhlIGNsZWFyIHRpbWVv
dXQuCisgICAgICAgIH0KKyAgICB9KTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgbGV0
IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJUaW1lbGluZUV2ZW50LlRp
bWVyUmVtb3ZlIik7CisKKyAgICBsZXQgdGltZW91dElkZW50aWZpZXI7CisgICAgbGV0IGludGVy
dmFsSWRlbnRpZmllcjsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTog
IlRpbWVsaW5lRXZlbnQuVGltZXJSZW1vdmUuc2V0VGltZW91dCIsCisgICAgICAgIHRlc3QocmVz
b2x2ZSwgcmVqZWN0KSB7CisgICAgICAgICAgICBjYXB0dXJlVGltZWxpbmVXaXRoU2NyaXB0KGB0
ZXN0U2V0VGltZW91dCgpYCkudGhlbigoKSA9PiB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hc3NlcnQodHlwZW9mIHBhZ2VSZWNvcmRpbmdEYXRhLnNldFRpbWVvdXRJZGVudGlmaWVy
ID09PSAibnVtYmVyIik7CisgICAgICAgICAgICAgICAgdGltZW91dElkZW50aWZpZXIgPSBwYWdl
UmVjb3JkaW5nRGF0YS5zZXRUaW1lb3V0SWRlbnRpZmllcjsKKworICAgICAgICAgICAgICAgIGxl
dCByZWNvcmRpbmcgPSBXSS50aW1lbGluZU1hbmFnZXIuYWN0aXZlUmVjb3JkaW5nOworICAgICAg
ICAgICAgICAgIGxldCBzY3JpcHRUaW1lbGluZSA9IHJlY29yZGluZy50aW1lbGluZXMuZ2V0KFdJ
LlRpbWVsaW5lUmVjb3JkLlR5cGUuU2NyaXB0KTsKKyAgICAgICAgICAgICAgICBsZXQgcmVjb3Jk
cyA9IHNjcmlwdFRpbWVsaW5lLnJlY29yZHMuZmlsdGVyKCh4KSA9PiB4LmV2ZW50VHlwZSA9PT0g
V0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlRpbWVyUmVtb3ZlZCk7CisgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZWNvcmRzLmxlbmd0aCwgMSwgIlNo
b3VsZCBiZSAxIFRpbWVyUmVtb3ZlZCByZWNvcmQuIik7CisgICAgICAgICAgICAgICAgZm9yIChs
ZXQgcmVjb3JkIG9mIHJlY29yZHMpIHsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5sb2coIkRFVEFJTFM6ICIgKyB0eXBlb2YgcmVjb3JkLmRldGFpbHMpOworICAgICAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29yZC5kZXRhaWxzLCB0aW1lb3V0
SWRlbnRpZmllciwgIlNjcmlwdFRpbWVsaW5lUmVjb3JkIGRldGFpbHMgc2hvdWxkIGJlIHRoZSBz
ZXRUaW1lb3V0IGlkZW50aWZpZXIuIik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fSkudGhlbihyZXNvbHZlLCByZWplY3QpOworICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0
ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJUaW1lbGluZUV2ZW50LlRpbWVyUmVtb3Zl
LnNldEludGVydmFsIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAgICAgICAg
ICAgIGNhcHR1cmVUaW1lbGluZVdpdGhTY3JpcHQoYHRlc3RTZXRJbnRlcnZhbCgpYCkudGhlbigo
KSA9PiB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQodHlwZW9mIHBhZ2VS
ZWNvcmRpbmdEYXRhLnNldEludGVydmFsSWRlbnRpZmllciA9PT0gIm51bWJlciIpOworICAgICAg
ICAgICAgICAgIGludGVydmFsSWRlbnRpZmllciA9IHBhZ2VSZWNvcmRpbmdEYXRhLnNldEludGVy
dmFsSWRlbnRpZmllcjsKKworICAgICAgICAgICAgICAgIGxldCByZWNvcmRpbmcgPSBXSS50aW1l
bGluZU1hbmFnZXIuYWN0aXZlUmVjb3JkaW5nOworICAgICAgICAgICAgICAgIGxldCBzY3JpcHRU
aW1lbGluZSA9IHJlY29yZGluZy50aW1lbGluZXMuZ2V0KFdJLlRpbWVsaW5lUmVjb3JkLlR5cGUu
U2NyaXB0KTsKKyAgICAgICAgICAgICAgICBsZXQgcmVjb3JkcyA9IHNjcmlwdFRpbWVsaW5lLnJl
Y29yZHMuZmlsdGVyKCh4KSA9PiB4LmV2ZW50VHlwZSA9PT0gV0kuU2NyaXB0VGltZWxpbmVSZWNv
cmQuRXZlbnRUeXBlLlRpbWVyUmVtb3ZlZCk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5leHBlY3RFcXVhbChyZWNvcmRzLmxlbmd0aCwgMSwgIlNob3VsZCBiZSAxIFRpbWVyUmVtb3Zl
ZCByZWNvcmQuIik7CisgICAgICAgICAgICAgICAgZm9yIChsZXQgcmVjb3JkIG9mIHJlY29yZHMp
IHsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkRFVEFJTFM6ICIgKyB0
eXBlb2YgcmVjb3JkLmRldGFpbHMpOworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmV4cGVjdEVxdWFsKHJlY29yZC5kZXRhaWxzLCBwYWdlUmVjb3JkaW5nRGF0YS5zZXRJbnRlcnZh
bElkZW50aWZpZXIsICJTY3JpcHRUaW1lbGluZVJlY29yZCBkZXRhaWxzIHNob3VsZCBiZSB0aGUg
c2V0SW50ZXJ2YWwgaWRlbnRpZmllci4iKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9KS50aGVuKHJlc29sdmUsIHJlamVjdCk7CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1
aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogIlNhbml0eUNoZWNrIiwKKyAgICAgICAg
dGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0
VGhhdCh0aW1lb3V0SWRlbnRpZmllciAhPT0gaW50ZXJ2YWxJZGVudGlmaWVyLCAiVGhlIHNldFRp
bWVvdXQgaWRlbnRpZmllciBhbmQgc2V0SW50ZXJ2YWwgaWRlbnRpZmllcnMgc2hvdWxkIGJlIGRp
ZmZlcmVudC4iKTsKKyAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgfQorICAgIH0pOwor
CisgICAgc3VpdGUucnVuVGVzdENhc2VzQW5kRmluaXNoKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPlRlc3RzICdUaW1lclJlbW92ZScgVGlt
ZWxpbmUgZXZlbnQgcmVjb3Jkcy48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YTc5YzgxODY3YzguLmZhMjE4Zjg4MmZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDQgQEAKKzIw
MTctMDktMTMgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBUaW1lbGluZSBzaG91bGQgc2hvdyB3aGVuIGV2ZW50cyBwcmV2ZW50
RGVmYXVsdCgpIHdhcyBjYWxsZWQgb24gYW4gZXZlbnQgb3Igbm90CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzY4MjQKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzM0MjkwOTMxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRlc3RzOiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtQ2FuY2Vs
QW5pbWF0aW9uRnJhbWUuaHRtbAorICAgICAgICAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lL3Rp
bWVsaW5lLWV2ZW50LUV2ZW50RGlzcGF0Y2guaHRtbAorICAgICAgICAgICAgICAgaW5zcGVjdG9y
L3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUZpcmVBbmltYXRpb25GcmFtZS5odG1sCisgICAgICAg
ICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtUmVxdWVzdEFuaW1hdGlv
bkZyYW1lLmh0bWwKKyAgICAgICAgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1l
dmVudC1UaW1lckZpcmUuaHRtbAorICAgICAgICAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lL3Rp
bWVsaW5lLWV2ZW50LVRpbWVySW5zdGFsbC5odG1sCisgICAgICAgICAgICAgICBpbnNwZWN0b3Iv
dGltZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJSZW1vdmUuaHRtbAorCisgICAgICAgICogZG9t
L0V2ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50VGFyZ2V0OjpmaXJlRXZl
bnRMaXN0ZW5lcnMpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRPTVdpbmRvdzo6ZGlzcGF0Y2hFdmVudCk6CisgICAgICAgIEluY2x1ZGUgZGVmYXVs
dFByZXZlbnRlZCB3aGVuIG5vdGlmeWluZyBpbnNwZWN0b3IuCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudEltcGwpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50T25XaW5kb3dJ
bXBsKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERpc3BhdGNoRXZl
bnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNw
YXRjaEV2ZW50T25XaW5kb3cpOgorICAgICAgICBQYXNzIGRlZmF1bHRQcmV2ZW50ZWQgb24gdG8g
YWdlbnQuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWREaXNwYXRjaEV2
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZExheW91
dCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRQYWludCk6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6YXBwZW5kTGF5b3V0Um9vdCk6CisgICAgICAgIChXZWJD
b3JlOjpUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmFwcGVuZERpZERpc3BhdGNoRXZlbnREYXRhKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5Lmg6CisgICAgICAgIEFw
cGVuZCBhIGJvb2xlYW4gZGVmYXVsdFByZXZlbnRlZCBwcm9wZXJ0eSBvbiB0aGUgRXZlbnREaXNw
YXRjaCB0aW1lbGluZSByZWNvcmQncyBkYXRhLgorCiAyMDE3LTA5LTExICBQZXIgQXJuZSBWb2xs
YW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2luXSBBZGQgTW9kdWxlcy9jYWNo
ZSB0byBsaXN0IG9mIGZvcndhcmRpbmcgaGVhZGVycyBmb2xkZXJzLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dFRhcmdldC5jcHAKaW5kZXggZmYzODZiYjMwYTIuLmM5ZTY5ZmQ0ZWEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudFRhcmdldC5jcHAKQEAgLTI5NCw3ICsyOTQsNyBAQCB2b2lkIEV2ZW50VGFyZ2V0Ojpm
aXJlRXZlbnRMaXN0ZW5lcnMoRXZlbnQmIGV2ZW50LCBFdmVudExpc3RlbmVyVmVjdG9yIGxpc3Rl
bmVycwogICAgIH0KIAogICAgIGlmIChjb250ZXh0SXNEb2N1bWVudCkKLSAgICAgICAgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50KHdpbGxEaXNwYXRjaEV2ZW50Q29v
a2llKTsKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50
KHdpbGxEaXNwYXRjaEV2ZW50Q29va2llLCBldmVudC5kZWZhdWx0UHJldmVudGVkKCkpOwogfQog
CiBjb25zdCBFdmVudExpc3RlbmVyVmVjdG9yJiBFdmVudFRhcmdldDo6ZXZlbnRMaXN0ZW5lcnMo
Y29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCmluZGV4IDExNjYyYzEzN2Zj
Li4yNjYxMjRiNTAzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKQEAgLTQyOSwxMCArNDI5LDEwIEBAIHZvaWQgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRIYW5kbGVFdmVudEltcGwoSW5zdHJ1bWVudGluZ0Fn
ZW50cyYgaW5zdHJ1bWVuCiAgICAgICAgIGRlYnVnZ2VyQWdlbnQtPmRpZERpc3BhdGNoQXN5bmND
YWxsKCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaEV2
ZW50SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmIGNvb2tpZSkKK3Zv
aWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50SW1wbChjb25zdCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmIGNvb2tpZSwgYm9vbCBkZWZhdWx0UHJldmVu
dGVkKQogewogICAgIGlmIChJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50ID0g
cmV0cmlldmVUaW1lbGluZUFnZW50KGNvb2tpZSkpCi0gICAgICAgIHRpbWVsaW5lQWdlbnQtPmRp
ZERpc3BhdGNoRXZlbnQoKTsKKyAgICAgICAgdGltZWxpbmVBZ2VudC0+ZGlkRGlzcGF0Y2hFdmVu
dChkZWZhdWx0UHJldmVudGVkKTsKIH0KIAogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2ll
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbERpc3BhdGNoRXZlbnRPbldpbmRvd0ltcGwo
SW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50cywgY29uc3QgRXZlbnQmIGV2
ZW50LCBET01XaW5kb3cmIHdpbmRvdykKQEAgLTQ0NywxMCArNDQ3LDEwIEBAIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbkNvb2tpZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxEaXNwYXRj
aEV2ZW50T25XaW5kCiAgICAgcmV0dXJuIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZShp
bnN0cnVtZW50aW5nQWdlbnRzLCB0aW1lbGluZUFnZW50SWQpOwogfQogCi12b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudE9uV2luZG93SW1wbChjb25zdCBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmIGNvb2tpZSkKK3ZvaWQgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50T25XaW5kb3dJbXBsKGNvbnN0IEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbkNvb2tpZSYgY29va2llLCBib29sIGRlZmF1bHRQcmV2ZW50ZWQpCiB7CiAg
ICAgaWYgKEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIHRpbWVsaW5lQWdlbnQgPSByZXRyaWV2ZVRp
bWVsaW5lQWdlbnQoY29va2llKSkKLSAgICAgICAgdGltZWxpbmVBZ2VudC0+ZGlkRGlzcGF0Y2hF
dmVudCgpOworICAgICAgICB0aW1lbGluZUFnZW50LT5kaWREaXNwYXRjaEV2ZW50KGRlZmF1bHRQ
cmV2ZW50ZWQpOwogfQogCiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjp3aWxsRXZhbHVhdGVTY3JpcHRJbXBsKEluc3RydW1lbnRpbmdBZ2Vu
dHMmIGluc3RydW1lbnRpbmdBZ2VudHMsIEZyYW1lJiBmcmFtZSwgY29uc3QgU3RyaW5nJiB1cmws
IGludCBsaW5lTnVtYmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IDI1MGZhODQyMzFhLi5jOWZkMTY1MDAwNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uaApAQCAtMTQ3LDExICsxNDcsMTEgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpZEFk
ZEV2ZW50TGlzdGVuZXIoRXZlbnRUYXJnZXQmLCBjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlw
ZSk7CiAgICAgc3RhdGljIHZvaWQgd2lsbFJlbW92ZUV2ZW50TGlzdGVuZXIoRXZlbnRUYXJnZXQm
LCBjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYsIGJvb2wgY2Fw
dHVyZSk7CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsRGlz
cGF0Y2hFdmVudChEb2N1bWVudCYsIGNvbnN0IEV2ZW50JiwgYm9vbCBoYXNFdmVudExpc3RlbmVy
cyk7Ci0gICAgc3RhdGljIHZvaWQgZGlkRGlzcGF0Y2hFdmVudChjb25zdCBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb25Db29raWUmKTsKKyAgICBzdGF0aWMgdm9pZCBkaWREaXNwYXRjaEV2ZW50KGNv
bnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYsIGJvb2wgZGVmYXVsdFByZXZlbnRl
ZCk7CiAgICAgc3RhdGljIHZvaWQgd2lsbEhhbmRsZUV2ZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmLCBjb25zdCBFdmVudCYsIGNvbnN0IFJlZ2lzdGVyZWRFdmVudExpc3RlbmVyJik7CiAgICAg
c3RhdGljIHZvaWQgZGlkSGFuZGxlRXZlbnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOwogICAg
IHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbERpc3BhdGNoRXZlbnRP
bldpbmRvdyhGcmFtZSosIGNvbnN0IEV2ZW50JiwgRE9NV2luZG93Jik7Ci0gICAgc3RhdGljIHZv
aWQgZGlkRGlzcGF0Y2hFdmVudE9uV2luZG93KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bkNvb2tpZSYpOworICAgIHN0YXRpYyB2b2lkIGRpZERpc3BhdGNoRXZlbnRPbldpbmRvdyhjb25z
dCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmLCBib29sIGRlZmF1bHRQcmV2ZW50ZWQp
OwogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbEV2YWx1YXRl
U2NyaXB0KEZyYW1lJiwgY29uc3QgU3RyaW5nJiB1cmwsIGludCBsaW5lTnVtYmVyKTsKICAgICBz
dGF0aWMgdm9pZCBkaWRFdmFsdWF0ZVNjcmlwdChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b25Db29raWUmLCBGcmFtZSYpOwogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25D
b29raWUgd2lsbEZpcmVUaW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgaW50IHRpbWVySWQp
OwpAQCAtMzIxLDkgKzMyMSw5IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbkNvb2tpZSB3aWxsRGlzcGF0Y2hFdmVudEltcGwoSW5zdHJ1bWVudGluZ0FnZW50
cyYsIERvY3VtZW50JiwgY29uc3QgRXZlbnQmLCBib29sIGhhc0V2ZW50TGlzdGVuZXJzKTsKICAg
ICBzdGF0aWMgdm9pZCB3aWxsSGFuZGxlRXZlbnRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmLCBj
b25zdCBFdmVudCYsIGNvbnN0IFJlZ2lzdGVyZWRFdmVudExpc3RlbmVyJik7CiAgICAgc3RhdGlj
IHZvaWQgZGlkSGFuZGxlRXZlbnRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmKTsKLSAgICBzdGF0
aWMgdm9pZCBkaWREaXNwYXRjaEV2ZW50SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b25Db29raWUmKTsKKyAgICBzdGF0aWMgdm9pZCBkaWREaXNwYXRjaEV2ZW50SW1wbChjb25zdCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmLCBib29sIGRlZmF1bHRQcmV2ZW50ZWQpOwog
ICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbERpc3BhdGNoRXZl
bnRPbldpbmRvd0ltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYsIGNvbnN0IEV2ZW50JiwgRE9NV2lu
ZG93Jik7Ci0gICAgc3RhdGljIHZvaWQgZGlkRGlzcGF0Y2hFdmVudE9uV2luZG93SW1wbChjb25z
dCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmKTsKKyAgICBzdGF0aWMgdm9pZCBkaWRE
aXNwYXRjaEV2ZW50T25XaW5kb3dJbXBsKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNv
b2tpZSYsIGJvb2wgZGVmYXVsdFByZXZlbnRlZCk7CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbkNvb2tpZSB3aWxsRXZhbHVhdGVTY3JpcHRJbXBsKEluc3RydW1lbnRpbmdBZ2Vu
dHMmLCBGcmFtZSYsIGNvbnN0IFN0cmluZyYgdXJsLCBpbnQgbGluZU51bWJlcik7CiAgICAgc3Rh
dGljIHZvaWQgZGlkRXZhbHVhdGVTY3JpcHRJbXBsKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbkNvb2tpZSYsIEZyYW1lJik7CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bkNvb2tpZSB3aWxsRmlyZVRpbWVySW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgaW50IHRpbWVy
SWQsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKQEAgLTczMywxMSArNzMzLDExIEBAIGlubGlu
ZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Ojp3aWxsRGlzcGF0Y2hFdmVuCiAgICAgcmV0dXJuIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNv
b2tpZSgpOwogfQogCi1pbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERp
c3BhdGNoRXZlbnQoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiBjb29raWUp
CitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERpc3BhdGNoRXZlbnQo
Y29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiBjb29raWUsIGJvb2wgZGVmYXVs
dFByZXZlbnRlZCkKIHsKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsK
ICAgICBpZiAoY29va2llLmlzVmFsaWQoKSkKLSAgICAgICAgZGlkRGlzcGF0Y2hFdmVudEltcGwo
Y29va2llKTsKKyAgICAgICAgZGlkRGlzcGF0Y2hFdmVudEltcGwoY29va2llLCBkZWZhdWx0UHJl
dmVudGVkKTsKIH0KIAogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxs
SGFuZGxlRXZlbnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgRXZlbnQm
IGV2ZW50LCBjb25zdCBSZWdpc3RlcmVkRXZlbnRMaXN0ZW5lciYgbGlzdGVuZXIpCkBAIC03NjIs
MTEgKzc2MiwxMSBAQCBpbmxpbmUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbERpc3BhdGNoRXZlbgogICAgIHJldHVybiBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb25Db29raWUoKTsKIH0KIAotaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50T25XaW5kb3coY29uc3QgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uQ29va2llJiBjb29raWUpCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmRpZERpc3BhdGNoRXZlbnRPbldpbmRvdyhjb25zdCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb25Db29raWUmIGNvb2tpZSwgYm9vbCBkZWZhdWx0UHJldmVudGVkKQogewogICAgIEZB
U1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChjb29raWUuaXNWYWxp
ZCgpKQotICAgICAgICBkaWREaXNwYXRjaEV2ZW50T25XaW5kb3dJbXBsKGNvb2tpZSk7CisgICAg
ICAgIGRpZERpc3BhdGNoRXZlbnRPbldpbmRvd0ltcGwoY29va2llLCBkZWZhdWx0UHJldmVudGVk
KTsKIH0KIAogaW5saW5lIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OndpbGxFdmFsdWF0ZVNjcmlwdChGcmFtZSYgZnJhbWUsIGNvbnN0IFN0
cmluZyYgdXJsLCBpbnQgbGluZU51bWJlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAppbmRleCAxYjUyYmZkMThjOC4uYTU5ZjA0
NTQ2YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudC5jcHAKQEAgLTMxMSw4ICszMTEsMTIgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50Ojp3aWxsRGlzcGF0Y2hFdmVudChjb25zdCBFdmVudCYgZXZlbnQsIEZyYW1lKiBmcmFt
ZSkKICAgICBwdXNoQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUV2
ZW50RGlzcGF0Y2hEYXRhKGV2ZW50KSwgVGltZWxpbmVSZWNvcmRUeXBlOjpFdmVudERpc3BhdGNo
LCBmYWxzZSwgZnJhbWUpOwogfQogCi12b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZERp
c3BhdGNoRXZlbnQoKQordm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWREaXNwYXRjaEV2
ZW50KGJvb2wgZGVmYXVsdFByZXZlbnRlZCkKIHsKKyAgICBUaW1lbGluZVJlY29yZEVudHJ5JiBl
bnRyeSA9IG1fcmVjb3JkU3RhY2subGFzdCgpOworICAgIEFTU0VSVChlbnRyeS50eXBlID09IFRp
bWVsaW5lUmVjb3JkVHlwZTo6RXZlbnREaXNwYXRjaCk7CisgICAgVGltZWxpbmVSZWNvcmRGYWN0
b3J5OjphcHBlbmREaWREaXNwYXRjaEV2ZW50RGF0YSgqZW50cnkuZGF0YS5nZXQoKSwgZGVmYXVs
dFByZXZlbnRlZCk7CisKICAgICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNv
cmRUeXBlOjpFdmVudERpc3BhdGNoKTsKIH0KIApAQCAtMzM1LDkgKzMzOSwxMCBAQCB2b2lkIElu
c3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZExheW91dChSZW5kZXJPYmplY3QmIHJvb3QpCiAgICAg
VmVjdG9yPEZsb2F0UXVhZD4gcXVhZHM7CiAgICAgcm9vdC5hYnNvbHV0ZVF1YWRzKHF1YWRzKTsK
ICAgICBpZiAocXVhZHMuc2l6ZSgpID49IDEpCi0gICAgICAgIFRpbWVsaW5lUmVjb3JkRmFjdG9y
eTo6YXBwZW5kTGF5b3V0Um9vdChlbnRyeS5kYXRhLmdldCgpLCBxdWFkc1swXSk7CisgICAgICAg
IFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6YXBwZW5kTGF5b3V0Um9vdCgqZW50cnkuZGF0YS5nZXQo
KSwgcXVhZHNbMF0pOwogICAgIGVsc2UKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisK
ICAgICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRUeXBlOjpMYXlvdXQp
OwogfQogCkBAIC0zODIsNiArMzg3LDcgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojpk
aWRQYWludChSZW5kZXJPYmplY3QmIHJlbmRlcmVyLCBjb25zdCBMYXlvdXRSZWN0JgogICAgIEZs
b2F0UXVhZCBxdWFkOwogICAgIGxvY2FsVG9QYWdlUXVhZChyZW5kZXJlciwgY2xpcFJlY3QsICZx
dWFkKTsKICAgICBlbnRyeS5kYXRhID0gVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVQYWlu
dERhdGEocXVhZCk7CisKICAgICBkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNv
cmRUeXBlOjpQYWludCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IDg1ZjA2ZGFhYWEwLi5lNGRmN2FlOGVhMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
CkBAIC0xMTksNyArMTE5LDcgQEAgcHVibGljOgogICAgIHZvaWQgd2lsbENhbGxGdW5jdGlvbihj
b25zdCBTdHJpbmcmIHNjcmlwdE5hbWUsIGludCBzY3JpcHRMaW5lLCBGcmFtZSopOwogICAgIHZv
aWQgZGlkQ2FsbEZ1bmN0aW9uKEZyYW1lKik7CiAgICAgdm9pZCB3aWxsRGlzcGF0Y2hFdmVudChj
b25zdCBFdmVudCYsIEZyYW1lKik7Ci0gICAgdm9pZCBkaWREaXNwYXRjaEV2ZW50KCk7CisgICAg
dm9pZCBkaWREaXNwYXRjaEV2ZW50KGJvb2wgZGVmYXVsdFByZXZlbnRlZCk7CiAgICAgdm9pZCB3
aWxsRXZhbHVhdGVTY3JpcHQoY29uc3QgU3RyaW5nJiwgaW50LCBGcmFtZSYpOwogICAgIHZvaWQg
ZGlkRXZhbHVhdGVTY3JpcHQoRnJhbWUmKTsKICAgICB2b2lkIGRpZEludmFsaWRhdGVMYXlvdXQo
RnJhbWUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJl
Y29yZEZhY3RvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3Jk
RmFjdG9yeS5jcHAKaW5kZXggNzRhYTdmZmU4MTMuLjYxYmVkY2ZmMTMzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcApAQCAtMTQ2
LDkgKzE0NiwxNCBAQCBSZWY8SW5zcGVjdG9yT2JqZWN0PiBUaW1lbGluZVJlY29yZEZhY3Rvcnk6
OmNyZWF0ZVBhaW50RGF0YShjb25zdCBGbG9hdFF1YWQmIHF1YQogICAgIHJldHVybiBkYXRhOwog
fQogCi12b2lkIFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6YXBwZW5kTGF5b3V0Um9vdChJbnNwZWN0
b3JPYmplY3QqIGRhdGEsIGNvbnN0IEZsb2F0UXVhZCYgcXVhZCkKK3ZvaWQgVGltZWxpbmVSZWNv
cmRGYWN0b3J5OjphcHBlbmRMYXlvdXRSb290KEluc3BlY3Rvck9iamVjdCYgZGF0YSwgY29uc3Qg
RmxvYXRRdWFkJiBxdWFkKQogewotICAgIGRhdGEtPnNldEFycmF5KEFTQ0lJTGl0ZXJhbCgicm9v
dCIpLCBjcmVhdGVRdWFkKHF1YWQpKTsKKyAgICBkYXRhLnNldEFycmF5KEFTQ0lJTGl0ZXJhbCgi
cm9vdCIpLCBjcmVhdGVRdWFkKHF1YWQpKTsKK30KKwordm9pZCBUaW1lbGluZVJlY29yZEZhY3Rv
cnk6OmFwcGVuZERpZERpc3BhdGNoRXZlbnREYXRhKEluc3BlY3Rvck9iamVjdCYgZGF0YSwgYm9v
bCBkZWZhdWx0UHJldmVudGVkKQoreworICAgIGRhdGEuc2V0Qm9vbGVhbihBU0NJSUxpdGVyYWwo
ImRlZmF1bHRQcmV2ZW50ZWQiKSwgZGVmYXVsdFByZXZlbnRlZCk7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGlu
ZVJlY29yZEZhY3RvcnkuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29y
ZEZhY3RvcnkuaAppbmRleCBkZDlkZTYwMTIwZS4uY2VmYzViMDE5MjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmgKQEAgLTYwLDcgKzYw
LDggQEAgcHVibGljOgogICAgIHN0YXRpYyBSZWY8SW5zcGVjdG9yOjpJbnNwZWN0b3JPYmplY3Q+
IGNyZWF0ZUFuaW1hdGlvbkZyYW1lRGF0YShpbnQgY2FsbGJhY2tJZCk7CiAgICAgc3RhdGljIFJl
ZjxJbnNwZWN0b3I6Okluc3BlY3Rvck9iamVjdD4gY3JlYXRlUGFpbnREYXRhKGNvbnN0IEZsb2F0
UXVhZCYpOwogCi0gICAgc3RhdGljIHZvaWQgYXBwZW5kTGF5b3V0Um9vdChJbnNwZWN0b3I6Oklu
c3BlY3Rvck9iamVjdCogZGF0YSwgY29uc3QgRmxvYXRRdWFkJik7CisgICAgc3RhdGljIHZvaWQg
YXBwZW5kTGF5b3V0Um9vdChJbnNwZWN0b3I6Okluc3BlY3Rvck9iamVjdCYgZGF0YSwgY29uc3Qg
RmxvYXRRdWFkJik7CisgICAgc3RhdGljIHZvaWQgYXBwZW5kRGlkRGlzcGF0Y2hFdmVudERhdGEo
SW5zcGVjdG9yOjpJbnNwZWN0b3JPYmplY3QmIGRhdGEsIGJvb2wgZGVmYXVsdFByZXZlbnRlZCk7
CiAKIHByaXZhdGU6CiAgICAgVGltZWxpbmVSZWNvcmRGYWN0b3J5KCkgeyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5jcHAKaW5kZXggY2IxNjM5ODZjODMuLjkyZjNkYzFhZDBhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuY3BwCkBAIC0yMDAyLDcgKzIwMDIsNyBAQCBib29sIERPTVdpbmRvdzo6
ZGlzcGF0Y2hFdmVudChFdmVudCYgZXZlbnQsIEV2ZW50VGFyZ2V0KiB0YXJnZXQpCiAKICAgICBi
b29sIHJlc3VsdCA9IGZpcmVFdmVudExpc3RlbmVycyhldmVudCk7CiAKLSAgICBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZERpc3BhdGNoRXZlbnRPbldpbmRvdyhjb29raWUpOworICAgIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudE9uV2luZG93KGNvb2tpZSwg
ZXZlbnQuZGVmYXVsdFByZXZlbnRlZCgpKTsKIAogICAgIHJldHVybiByZXN1bHQ7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL0NoYW5nZUxvZwppbmRleCBkMTNmMGIzMTNjMi4uOTg5OTFkOWIwZTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE3LTA5LTEzICBKb3NlcGggUGVj
b3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogVGlt
ZWxpbmUgc2hvdWxkIHNob3cgd2hlbiBldmVudHMgcHJldmVudERlZmF1bHQoKSB3YXMgY2FsbGVk
IG9uIGFuIGV2ZW50IG9yIG5vdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTc2ODI0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNDI5MDkzMT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIExvY2FsaXph
dGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qczoKKyAgICAgICAgTmV3IHN0cmluZy4K
KworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGltZWxpbmVNYW5hZ2VyLmpz
OgorICAgICAgICAoV0kuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5fcHJvY2Vzc1JlY29yZCk6
CisgICAgICAgIEluY2x1ZGUgdGhlIHdob2xlIGRhdGEgb2JqZWN0IGFzIGV4dHJhIGRldGFpbHMu
CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9TY3JpcHRUaW1lbGluZVJlY29yZC5q
czoKKyAgICAgICAgKFdJLlNjcmlwdFRpbWVsaW5lUmVjb3JkKToKKyAgICAgICAgKFdJLlNjcmlw
dFRpbWVsaW5lUmVjb3JkLnByb3RvdHlwZS5nZXQgZXh0cmFEZXRhaWxzKToKKyAgICAgICAgV2hv
bGVzYWxlIGNvcHkgb2YgdGhlIGV4dHJhIGRhdGEgaW5zdGVhZCBvZiBqdXN0IGEgc2luZ2xlIHBy
b3BlcnR5LgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHREZXRhaWxzVGlt
ZWxpbmVWaWV3LmpzOgorICAgICAgICAoV0kuU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldyk6Cisg
ICAgICAgIEdpdmUgdGhlIG5hbWUgY29sdW1uIG1vcmUgaW5pdGlhbCBzcGFjZSwgdGhlcmUgaXMg
c3RpbGwgZXh0cmEgc3BhY2UKKyAgICAgICAgYWZ0ZXIgdGhpcyBhZGp1c3RtZW50IGJ1dCBuYW1l
IGlzIGNvbWZvcnRhYmx5IGxhcmdlciAoYW5kIHRoZSBtb3N0CisgICAgICAgIGxpa2VseSB0byBi
ZSBleHBhbmRlZCkuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFRpbWVs
aW5lRGF0YUdyaWROb2RlLmpzOgorICAgICAgICAoV0kuU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5v
ZGUucHJvdG90eXBlLmdldCBzdWJ0aXRsZSk6CisgICAgICAgIEluY2x1ZGUgImRlZmF1bHQgcHJl
dmVudGVkIiBhcyB0aGUgZXZlbnQncyBzdWJ0aXRsZSBpZiBpdCB3YXMgcHJldmVudGVkLgorCisg
ICAgICAgICogVXNlckludGVyZmFjZS9Qcm90b2NvbC9JbnNwZWN0b3JCYWNrZW5kLmpzOgorICAg
ICAgICAoSW5zcGVjdG9yQmFja2VuZC5BZ2VudC5wcm90b3R5cGUuZGlzcGF0Y2hFdmVudCk6Cisg
ICAgICAgIChJbnNwZWN0b3JCYWNrZW5kLkFnZW50KToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1Rlc3QuaHRtbDoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Rlc3QvVGVzdC5qczoKKyAgICAg
ICAgKFdJLmxvYWRlZCk6CisgICAgICAgIEFkZCB0aGUgU2NyaXB0UHJvZmlsZXJPYnNlcnZlciB0
byB0ZXN0cyBzaW5jZSBpdCBpcyBvbiBieSBkZWZhdWx0IGZvciBUaW1lbGluZXMuCisKIDIwMTct
MDktMTEgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBBZGQgRXhwZXJpbWVudGFsIHNldHRpbmcgZm9yIG5ldyBOZXR3b3JrIHRh
YgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHBy
b2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRp
b25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggNjJjMzI0MmZiN2IuLjEyZmZi
MzMwZDdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9l
bi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9M
b2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKQEAgLTk4NCw2ICs5ODQs
NyBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJaLUluZGV4Il0gPSAiWi1JbmRleCI7CiBsb2NhbGl6ZWRT
dHJpbmdzWyJab29tOiJdID0gIlpvb206IjsKIGxvY2FsaXplZFN0cmluZ3NbImNvbXB1dGVkIl0g
PSAiY29tcHV0ZWQiOwogbG9jYWxpemVkU3RyaW5nc1siZGVmYXVsdCJdID0gImRlZmF1bHQiOwor
bG9jYWxpemVkU3RyaW5nc1siZGVmYXVsdCBwcmV2ZW50ZWQiXSA9ICJkZWZhdWx0IHByZXZlbnRl
ZCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJmb3IgY2hhbmdlcyB0byB0YWtlIGVmZmVjdCJdID0gImZv
ciBjaGFuZ2VzIHRvIHRha2UgZWZmZWN0IjsKIGxvY2FsaXplZFN0cmluZ3NbImtleSJdID0gImtl
eSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJsaW5lICJdID0gImxpbmUgIjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFu
YWdlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJz
L1RpbWVsaW5lTWFuYWdlci5qcwppbmRleCA5ZTE5MzMxODI2Ny4uMGIwNTgxOTE2MjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1Rp
bWVsaW5lTWFuYWdlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9Db250cm9sbGVycy9UaW1lbGluZU1hbmFnZXIuanMKQEAgLTU2Myw3ICs1NjMsNyBAQCBXSS5U
aW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QK
ICAgICAgICAgICAgICAgICByZWNvcmQgPSBuZXcgV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQoV0ku
U2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlRpbWVyRmlyZWQsIHN0YXJ0VGltZSwgZW5k
VGltZSwgY2FsbEZyYW1lcywgc291cmNlQ29kZUxvY2F0aW9uLCBwYXJlbnRSZWNvcmRQYXlsb2Fk
LmRhdGEudGltZXJJZCwgcHJvZmlsZURhdGEpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICAgICAgY2FzZSBUaW1lbGluZUFnZW50LkV2ZW50VHlwZS5FdmVudERpc3BhdGNoOgotICAg
ICAgICAgICAgICAgIHJlY29yZCA9IG5ldyBXSS5TY3JpcHRUaW1lbGluZVJlY29yZChXSS5TY3Jp
cHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuRXZlbnREaXNwYXRjaGVkLCBzdGFydFRpbWUsIGVu
ZFRpbWUsIGNhbGxGcmFtZXMsIHNvdXJjZUNvZGVMb2NhdGlvbiwgcGFyZW50UmVjb3JkUGF5bG9h
ZC5kYXRhLnR5cGUsIHByb2ZpbGVEYXRhKTsKKyAgICAgICAgICAgICAgICByZWNvcmQgPSBuZXcg
V0kuU2NyaXB0VGltZWxpbmVSZWNvcmQoV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBl
LkV2ZW50RGlzcGF0Y2hlZCwgc3RhcnRUaW1lLCBlbmRUaW1lLCBjYWxsRnJhbWVzLCBzb3VyY2VD
b2RlTG9jYXRpb24sIHBhcmVudFJlY29yZFBheWxvYWQuZGF0YS50eXBlLCBwcm9maWxlRGF0YSwg
cGFyZW50UmVjb3JkUGF5bG9hZC5kYXRhKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgICAgIGNhc2UgVGltZWxpbmVBZ2VudC5FdmVudFR5cGUuRmlyZUFuaW1hdGlvbkZyYW1lOgog
ICAgICAgICAgICAgICAgIHJlY29yZCA9IG5ldyBXSS5TY3JpcHRUaW1lbGluZVJlY29yZChXSS5T
Y3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuQW5pbWF0aW9uRnJhbWVGaXJlZCwgc3RhcnRU
aW1lLCBlbmRUaW1lLCBjYWxsRnJhbWVzLCBzb3VyY2VDb2RlTG9jYXRpb24sIHBhcmVudFJlY29y
ZFBheWxvYWQuZGF0YS5pZCwgcHJvZmlsZURhdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdFRpbWVsaW5lUmVjb3JkLmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdFRpbWVsaW5l
UmVjb3JkLmpzCmluZGV4IDVkODdmOThjMzZlLi41ODQzNzU3ZDc3YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdFRpbWVsaW5lUmVj
b3JkLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9T
Y3JpcHRUaW1lbGluZVJlY29yZC5qcwpAQCAtMjUsNyArMjUsNyBAQAogCiBXSS5TY3JpcHRUaW1l
bGluZVJlY29yZCA9IGNsYXNzIFNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4dGVuZHMgV0kuVGltZWxp
bmVSZWNvcmQKIHsKLSAgICBjb25zdHJ1Y3RvcihldmVudFR5cGUsIHN0YXJ0VGltZSwgZW5kVGlt
ZSwgY2FsbEZyYW1lcywgc291cmNlQ29kZUxvY2F0aW9uLCBkZXRhaWxzLCBwcm9maWxlUGF5bG9h
ZCkKKyAgICBjb25zdHJ1Y3RvcihldmVudFR5cGUsIHN0YXJ0VGltZSwgZW5kVGltZSwgY2FsbEZy
YW1lcywgc291cmNlQ29kZUxvY2F0aW9uLCBkZXRhaWxzLCBwcm9maWxlUGF5bG9hZCwgZXh0cmFE
ZXRhaWxzKQogICAgIHsKICAgICAgICAgc3VwZXIoV0kuVGltZWxpbmVSZWNvcmQuVHlwZS5TY3Jp
cHQsIHN0YXJ0VGltZSwgZW5kVGltZSwgY2FsbEZyYW1lcywgc291cmNlQ29kZUxvY2F0aW9uKTsK
IApAQCAtMzgsNiArMzgsNyBAQCBXSS5TY3JpcHRUaW1lbGluZVJlY29yZCA9IGNsYXNzIFNjcmlw
dFRpbWVsaW5lUmVjb3JkIGV4dGVuZHMgV0kuVGltZWxpbmVSZWNvcmQKICAgICAgICAgdGhpcy5f
ZGV0YWlscyA9IGRldGFpbHMgfHwgIiI7CiAgICAgICAgIHRoaXMuX3Byb2ZpbGVQYXlsb2FkID0g
cHJvZmlsZVBheWxvYWQgfHwgbnVsbDsKICAgICAgICAgdGhpcy5fcHJvZmlsZSA9IG51bGw7Cisg
ICAgICAgIHRoaXMuX2V4dHJhRGV0YWlscyA9IGV4dHJhRGV0YWlscyB8fCBudWxsOwogCiAgICAg
ICAgIC8vIENPTVBBVElCSUxJVFkoaU9TIDkpOiBCZWZvcmUgdGhlIFNjcmlwdFByb2ZpbGVyQWdl
bnQgd2UgZGlkIG5vdCBoYXZlIHNhbXBsZSBkYXRhLiBSZXR1cm4gTmFOIHRvIG1hdGNoIG9sZCBi
ZWhhdmlvci4KICAgICAgICAgaWYgKCF3aW5kb3cuU2NyaXB0UHJvZmlsZXJBZ2VudCkKQEAgLTUw
LDE1ICs1MSwxMCBAQCBXSS5TY3JpcHRUaW1lbGluZVJlY29yZCA9IGNsYXNzIFNjcmlwdFRpbWVs
aW5lUmVjb3JkIGV4dGVuZHMgV0kuVGltZWxpbmVSZWNvcmQKIAogICAgIC8vIFB1YmxpYwogCi0g
ICAgZ2V0IGV2ZW50VHlwZSgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fZXZlbnRUeXBl
OwotICAgIH0KLQotICAgIGdldCBkZXRhaWxzKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlz
Ll9kZXRhaWxzOwotICAgIH0KKyAgICBnZXQgZXZlbnRUeXBlKCkgeyByZXR1cm4gdGhpcy5fZXZl
bnRUeXBlOyB9CisgICAgZ2V0IGRldGFpbHMoKSB7IHJldHVybiB0aGlzLl9kZXRhaWxzOyB9Cisg
ICAgZ2V0IGV4dHJhRGV0YWlscygpIHsgcmV0dXJuIHRoaXMuX2V4dHJhRGV0YWlsczsgfQorICAg
IGdldCBjYWxsQ291bnRPclNhbXBsZXMoKSB7IHJldHVybiB0aGlzLl9jYWxsQ291bnRPclNhbXBs
ZXM7IH0KIAogICAgIGdldCBwcm9maWxlKCkKICAgICB7CkBAIC02NiwxMSArNjIsNiBAQCBXSS5T
Y3JpcHRUaW1lbGluZVJlY29yZCA9IGNsYXNzIFNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4dGVuZHMg
V0kuVGltZWxpbmVSZWNvcmQKICAgICAgICAgcmV0dXJuIHRoaXMuX3Byb2ZpbGU7CiAgICAgfQog
Ci0gICAgZ2V0IGNhbGxDb3VudE9yU2FtcGxlcygpCi0gICAgewotICAgICAgICByZXR1cm4gdGhp
cy5fY2FsbENvdW50T3JTYW1wbGVzOwotICAgIH0KLQogICAgIGlzR2FyYmFnZUNvbGxlY3Rpb24o
KQogICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMuX2V2ZW50VHlwZSA9PT0gV0kuU2NyaXB0VGlt
ZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkdhcmJhZ2VDb2xsZWN0ZWQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9JbnNwZWN0b3JCYWNrZW5k
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvSW5zcGVj
dG9yQmFja2VuZC5qcwppbmRleCBlYjc2NjUxMGZjYy4uMGVlOWVhYTMzZWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL0luc3BlY3RvckJh
Y2tlbmQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9j
b2wvSW5zcGVjdG9yQmFja2VuZC5qcwpAQCAtMjg1LDYgKzI4NSwxMSBAQCBJbnNwZWN0b3JCYWNr
ZW5kLkFnZW50ID0gY2xhc3MgSW5zcGVjdG9yQmFja2VuZEFnZW50CiAKICAgICBkaXNwYXRjaEV2
ZW50KGV2ZW50TmFtZSwgZXZlbnRBcmd1bWVudHMpCiAgICAgeworICAgICAgICBpZiAoIXRoaXMu
X2Rpc3BhdGNoZXIpIHsKKyAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIk5vIGRvbWFpbiBkaXNw
YXRjaGVyIHJlZ2lzdGVyZWQgZm9yIGRvbWFpbiAnIiArIHRoaXMuX2RvbWFpbk5hbWUgKyAiJyIp
OworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisKICAgICAgICAgaWYgKCEo
ZXZlbnROYW1lIGluIHRoaXMuX2Rpc3BhdGNoZXIpKSB7CiAgICAgICAgICAgICBjb25zb2xlLmVy
cm9yKCJQcm90b2NvbCBFcnJvcjogQXR0ZW1wdGVkIHRvIGRpc3BhdGNoIGFuIHVuaW1wbGVtZW50
ZWQgbWV0aG9kICciICsgdGhpcy5fZG9tYWluTmFtZSArICIuIiArIGV2ZW50TmFtZSArICInIik7
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9UZXN0Lmh0bWwgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9UZXN0Lmh0bWwKaW5kZXggZDU1YTI5MGQzMmUuLjU3Zjk2OTRmNWFhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0Lmh0bWwKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC5odG1sCkBAIC04Miw2
ICs4Miw3IEBACiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL1BhZ2VPYnNlcnZlci5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL1JlbW90ZU9iamVjdC5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL1J1bnRpbWVPYnNlcnZlci5qcyI+PC9zY3Jp
cHQ+CisgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL1NjcmlwdFByb2ZpbGVyT2JzZXJ2ZXIuanMi
Pjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9UaW1lbGluZU9ic2VydmVyLmpz
Ij48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUHJvdG9jb2wvV29ya2VyT2JzZXJ2ZXIuanMi
Pjwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9UZXN0L1Rlc3QuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9U
ZXN0L1Rlc3QuanMKaW5kZXggNmYzMWI1ZDI0OGQuLjVmZTA0MDg2Y2MwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0L1Rlc3QuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC9UZXN0LmpzCkBAIC0zOCwxMSAr
MzgsMTIgQEAgV0kubG9hZGVkID0gZnVuY3Rpb24oKQogICAgIEluc3BlY3RvckJhY2tlbmQucmVn
aXN0ZXJJbnNwZWN0b3JEaXNwYXRjaGVyKG5ldyBXSS5JbnNwZWN0b3JPYnNlcnZlcik7CiAgICAg
SW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlclBhZ2VEaXNwYXRjaGVyKG5ldyBXSS5QYWdlT2JzZXJ2
ZXIpOwogICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb25zb2xlRGlzcGF0Y2hlcihuZXcg
V0kuQ29uc29sZU9ic2VydmVyKTsKLSAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRE9NRGlz
cGF0Y2hlcihuZXcgV0kuRE9NT2JzZXJ2ZXIpOwogICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0
ZXJOZXR3b3JrRGlzcGF0Y2hlcihuZXcgV0kuTmV0d29ya09ic2VydmVyKTsKKyAgICBJbnNwZWN0
b3JCYWNrZW5kLnJlZ2lzdGVyRE9NRGlzcGF0Y2hlcihuZXcgV0kuRE9NT2JzZXJ2ZXIpOwogICAg
IEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEZWJ1Z2dlckRpc3BhdGNoZXIobmV3IFdJLkRlYnVn
Z2VyT2JzZXJ2ZXIpOwogICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJIZWFwRGlzcGF0Y2hl
cihuZXcgV0kuSGVhcE9ic2VydmVyKTsKICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRE9N
U3RvcmFnZURpc3BhdGNoZXIobmV3IFdJLkRPTVN0b3JhZ2VPYnNlcnZlcik7CisgICAgSW5zcGVj
dG9yQmFja2VuZC5yZWdpc3RlclNjcmlwdFByb2ZpbGVyRGlzcGF0Y2hlcihuZXcgV0kuU2NyaXB0
UHJvZmlsZXJPYnNlcnZlcik7CiAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlclRpbWVsaW5l
RGlzcGF0Y2hlcihuZXcgV0kuVGltZWxpbmVPYnNlcnZlcik7CiAgICAgSW5zcGVjdG9yQmFja2Vu
ZC5yZWdpc3RlckNTU0Rpc3BhdGNoZXIobmV3IFdJLkNTU09ic2VydmVyKTsKICAgICBJbnNwZWN0
b3JCYWNrZW5kLnJlZ2lzdGVyUnVudGltZURpc3BhdGNoZXIobmV3IFdJLlJ1bnRpbWVPYnNlcnZl
cik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9TY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldy5qcwppbmRleCBkYWFm
ZTEwZThmOS4uOTNlZjI0Yjc3YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdERldGFpbHNUaW1lbGluZVZpZXcuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0RGV0YWlsc1RpbWVs
aW5lVmlldy5qcwpAQCAtMzQsNyArMzQsNyBAQCBXSS5TY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3
ID0gY2xhc3MgU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldyBleHRlbmRzIFdJLlRpbWVsaQogICAg
ICAgICBsZXQgY29sdW1ucyA9IHtuYW1lOiB7fSwgbG9jYXRpb246IHt9LCBjYWxsQ291bnQ6IHt9
LCBzdGFydFRpbWU6IHt9LCB0b3RhbFRpbWU6IHt9LCBzZWxmVGltZToge30sIGF2ZXJhZ2VUaW1l
OiB7fX07CiAKICAgICAgICAgY29sdW1ucy5uYW1lLnRpdGxlID0gV0kuVUlTdHJpbmcoIk5hbWUi
KTsKLSAgICAgICAgY29sdW1ucy5uYW1lLndpZHRoID0gIjEwJSI7CisgICAgICAgIGNvbHVtbnMu
bmFtZS53aWR0aCA9ICIzMCUiOwogICAgICAgICBjb2x1bW5zLm5hbWUuaWNvbiA9IHRydWU7CiAg
ICAgICAgIGNvbHVtbnMubmFtZS5kaXNjbG9zdXJlID0gdHJ1ZTsKICAgICAgICAgY29sdW1ucy5u
YW1lLmxvY2tlZCA9IHRydWU7CkBAIC02OSw3ICs2OSw3IEBAIFdJLlNjcmlwdERldGFpbHNUaW1l
bGluZVZpZXcgPSBjbGFzcyBTY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3IGV4dGVuZHMgV0kuVGlt
ZWxpCiAgICAgICAgIGNvbHVtbnMuYXZlcmFnZVRpbWUud2lkdGggPSAiMTAlIjsKICAgICAgICAg
Y29sdW1ucy5hdmVyYWdlVGltZS5hbGlnbmVkID0gInJpZ2h0IjsKIAotICAgICAgICBmb3IgKHZh
ciBjb2x1bW4gaW4gY29sdW1ucykKKyAgICAgICAgZm9yIChsZXQgY29sdW1uIGluIGNvbHVtbnMp
CiAgICAgICAgICAgICBjb2x1bW5zW2NvbHVtbl0uc29ydGFibGUgPSB0cnVlOwogCiAgICAgICAg
IHRoaXMuX2RhdGFHcmlkID0gbmV3IFdJLlNjcmlwdFRpbWVsaW5lRGF0YUdyaWQoY29sdW1ucyk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9T
Y3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlLmpzCmluZGV4IDA1ZDlh
ZDE0YzNiLi5mYTJkMGQwNjBhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVEYXRh
R3JpZE5vZGUuanMKQEAgLTEwMCw2ICsxMDAsOSBAQCBXSS5TY3JpcHRUaW1lbGluZURhdGFHcmlk
Tm9kZSA9IGNsYXNzIFNjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlIGV4dGVuZHMgV0kuVGltZQog
ICAgICAgICAgICAgICAgIHRoaXMuX3N1YnRpdGxlID0gV0kuVUlTdHJpbmcoIiVzIGludGVydmFs
IikuZm9ybWF0KHRpbWVvdXRTdHJpbmcpOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAg
ICAgIHRoaXMuX3N1YnRpdGxlID0gV0kuVUlTdHJpbmcoIiVzIGRlbGF5IikuZm9ybWF0KHRpbWVv
dXRTdHJpbmcpOworICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX3JlY29yZC5ldmVudFR5cGUgPT09
IFdJLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5FdmVudERpc3BhdGNoZWQpIHsKKyAg
ICAgICAgICAgIGlmICh0aGlzLl9yZWNvcmQuZXh0cmFEZXRhaWxzICYmIHRoaXMuX3JlY29yZC5l
eHRyYURldGFpbHMuZGVmYXVsdFByZXZlbnRlZCkKKyAgICAgICAgICAgICAgICB0aGlzLl9zdWJ0
aXRsZSA9IFdJLlVJU3RyaW5nKCJkZWZhdWx0IHByZXZlbnRlZCIpOwogICAgICAgICB9CiAKICAg
ICAgICAgcmV0dXJuIHRoaXMuX3N1YnRpdGxlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>320724</attachid>
            <date>2017-09-13 21:07:41 -0700</date>
            <delta_ts>2017-09-14 10:52:29 -0700</delta_ts>
            <desc>[PATCH] For Landing</desc>
            <filename>for-landing-1.patch</filename>
            <type>text/plain</type>
            <size>60122</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwMDUzZDExOGYzZC4uMDg3NWU2ZTRmNzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAor
MjAxNy0wOS0xMyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IFRpbWVsaW5lIHNob3VsZCBzaG93IHdoZW4gZXZlbnRzIHByZXZl
bnREZWZhdWx0KCkgd2FzIGNhbGxlZCBvbiBhbiBldmVudCBvciBub3QKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjgyNAorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMzQyOTA5MzE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGV2aW4gUm91c3NvLgor
CisgICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5lL3Jlc291cmNlcy90aW1lbGluZS1ldmVudC11
dGlsaXRpZXMuanM6IEFkZGVkLgorICAgICAgICAoVGVzdFBhZ2UucmVnaXN0ZXJJbml0aWFsaXpl
ci53aW5kb3cuY2FwdHVyZVRpbWVsaW5lV2l0aFNjcmlwdCk6CisgICAgICAgIChUZXN0UGFnZS5y
ZWdpc3RlckluaXRpYWxpemVyKToKKyAgICAgICAgKGZpbmlzaFJlY29yZGluZyk6CisgICAgICAg
IEhlbHBlciBjb2RlIGZvciBjcmVhdGluZyBhIHJlY29yZGluZyBmcm9tIGEgZnVuY3Rpb24uCisK
KyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtQ2FuY2VsQW5pbWF0
aW9uRnJhbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxp
bmUvdGltZWxpbmUtZXZlbnQtQ2FuY2VsQW5pbWF0aW9uRnJhbWUuaHRtbDogQWRkZWQuCisgICAg
ICAgICogaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUV2ZW50RGlzcGF0Y2gtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUt
ZXZlbnQtRXZlbnREaXNwYXRjaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvdGlt
ZWxpbmUvdGltZWxpbmUtZXZlbnQtRmlyZUFuaW1hdGlvbkZyYW1lLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUZpcmVBbmlt
YXRpb25GcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGlt
ZWxpbmUtZXZlbnQtUmVxdWVzdEFuaW1hdGlvbkZyYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVJlcXVlc3RBbmltYXRp
b25GcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxp
bmUtZXZlbnQtVGltZXJGaXJlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVj
dG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVRpbWVyRmlyZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJJbnN0YWxsLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2
ZW50LVRpbWVySW5zdGFsbC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxp
bmUvdGltZWxpbmUtZXZlbnQtVGltZXJSZW1vdmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJSZW1vdmUuaHRtbDog
QWRkZWQuCisgICAgICAgIFRlc3RzIGZvciBkaWZmZXJlbnQsIHNwZWNpZmljLCBUaW1lbGluZSBk
b21haW4gRXZlbnRUeXBlcy4KKyAgICAgICAgVGhpcyBpbmNsdWRlcyBFdmVudERpc3BhdGNoIHdp
dGggaXRzIG5ldyAiZGVmYXVsdFByZXZlbnRlZCIgZGV0YWlscyBkYXRhLgorCiAyMDE3LTA5LTEz
ICBNYXR0IExld2lzICA8amxld2lzM0BhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
cm9sbGluZyBvdXQgcjIyMTk3Ni4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90
aW1lbGluZS9yZXNvdXJjZXMvdGltZWxpbmUtZXZlbnQtdXRpbGl0aWVzLmpzIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3RpbWVsaW5lL3Jlc291cmNlcy90aW1lbGluZS1ldmVudC11dGlsaXRpZXMu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmJlMjEyNzVkZWVmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3Jlc291cmNl
cy90aW1lbGluZS1ldmVudC11dGlsaXRpZXMuanMKQEAgLTAsMCArMSwyMyBAQAorVGVzdFBhZ2Uu
cmVnaXN0ZXJJbml0aWFsaXplcigoKSA9PiB7CisgICAgd2luZG93LnBhZ2VSZWNvcmRpbmdEYXRh
ID0gbnVsbDsKKworICAgIHdpbmRvdy5jYXB0dXJlVGltZWxpbmVXaXRoU2NyaXB0ID0gZnVuY3Rp
b24oZXhwcmVzc2lvbikgeworICAgICAgICBwYWdlUmVjb3JkaW5nRGF0YSA9IG51bGw7CisKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlN0YXJ0aW5nIENhcHR1cmUuLi4iKTsKKyAgICAgICAg
Y29uc3QgbmV3UmVjb3JkaW5nID0gdHJ1ZTsKKyAgICAgICAgV0kudGltZWxpbmVNYW5hZ2VyLnN0
YXJ0Q2FwdHVyaW5nKG5ld1JlY29yZGluZyk7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVh
dGVJblBhZ2UoZXhwcmVzc2lvbik7CisgICAgICAgIEluc3BlY3RvclRlc3QuYXdhaXRFdmVudCgi
RmluaXNoUmVjb3JkaW5nIikudGhlbigoZXZlbnQpID0+IHsKKyAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QubG9nKCJTdG9wcGluZyBDYXB0dXJlLi4uIik7CisgICAgICAgICAgICBwYWdlUmVjb3Jk
aW5nRGF0YSA9IGV2ZW50LmRhdGE7CisgICAgICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuc3Rv
cENhcHR1cmluZygpOworICAgICAgICB9KTsKKworICAgICAgICByZXR1cm4gV0kudGltZWxpbmVN
YW5hZ2VyLmF3YWl0RXZlbnQoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0b3Bw
ZWQpOworICAgIH0KK30pOworCitmdW5jdGlvbiBmaW5pc2hSZWNvcmRpbmcoZGF0YSkgeworICAg
IFRlc3RQYWdlLmRpc3BhdGNoRXZlbnRUb0Zyb250ZW5kKCJGaW5pc2hSZWNvcmRpbmciLCBkYXRh
KTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGlu
ZS1ldmVudC1DYW5jZWxBbmltYXRpb25GcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtQ2FuY2VsQW5pbWF0aW9uRnJhbWUtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi40YTczNDcx
YzAwYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90
aW1lbGluZS1ldmVudC1DYW5jZWxBbmltYXRpb25GcmFtZS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMSBAQAorVGVzdHMgJ0NhbmNlbEFuaW1hdGlvbkZyYW1lJyBUaW1lbGluZSBldmVudCByZWNv
cmRzLgorCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogVGltZWxpbmVFdmVudC5DYW5jZWxBbmlt
YXRpb25GcmFtZQorLS0gUnVubmluZyB0ZXN0IGNhc2U6IFRpbWVsaW5lRXZlbnQuQ2FuY2VsQW5p
bWF0aW9uRnJhbWUucmVxdWVzdEFuaW1hdGlvbkZyYW1lCitTdGFydGluZyBDYXB0dXJlLi4uCitT
dG9wcGluZyBDYXB0dXJlLi4uCitQQVNTOiBTaG91bGQgYmUgMSBBbmltYXRpb25GcmFtZUNhbmNl
bGVkIHJlY29yZC4KK0RFVEFJTFM6IG51bWJlcgorUEFTUzogU2NyaXB0VGltZWxpbmVSZWNvcmQg
ZGV0YWlscyBzaG91bGQgYmUgdGhlIHJlcXVlc3RBbmltYXRpb25GcmFtZSBpZGVudGlmaWVyLgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZl
bnQtQ2FuY2VsQW5pbWF0aW9uRnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1l
bGluZS90aW1lbGluZS1ldmVudC1DYW5jZWxBbmltYXRpb25GcmFtZS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5lZjYxMzBmNTNiOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1DYW5jZWxB
bmltYXRpb25GcmFtZS5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNv
dXJjZXMvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3Vy
Y2VzL3RpbWVsaW5lLWV2ZW50LXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVu
Y3Rpb24gdGVzdFJlcXVlc3RBbmltYXRpb25GcmFtZSgpIHsKKyAgICBsZXQgcmVxdWVzdEFuaW1h
dGlvbkZyYW1lSWRlbnRpZmllciA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7IFRlc3RQ
YWdlLmFkZFJlc3VsdCgiRkFJTDogcmVxdWVzdEFuaW1hdGlvbkZyYW1lIGZpcmVkIik7IH0pOwor
ICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHJlcXVlc3RBbmltYXRpb25GcmFtZUlkZW50aWZpZXIp
OworICAgIHNldFRpbWVvdXQoKCkgPT4geyBmaW5pc2hSZWNvcmRpbmcoe3JlcXVlc3RBbmltYXRp
b25GcmFtZUlkZW50aWZpZXJ9KTsgfSk7IC8vIERlbGF5IGEgYml0IHRvIGVuc3VyZSB3ZSBnZXQg
dGhlIGNsZWFyIGFuaW1hdGlvbiBmcmFtZS4KK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAg
bGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJUaW1lbGluZUV2ZW50
LkNhbmNlbEFuaW1hdGlvbkZyYW1lIik7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAg
ICAgIG5hbWU6ICJUaW1lbGluZUV2ZW50LkNhbmNlbEFuaW1hdGlvbkZyYW1lLnJlcXVlc3RBbmlt
YXRpb25GcmFtZSIsCisgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAgICAg
ICBjYXB0dXJlVGltZWxpbmVXaXRoU2NyaXB0KGB0ZXN0UmVxdWVzdEFuaW1hdGlvbkZyYW1lKClg
KS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0eXBl
b2YgcGFnZVJlY29yZGluZ0RhdGEucmVxdWVzdEFuaW1hdGlvbkZyYW1lSWRlbnRpZmllciA9PT0g
Im51bWJlciIpOworCisgICAgICAgICAgICAgICAgbGV0IHJlY29yZGluZyA9IFdJLnRpbWVsaW5l
TWFuYWdlci5hY3RpdmVSZWNvcmRpbmc7CisgICAgICAgICAgICAgICAgbGV0IHNjcmlwdFRpbWVs
aW5lID0gcmVjb3JkaW5nLnRpbWVsaW5lcy5nZXQoV0kuVGltZWxpbmVSZWNvcmQuVHlwZS5TY3Jp
cHQpOworICAgICAgICAgICAgICAgIGxldCByZWNvcmRzID0gc2NyaXB0VGltZWxpbmUucmVjb3Jk
cy5maWx0ZXIoKHgpID0+IHguZXZlbnRUeXBlID09PSBXSS5TY3JpcHRUaW1lbGluZVJlY29yZC5F
dmVudFR5cGUuQW5pbWF0aW9uRnJhbWVDYW5jZWxlZCk7CisgICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5leHBlY3RFcXVhbChyZWNvcmRzLmxlbmd0aCwgMSwgIlNob3VsZCBiZSAxIEFuaW1h
dGlvbkZyYW1lQ2FuY2VsZWQgcmVjb3JkLiIpOworICAgICAgICAgICAgICAgIGZvciAobGV0IHJl
Y29yZCBvZiByZWNvcmRzKSB7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9n
KCJERVRBSUxTOiAiICsgdHlwZW9mIHJlY29yZC5kZXRhaWxzKTsKKyAgICAgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZWNvcmQuZGV0YWlscywgcGFnZVJlY29yZGlu
Z0RhdGEucmVxdWVzdEFuaW1hdGlvbkZyYW1lSWRlbnRpZmllciwgIlNjcmlwdFRpbWVsaW5lUmVj
b3JkIGRldGFpbHMgc2hvdWxkIGJlIHRoZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgaWRlbnRpZmll
ci4iKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9KS50aGVuKHJlc29sdmUsIHJl
amVjdCk7CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZp
bmlzaCgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+
Cis8cD5UZXN0cyAnQ2FuY2VsQW5pbWF0aW9uRnJhbWUnIFRpbWVsaW5lIGV2ZW50IHJlY29yZHMu
PC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUV2ZW50RGlzcGF0Y2gtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUV2ZW50RGlzcGF0Y2gt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5mZjEx
YzQzZDhlZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGlu
ZS90aW1lbGluZS1ldmVudC1FdmVudERpc3BhdGNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM3
IEBACitUZXN0cyAnRXZlbnREaXNwYXRjaCcgVGltZWxpbmUgZXZlbnQgcmVjb3Jkcy4KKworIAor
Cis9PSBSdW5uaW5nIHRlc3Qgc3VpdGU6IFRpbWVsaW5lRXZlbnQuRXZlbnREaXNwYXRjaAorLS0g
UnVubmluZyB0ZXN0IGNhc2U6IFRpbWVsaW5lRXZlbnQuRXZlbnREaXNwYXRjaC5IYW5kbGVyLlJl
Z3VsYXIKK1N0YXJ0aW5nIENhcHR1cmUuLi4KK2NsaWNrIGhhbmRsZXIgZmlyZWQKK1N0b3BwaW5n
IENhcHR1cmUuLi4KK1BBU1M6IFNob3VsZCBiZSAxIEV2ZW50RGlzcGF0Y2hlZCByZWNvcmQuCitE
RVRBSUxTOiB7InR5cGUiOiJjbGljayIsImRlZmF1bHRQcmV2ZW50ZWQiOmZhbHNlfQorUEFTUzog
U2NyaXB0VGltZWxpbmVSZWNvcmQgZXh0cmFEZXRhaWxzIHNob3VsZCBzaG93IGRlZmF1bHQgd2Fz
IG5vdCBwcmV2ZW50ZWQuCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBUaW1lbGluZUV2ZW50LkV2
ZW50RGlzcGF0Y2guSGFuZGxlci5EZWZhdWx0UHJldmVudGVkCitTdGFydGluZyBDYXB0dXJlLi4u
CitjbGljayBoYW5kbGVyIGZpcmVkLCB3aWxsIHByZXZlbnQgZGVmYXVsdAorU3RvcHBpbmcgQ2Fw
dHVyZS4uLgorUEFTUzogU2hvdWxkIGJlIDEgRXZlbnREaXNwYXRjaGVkIHJlY29yZC4KK0RFVEFJ
TFM6IHsidHlwZSI6ImNsaWNrIiwiZGVmYXVsdFByZXZlbnRlZCI6dHJ1ZX0KK1BBU1M6IFNjcmlw
dFRpbWVsaW5lUmVjb3JkIGV4dHJhRGV0YWlscyBzaG91bGQgc2hvdyBkZWZhdWx0IHdhcyBwcmV2
ZW50ZWQuCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBUaW1lbGluZUV2ZW50LkV2ZW50RGlzcGF0
Y2guQXR0cmlidXRlSGFuZGxlci5SZWd1bGFyCitTdGFydGluZyBDYXB0dXJlLi4uCitiMSBvbmNs
aWNrIGF0dHJpYnV0ZSBoYW5kbGVyIGZpcmVkCitTdG9wcGluZyBDYXB0dXJlLi4uCitQQVNTOiBT
aG91bGQgYmUgMSBFdmVudERpc3BhdGNoZWQgcmVjb3JkLgorREVUQUlMUzogeyJ0eXBlIjoiY2xp
Y2siLCJkZWZhdWx0UHJldmVudGVkIjpmYWxzZX0KK1BBU1M6IFNjcmlwdFRpbWVsaW5lUmVjb3Jk
IGV4dHJhRGV0YWlscyBzaG91bGQgc2hvdyBkZWZhdWx0IHdhcyBub3QgcHJldmVudGVkLgorCist
LSBSdW5uaW5nIHRlc3QgY2FzZTogVGltZWxpbmVFdmVudC5FdmVudERpc3BhdGNoLkF0dHJpYnV0
ZUhhbmRsZXIuRGVmYXVsdFByZXZlbnRlZAorU3RhcnRpbmcgQ2FwdHVyZS4uLgorYjIgb25jbGlj
ayBhdHRyaWJ1dGUgaGFuZGxlciBmaXJlZCwgd2lsbCBwcmV2ZW50IGRlZmF1bHQKK1N0b3BwaW5n
IENhcHR1cmUuLi4KK1BBU1M6IFNob3VsZCBiZSAxIEV2ZW50RGlzcGF0Y2hlZCByZWNvcmQuCitE
RVRBSUxTOiB7InR5cGUiOiJjbGljayIsImRlZmF1bHRQcmV2ZW50ZWQiOnRydWV9CitQQVNTOiBT
Y3JpcHRUaW1lbGluZVJlY29yZCBleHRyYURldGFpbHMgc2hvdWxkIHNob3cgZGVmYXVsdCB3YXMg
cHJldmVudGVkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUv
dGltZWxpbmUtZXZlbnQtRXZlbnREaXNwYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUV2ZW50RGlzcGF0Y2guaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNTMwNzFjMjYzYjMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtRXZlbnREaXNw
YXRjaC5odG1sCkBAIC0wLDAgKzEsMTEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2lu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy90aW1l
bGluZS1ldmVudC11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRl
c3RDbGlja0V2ZW50SGFuZGxlcih7cHJldmVudERlZmF1bHR9KSB7CisgICAgbGV0IGJ1dHRvbiA9
IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9u
IikpOworICAgIGJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIChldmVudCkgPT4gewor
ICAgICAgICBUZXN0UGFnZS5hZGRSZXN1bHQoImNsaWNrIGhhbmRsZXIgZmlyZWQiICsgKHByZXZl
bnREZWZhdWx0ID8gIiwgd2lsbCBwcmV2ZW50IGRlZmF1bHQiIDogIiIpKTsKKyAgICAgICAgc2V0
VGltZW91dCgoKSA9PiB7IGZpbmlzaFJlY29yZGluZyh7cHJldmVudERlZmF1bHR9KTsgfSk7Cisg
ICAgICAgIGlmIChwcmV2ZW50RGVmYXVsdCkKKyAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZh
dWx0KCk7CisgICAgfSk7CisKKyAgICBidXR0b24uZGlzcGF0Y2hFdmVudChuZXcgTW91c2VFdmVu
dCgiY2xpY2siLCB7YnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZX0pKTsKK30KKworZnVu
Y3Rpb24gdGVzdENsaWNrRXZlbnRBdHRyaWJ1dGVIYW5kbGVyKGlkLCB7cHJldmVudERlZmF1bHR9
KSB7CisgICAgbGV0IGJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsKKyAgICBi
dXR0b24uZGlzcGF0Y2hFdmVudChuZXcgTW91c2VFdmVudCgiY2xpY2siLCB7YnViYmxlczogdHJ1
ZSwgY2FuY2VsYWJsZTogdHJ1ZX0pKTsKKyAgICBzZXRUaW1lb3V0KCgpID0+IHsgZmluaXNoUmVj
b3JkaW5nKHtwcmV2ZW50RGVmYXVsdH0pOyB9KTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7Cisg
ICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJUaW1lbGluZUV2
ZW50LkV2ZW50RGlzcGF0Y2giKTsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAg
bmFtZTogIlRpbWVsaW5lRXZlbnQuRXZlbnREaXNwYXRjaC5IYW5kbGVyLlJlZ3VsYXIiLAorICAg
ICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICAgICAgY2FwdHVyZVRpbWVsaW5l
V2l0aFNjcmlwdChgdGVzdENsaWNrRXZlbnRIYW5kbGVyKHtwcmV2ZW50RGVmYXVsdDogZmFsc2V9
KWApLnRoZW4oKCkgPT4geworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHR5
cGVvZiBwYWdlUmVjb3JkaW5nRGF0YS5wcmV2ZW50RGVmYXVsdCA9PT0gImJvb2xlYW4iKTsKKwor
ICAgICAgICAgICAgICAgIGxldCByZWNvcmRpbmcgPSBXSS50aW1lbGluZU1hbmFnZXIuYWN0aXZl
UmVjb3JkaW5nOworICAgICAgICAgICAgICAgIGxldCBzY3JpcHRUaW1lbGluZSA9IHJlY29yZGlu
Zy50aW1lbGluZXMuZ2V0KFdJLlRpbWVsaW5lUmVjb3JkLlR5cGUuU2NyaXB0KTsKKyAgICAgICAg
ICAgICAgICBsZXQgcmVjb3JkcyA9IHNjcmlwdFRpbWVsaW5lLnJlY29yZHMuZmlsdGVyKCh4KSA9
PiB4LmV2ZW50VHlwZSA9PT0gV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkV2ZW50
RGlzcGF0Y2hlZCk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChy
ZWNvcmRzLmxlbmd0aCwgMSwgIlNob3VsZCBiZSAxIEV2ZW50RGlzcGF0Y2hlZCByZWNvcmQuIik7
CisgICAgICAgICAgICAgICAgZm9yIChsZXQgcmVjb3JkIG9mIHJlY29yZHMpIHsKKyAgICAgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkRFVEFJTFM6ICIgKyBKU09OLnN0cmluZ2lm
eShyZWNvcmQuZXh0cmFEZXRhaWxzKSk7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZXhwZWN0RXF1YWwocmVjb3JkLmV4dHJhRGV0YWlscy5kZWZhdWx0UHJldmVudGVkLCBwYWdl
UmVjb3JkaW5nRGF0YS5wcmV2ZW50RGVmYXVsdCwgIlNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4dHJh
RGV0YWlscyBzaG91bGQgc2hvdyBkZWZhdWx0IHdhcyBub3QgcHJldmVudGVkLiIpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTsKKyAgICAg
ICAgfQorICAgIH0pOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAi
VGltZWxpbmVFdmVudC5FdmVudERpc3BhdGNoLkhhbmRsZXIuRGVmYXVsdFByZXZlbnRlZCIsCisg
ICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAgICAgICBjYXB0dXJlVGltZWxp
bmVXaXRoU2NyaXB0KGB0ZXN0Q2xpY2tFdmVudEhhbmRsZXIoe3ByZXZlbnREZWZhdWx0OiB0cnVl
fSlgKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0
eXBlb2YgcGFnZVJlY29yZGluZ0RhdGEucHJldmVudERlZmF1bHQgPT09ICJib29sZWFuIik7CisK
KyAgICAgICAgICAgICAgICBsZXQgcmVjb3JkaW5nID0gV0kudGltZWxpbmVNYW5hZ2VyLmFjdGl2
ZVJlY29yZGluZzsKKyAgICAgICAgICAgICAgICBsZXQgc2NyaXB0VGltZWxpbmUgPSByZWNvcmRp
bmcudGltZWxpbmVzLmdldChXSS5UaW1lbGluZVJlY29yZC5UeXBlLlNjcmlwdCk7CisgICAgICAg
ICAgICAgICAgbGV0IHJlY29yZHMgPSBzY3JpcHRUaW1lbGluZS5yZWNvcmRzLmZpbHRlcigoeCkg
PT4geC5ldmVudFR5cGUgPT09IFdJLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5FdmVu
dERpc3BhdGNoZWQpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwo
cmVjb3Jkcy5sZW5ndGgsIDEsICJTaG91bGQgYmUgMSBFdmVudERpc3BhdGNoZWQgcmVjb3JkLiIp
OworICAgICAgICAgICAgICAgIGZvciAobGV0IHJlY29yZCBvZiByZWNvcmRzKSB7CisgICAgICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJERVRBSUxTOiAiICsgSlNPTi5zdHJpbmdp
ZnkocmVjb3JkLmV4dHJhRGV0YWlscykpOworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV4cGVjdEVxdWFsKHJlY29yZC5leHRyYURldGFpbHMuZGVmYXVsdFByZXZlbnRlZCwgcGFn
ZVJlY29yZGluZ0RhdGEucHJldmVudERlZmF1bHQsICJTY3JpcHRUaW1lbGluZVJlY29yZCBleHRy
YURldGFpbHMgc2hvdWxkIHNob3cgZGVmYXVsdCB3YXMgcHJldmVudGVkLiIpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0pLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTsKKyAgICAgICAg
fQorICAgIH0pOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiVGlt
ZWxpbmVFdmVudC5FdmVudERpc3BhdGNoLkF0dHJpYnV0ZUhhbmRsZXIuUmVndWxhciIsCisgICAg
ICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAgICAgICBjYXB0dXJlVGltZWxpbmVX
aXRoU2NyaXB0KGB0ZXN0Q2xpY2tFdmVudEF0dHJpYnV0ZUhhbmRsZXIoImIxIiwge3ByZXZlbnRE
ZWZhdWx0OiBmYWxzZX0pYCkudGhlbigoKSA9PiB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hc3NlcnQodHlwZW9mIHBhZ2VSZWNvcmRpbmdEYXRhLnByZXZlbnREZWZhdWx0ID09PSAi
Ym9vbGVhbiIpOworCisgICAgICAgICAgICAgICAgbGV0IHJlY29yZGluZyA9IFdJLnRpbWVsaW5l
TWFuYWdlci5hY3RpdmVSZWNvcmRpbmc7CisgICAgICAgICAgICAgICAgbGV0IHNjcmlwdFRpbWVs
aW5lID0gcmVjb3JkaW5nLnRpbWVsaW5lcy5nZXQoV0kuVGltZWxpbmVSZWNvcmQuVHlwZS5TY3Jp
cHQpOworICAgICAgICAgICAgICAgIGxldCByZWNvcmRzID0gc2NyaXB0VGltZWxpbmUucmVjb3Jk
cy5maWx0ZXIoKHgpID0+IHguZXZlbnRUeXBlID09PSBXSS5TY3JpcHRUaW1lbGluZVJlY29yZC5F
dmVudFR5cGUuRXZlbnREaXNwYXRjaGVkKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmV4cGVjdEVxdWFsKHJlY29yZHMubGVuZ3RoLCAxLCAiU2hvdWxkIGJlIDEgRXZlbnREaXNwYXRj
aGVkIHJlY29yZC4iKTsKKyAgICAgICAgICAgICAgICBmb3IgKGxldCByZWNvcmQgb2YgcmVjb3Jk
cykgeworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiREVUQUlMUzogIiAr
IEpTT04uc3RyaW5naWZ5KHJlY29yZC5leHRyYURldGFpbHMpKTsKKyAgICAgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZWNvcmQuZXh0cmFEZXRhaWxzLmRlZmF1bHRQ
cmV2ZW50ZWQsIHBhZ2VSZWNvcmRpbmdEYXRhLnByZXZlbnREZWZhdWx0LCAiU2NyaXB0VGltZWxp
bmVSZWNvcmQgZXh0cmFEZXRhaWxzIHNob3VsZCBzaG93IGRlZmF1bHQgd2FzIG5vdCBwcmV2ZW50
ZWQuIik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSkudGhlbihyZXNvbHZlLCBy
ZWplY3QpOworICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7Cisg
ICAgICAgIG5hbWU6ICJUaW1lbGluZUV2ZW50LkV2ZW50RGlzcGF0Y2guQXR0cmlidXRlSGFuZGxl
ci5EZWZhdWx0UHJldmVudGVkIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAg
ICAgICAgICAgIGNhcHR1cmVUaW1lbGluZVdpdGhTY3JpcHQoYHRlc3RDbGlja0V2ZW50QXR0cmli
dXRlSGFuZGxlcigiYjIiLCB7cHJldmVudERlZmF1bHQ6IHRydWV9KWApLnRoZW4oKCkgPT4gewor
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHR5cGVvZiBwYWdlUmVjb3JkaW5n
RGF0YS5wcmV2ZW50RGVmYXVsdCA9PT0gImJvb2xlYW4iKTsKKworICAgICAgICAgICAgICAgIGxl
dCByZWNvcmRpbmcgPSBXSS50aW1lbGluZU1hbmFnZXIuYWN0aXZlUmVjb3JkaW5nOworICAgICAg
ICAgICAgICAgIGxldCBzY3JpcHRUaW1lbGluZSA9IHJlY29yZGluZy50aW1lbGluZXMuZ2V0KFdJ
LlRpbWVsaW5lUmVjb3JkLlR5cGUuU2NyaXB0KTsKKyAgICAgICAgICAgICAgICBsZXQgcmVjb3Jk
cyA9IHNjcmlwdFRpbWVsaW5lLnJlY29yZHMuZmlsdGVyKCh4KSA9PiB4LmV2ZW50VHlwZSA9PT0g
V0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkV2ZW50RGlzcGF0Y2hlZCk7CisgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZWNvcmRzLmxlbmd0aCwgMSwg
IlNob3VsZCBiZSAxIEV2ZW50RGlzcGF0Y2hlZCByZWNvcmQuIik7CisgICAgICAgICAgICAgICAg
Zm9yIChsZXQgcmVjb3JkIG9mIHJlY29yZHMpIHsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5sb2coIkRFVEFJTFM6ICIgKyBKU09OLnN0cmluZ2lmeShyZWNvcmQuZXh0cmFEZXRh
aWxzKSk7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVj
b3JkLmV4dHJhRGV0YWlscy5kZWZhdWx0UHJldmVudGVkLCBwYWdlUmVjb3JkaW5nRGF0YS5wcmV2
ZW50RGVmYXVsdCwgIlNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4dHJhRGV0YWlscyBzaG91bGQgc2hv
dyBkZWZhdWx0IHdhcyBwcmV2ZW50ZWQuIik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSkudGhlbihyZXNvbHZlLCByZWplY3QpOworICAgICAgICB9CisgICAgfSk7CisKKyAgICBz
dWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+VGVzdHMgJ0V2ZW50RGlzcGF0Y2gnIFRpbWVsaW5l
IGV2ZW50IHJlY29yZHMuPC9wPgorPGJ1dHRvbiBpZD0iYjEiIG9uY2xpY2s9IlRlc3RQYWdlLmFk
ZFJlc3VsdCgnYjEgb25jbGljayBhdHRyaWJ1dGUgaGFuZGxlciBmaXJlZCcpOyByZXR1cm4gdHJ1
ZSI+PC9idXR0b24+Cis8YnV0dG9uIGlkPSJiMiIgb25jbGljaz0iVGVzdFBhZ2UuYWRkUmVzdWx0
KCdiMiBvbmNsaWNrIGF0dHJpYnV0ZSBoYW5kbGVyIGZpcmVkLCB3aWxsIHByZXZlbnQgZGVmYXVs
dCcpOyByZXR1cm4gZmFsc2UiPjwvYnV0dG9uPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUZpcmVBbmlt
YXRpb25GcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUv
dGltZWxpbmUtZXZlbnQtRmlyZUFuaW1hdGlvbkZyYW1lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYjI2NGE1ZGE3NzAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtRmlyZUFu
aW1hdGlvbkZyYW1lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUZXN0cyAnRmlyZUFu
aW1hdGlvbkZyYW1lJyBUaW1lbGluZSBldmVudCByZWNvcmRzLgorCisKKz09IFJ1bm5pbmcgdGVz
dCBzdWl0ZTogVGltZWxpbmVFdmVudC5GaXJlQW5pbWF0aW9uRnJhbWUKKy0tIFJ1bm5pbmcgdGVz
dCBjYXNlOiBUaW1lbGluZUV2ZW50LkZpcmVBbmltYXRpb25GcmFtZS5yZXF1ZXN0QW5pbWF0aW9u
RnJhbWUKK1N0YXJ0aW5nIENhcHR1cmUuLi4KK3JlcXVlc3RBbmltYXRpb25GcmFtZSBmaXJlZAor
U3RvcHBpbmcgQ2FwdHVyZS4uLgorUEFTUzogU2hvdWxkIGJlIDEgQW5pbWF0aW9uRnJhbWVGaXJl
ZCByZWNvcmQuCitERVRBSUxTOiBudW1iZXIKK1BBU1M6IFNjcmlwdFRpbWVsaW5lUmVjb3JkIGRl
dGFpbHMgc2hvdWxkIGJlIHRoZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgaWRlbnRpZmllci4KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50
LUZpcmVBbmltYXRpb25GcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5l
L3RpbWVsaW5lLWV2ZW50LUZpcmVBbmltYXRpb25GcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwLi42ZWIyMWYwNjQxMQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1GaXJlQW5pbWF0aW9u
RnJhbWUuaHRtbApAQCAtMCwwICsxLDQzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2lu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy90aW1l
bGluZS1ldmVudC11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRl
c3RSZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKSB7CisgICAgbGV0IHJlcXVlc3RBbmltYXRpb25GcmFt
ZUlkZW50aWZpZXIgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICBUZXN0
UGFnZS5hZGRSZXN1bHQoInJlcXVlc3RBbmltYXRpb25GcmFtZSBmaXJlZCIpOworICAgICAgICBm
aW5pc2hSZWNvcmRpbmcoe3JlcXVlc3RBbmltYXRpb25GcmFtZUlkZW50aWZpZXJ9KTsKKyAgICB9
KTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVz
dC5jcmVhdGVBc3luY1N1aXRlKCJUaW1lbGluZUV2ZW50LkZpcmVBbmltYXRpb25GcmFtZSIpOwor
CisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiVGltZWxpbmVFdmVudC5G
aXJlQW5pbWF0aW9uRnJhbWUucmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwKKyAgICAgICAgdGVzdChy
ZXNvbHZlLCByZWplY3QpIHsKKyAgICAgICAgICAgIGNhcHR1cmVUaW1lbGluZVdpdGhTY3JpcHQo
YHRlc3RSZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKWApLnRoZW4oKCkgPT4geworICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHR5cGVvZiBwYWdlUmVjb3JkaW5nRGF0YS5yZXF1ZXN0
QW5pbWF0aW9uRnJhbWVJZGVudGlmaWVyID09PSAibnVtYmVyIik7CisKKyAgICAgICAgICAgICAg
ICBsZXQgcmVjb3JkaW5nID0gV0kudGltZWxpbmVNYW5hZ2VyLmFjdGl2ZVJlY29yZGluZzsKKyAg
ICAgICAgICAgICAgICBsZXQgc2NyaXB0VGltZWxpbmUgPSByZWNvcmRpbmcudGltZWxpbmVzLmdl
dChXSS5UaW1lbGluZVJlY29yZC5UeXBlLlNjcmlwdCk7CisgICAgICAgICAgICAgICAgbGV0IHJl
Y29yZHMgPSBzY3JpcHRUaW1lbGluZS5yZWNvcmRzLmZpbHRlcigoeCkgPT4geC5ldmVudFR5cGUg
PT09IFdJLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5BbmltYXRpb25GcmFtZUZpcmVk
KTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29yZHMubGVu
Z3RoLCAxLCAiU2hvdWxkIGJlIDEgQW5pbWF0aW9uRnJhbWVGaXJlZCByZWNvcmQuIik7CisgICAg
ICAgICAgICAgICAgZm9yIChsZXQgcmVjb3JkIG9mIHJlY29yZHMpIHsKKyAgICAgICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkRFVEFJTFM6ICIgKyB0eXBlb2YgcmVjb3JkLmRldGFp
bHMpOworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29y
ZC5kZXRhaWxzLCBwYWdlUmVjb3JkaW5nRGF0YS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZGVudGlm
aWVyLCAiU2NyaXB0VGltZWxpbmVSZWNvcmQgZGV0YWlscyBzaG91bGQgYmUgdGhlIHJlcXVlc3RB
bmltYXRpb25GcmFtZSBpZGVudGlmaWVyLiIpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0pLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTsKKyAgICAgICAgfQorICAgIH0pOworCisgICAg
c3VpdGUucnVuVGVzdENhc2VzQW5kRmluaXNoKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPlRlc3RzICdGaXJlQW5pbWF0aW9uRnJhbWUnIFRp
bWVsaW5lIGV2ZW50IHJlY29yZHMuPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVJlcXVlc3RBbmlt
YXRpb25GcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUv
dGltZWxpbmUtZXZlbnQtUmVxdWVzdEFuaW1hdGlvbkZyYW1lLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMDEyZmQzM2U4NDQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtUmVx
dWVzdEFuaW1hdGlvbkZyYW1lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUZXN0cyAn
UmVxdWVzdEFuaW1hdGlvbkZyYW1lJyBUaW1lbGluZSBldmVudCByZWNvcmRzLgorCisKKz09IFJ1
bm5pbmcgdGVzdCBzdWl0ZTogVGltZWxpbmVFdmVudC5SZXF1ZXN0QW5pbWF0aW9uRnJhbWUKKy0t
IFJ1bm5pbmcgdGVzdCBjYXNlOiBUaW1lbGluZUV2ZW50LlJlcXVlc3RBbmltYXRpb25GcmFtZS5y
ZXF1ZXN0QW5pbWF0aW9uRnJhbWUKK1N0YXJ0aW5nIENhcHR1cmUuLi4KK3JlcXVlc3RBbmltYXRp
b25GcmFtZSBmaXJlZAorU3RvcHBpbmcgQ2FwdHVyZS4uLgorUEFTUzogU2hvdWxkIGJlIDEgQW5p
bWF0aW9uRnJhbWVSZXF1ZXN0ZWQgcmVjb3JkLgorREVUQUlMUzogbnVtYmVyCitQQVNTOiBTY3Jp
cHRUaW1lbGluZVJlY29yZCBkZXRhaWxzIHNob3VsZCBiZSB0aGUgcmVxdWVzdEFuaW1hdGlvbkZy
YW1lIGlkZW50aWZpZXIuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1l
bGluZS90aW1lbGluZS1ldmVudC1SZXF1ZXN0QW5pbWF0aW9uRnJhbWUuaHRtbCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1SZXF1ZXN0QW5pbWF0aW9uRnJh
bWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNjRiNmJhNmY4
OTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGlt
ZWxpbmUtZXZlbnQtUmVxdWVzdEFuaW1hdGlvbkZyYW1lLmh0bWwKQEAgLTAsMCArMSw0MyBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvdGltZWxpbmUtZXZlbnQtdXRpbGl0aWVzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0UmVxdWVzdEFuaW1hdGlvbkZyYW1lKCkgewor
ICAgIGxldCByZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZGVudGlmaWVyID0gcmVxdWVzdEFuaW1hdGlv
bkZyYW1lKCgpID0+IHsKKyAgICAgICAgVGVzdFBhZ2UuYWRkUmVzdWx0KCJyZXF1ZXN0QW5pbWF0
aW9uRnJhbWUgZmlyZWQiKTsKKyAgICAgICAgZmluaXNoUmVjb3JkaW5nKHtyZXF1ZXN0QW5pbWF0
aW9uRnJhbWVJZGVudGlmaWVyfSk7CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQorewor
ICAgIGxldCBzdWl0ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiVGltZWxpbmVF
dmVudC5SZXF1ZXN0QW5pbWF0aW9uRnJhbWUiKTsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsK
KyAgICAgICAgbmFtZTogIlRpbWVsaW5lRXZlbnQuUmVxdWVzdEFuaW1hdGlvbkZyYW1lLnJlcXVl
c3RBbmltYXRpb25GcmFtZSIsCisgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAg
ICAgICAgICBjYXB0dXJlVGltZWxpbmVXaXRoU2NyaXB0KGB0ZXN0UmVxdWVzdEFuaW1hdGlvbkZy
YW1lKClgKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2Vy
dCh0eXBlb2YgcGFnZVJlY29yZGluZ0RhdGEucmVxdWVzdEFuaW1hdGlvbkZyYW1lSWRlbnRpZmll
ciA9PT0gIm51bWJlciIpOworCisgICAgICAgICAgICAgICAgbGV0IHJlY29yZGluZyA9IFdJLnRp
bWVsaW5lTWFuYWdlci5hY3RpdmVSZWNvcmRpbmc7CisgICAgICAgICAgICAgICAgbGV0IHNjcmlw
dFRpbWVsaW5lID0gcmVjb3JkaW5nLnRpbWVsaW5lcy5nZXQoV0kuVGltZWxpbmVSZWNvcmQuVHlw
ZS5TY3JpcHQpOworICAgICAgICAgICAgICAgIGxldCByZWNvcmRzID0gc2NyaXB0VGltZWxpbmUu
cmVjb3Jkcy5maWx0ZXIoKHgpID0+IHguZXZlbnRUeXBlID09PSBXSS5TY3JpcHRUaW1lbGluZVJl
Y29yZC5FdmVudFR5cGUuQW5pbWF0aW9uRnJhbWVSZXF1ZXN0ZWQpOworICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVjb3Jkcy5sZW5ndGgsIDEsICJTaG91bGQgYmUg
MSBBbmltYXRpb25GcmFtZVJlcXVlc3RlZCByZWNvcmQuIik7CisgICAgICAgICAgICAgICAgZm9y
IChsZXQgcmVjb3JkIG9mIHJlY29yZHMpIHsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5sb2coIkRFVEFJTFM6ICIgKyB0eXBlb2YgcmVjb3JkLmRldGFpbHMpOworICAgICAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29yZC5kZXRhaWxzLCBwYWdl
UmVjb3JkaW5nRGF0YS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZGVudGlmaWVyLCAiU2NyaXB0VGlt
ZWxpbmVSZWNvcmQgZGV0YWlscyBzaG91bGQgYmUgdGhlIHJlcXVlc3RBbmltYXRpb25GcmFtZSBp
ZGVudGlmaWVyLiIpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pLnRoZW4ocmVz
b2x2ZSwgcmVqZWN0KTsKKyAgICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUucnVuVGVzdENh
c2VzQW5kRmluaXNoKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KKzxwPlRlc3RzICdSZXF1ZXN0QW5pbWF0aW9uRnJhbWUnIFRpbWVsaW5lIGV2ZW50
IHJlY29yZHMuPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVRpbWVyRmlyZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJGaXJl
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZTQ3
MjBhOGMwYTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxp
bmUvdGltZWxpbmUtZXZlbnQtVGltZXJGaXJlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI5IEBA
CitUZXN0cyAnVGltZXJGaXJlJyBUaW1lbGluZSBldmVudCByZWNvcmRzLgorCisKKz09IFJ1bm5p
bmcgdGVzdCBzdWl0ZTogVGltZWxpbmVFdmVudC5UaW1lckZpcmUKKy0tIFJ1bm5pbmcgdGVzdCBj
YXNlOiBUaW1lbGluZUV2ZW50LlRpbWVyRmlyZS5zZXRUaW1lb3V0CitTdGFydGluZyBDYXB0dXJl
Li4uCitzZXRUaW1lb3V0IGZpcmVkCitTdG9wcGluZyBDYXB0dXJlLi4uCitQQVNTOiBTaG91bGQg
YmUgMSBUaW1lckZpcmVkIHJlY29yZC4KK0RFVEFJTFM6IG51bWJlcgorUEFTUzogU2NyaXB0VGlt
ZWxpbmVSZWNvcmQgZGV0YWlscyBzaG91bGQgYmUgdGhlIHNldFRpbWVvdXQgaWRlbnRpZmllci4K
KworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFRpbWVsaW5lRXZlbnQuVGltZXJGaXJlLnNldEludGVy
dmFsCitTdGFydGluZyBDYXB0dXJlLi4uCitzZXRJbnRlcnZhbCBmaXJlZDogMQorc2V0SW50ZXJ2
YWwgZmlyZWQ6IDIKK3NldEludGVydmFsIGZpcmVkOiAzCitTdG9wcGluZyBDYXB0dXJlLi4uCitQ
QVNTOiBTaG91bGQgYmUgMyBUaW1lckZpcmVkIHJlY29yZHMuCitERVRBSUxTOiBudW1iZXIKK1BB
U1M6IFNjcmlwdFRpbWVsaW5lUmVjb3JkIGRldGFpbHMgc2hvdWxkIGJlIHRoZSBzZXRJbnRlcnZh
bCBpZGVudGlmaWVyLgorREVUQUlMUzogbnVtYmVyCitQQVNTOiBTY3JpcHRUaW1lbGluZVJlY29y
ZCBkZXRhaWxzIHNob3VsZCBiZSB0aGUgc2V0SW50ZXJ2YWwgaWRlbnRpZmllci4KK0RFVEFJTFM6
IG51bWJlcgorUEFTUzogU2NyaXB0VGltZWxpbmVSZWNvcmQgZGV0YWlscyBzaG91bGQgYmUgdGhl
IHNldEludGVydmFsIGlkZW50aWZpZXIuCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBTYW5pdHlD
aGVjaworUEFTUzogVGhlIHNldFRpbWVvdXQgaWRlbnRpZmllciBhbmQgc2V0SW50ZXJ2YWwgaWRl
bnRpZmllcnMgc2hvdWxkIGJlIGRpZmZlcmVudC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVRpbWVyRmlyZS5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVRpbWVyRmlyZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi44OTcwZGU2OTRjZAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVu
dC1UaW1lckZpcmUuaHRtbApAQCAtMCwwICsxLDg2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3Vy
Y2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy90aW1lbGluZS1ldmVudC11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0
aW9uIHRlc3RTZXRUaW1lb3V0KCkgeworICAgIGxldCBzZXRUaW1lb3V0SWRlbnRpZmllciA9IHNl
dFRpbWVvdXQoKCkgPT4geworICAgICAgICBUZXN0UGFnZS5hZGRSZXN1bHQoInNldFRpbWVvdXQg
ZmlyZWQiKTsKKyAgICAgICAgZmluaXNoUmVjb3JkaW5nKHtzZXRUaW1lb3V0SWRlbnRpZmllcn0p
OworICAgIH0pOworfQorCitmdW5jdGlvbiB0ZXN0U2V0SW50ZXJ2YWwoKSB7CisgICAgbGV0IGNv
dW50ID0gMDsKKyAgICBsZXQgc2V0SW50ZXJ2YWxJZGVudGlmaWVyID0gc2V0SW50ZXJ2YWwoKCkg
PT4geworICAgICAgICBjb3VudCsrOworICAgICAgICBUZXN0UGFnZS5hZGRSZXN1bHQoInNldElu
dGVydmFsIGZpcmVkOiAiICsgY291bnQpOworICAgICAgICBpZiAoY291bnQgPT09IDMpIHsKKyAg
ICAgICAgICAgIGNsZWFySW50ZXJ2YWwoc2V0SW50ZXJ2YWxJZGVudGlmaWVyKTsKKyAgICAgICAg
ICAgIGZpbmlzaFJlY29yZGluZyh7c2V0SW50ZXJ2YWxJZGVudGlmaWVyfSk7CisgICAgICAgIH0K
KyAgICB9KTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgbGV0IHN1aXRlID0gSW5zcGVj
dG9yVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJUaW1lbGluZUV2ZW50LlRpbWVyRmlyZSIpOworCisg
ICAgbGV0IHRpbWVvdXRJZGVudGlmaWVyOworICAgIGxldCBpbnRlcnZhbElkZW50aWZpZXI7CisK
KyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJUaW1lbGluZUV2ZW50LlRp
bWVyRmlyZS5zZXRUaW1lb3V0IiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAg
ICAgICAgICAgIGNhcHR1cmVUaW1lbGluZVdpdGhTY3JpcHQoYHRlc3RTZXRUaW1lb3V0KClgKS50
aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0eXBlb2Yg
cGFnZVJlY29yZGluZ0RhdGEuc2V0VGltZW91dElkZW50aWZpZXIgPT09ICJudW1iZXIiKTsKKyAg
ICAgICAgICAgICAgICB0aW1lb3V0SWRlbnRpZmllciA9IHBhZ2VSZWNvcmRpbmdEYXRhLnNldFRp
bWVvdXRJZGVudGlmaWVyOworCisgICAgICAgICAgICAgICAgbGV0IHJlY29yZGluZyA9IFdJLnRp
bWVsaW5lTWFuYWdlci5hY3RpdmVSZWNvcmRpbmc7CisgICAgICAgICAgICAgICAgbGV0IHNjcmlw
dFRpbWVsaW5lID0gcmVjb3JkaW5nLnRpbWVsaW5lcy5nZXQoV0kuVGltZWxpbmVSZWNvcmQuVHlw
ZS5TY3JpcHQpOworICAgICAgICAgICAgICAgIGxldCByZWNvcmRzID0gc2NyaXB0VGltZWxpbmUu
cmVjb3Jkcy5maWx0ZXIoKHgpID0+IHguZXZlbnRUeXBlID09PSBXSS5TY3JpcHRUaW1lbGluZVJl
Y29yZC5FdmVudFR5cGUuVGltZXJGaXJlZCk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5leHBlY3RFcXVhbChyZWNvcmRzLmxlbmd0aCwgMSwgIlNob3VsZCBiZSAxIFRpbWVyRmlyZWQg
cmVjb3JkLiIpOworICAgICAgICAgICAgICAgIGZvciAobGV0IHJlY29yZCBvZiByZWNvcmRzKSB7
CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJERVRBSUxTOiAiICsgdHlw
ZW9mIHJlY29yZC5kZXRhaWxzKTsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5l
eHBlY3RFcXVhbChyZWNvcmQuZGV0YWlscywgdGltZW91dElkZW50aWZpZXIsICJTY3JpcHRUaW1l
bGluZVJlY29yZCBkZXRhaWxzIHNob3VsZCBiZSB0aGUgc2V0VGltZW91dCBpZGVudGlmaWVyLiIp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pLnRoZW4ocmVzb2x2ZSwgcmVqZWN0
KTsKKyAgICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAg
ICBuYW1lOiAiVGltZWxpbmVFdmVudC5UaW1lckZpcmUuc2V0SW50ZXJ2YWwiLAorICAgICAgICB0
ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICAgICAgY2FwdHVyZVRpbWVsaW5lV2l0aFNj
cmlwdChgdGVzdFNldEludGVydmFsKClgKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFzc2VydCh0eXBlb2YgcGFnZVJlY29yZGluZ0RhdGEuc2V0SW50ZXJ2YWxJ
ZGVudGlmaWVyID09PSAibnVtYmVyIik7CisgICAgICAgICAgICAgICAgaW50ZXJ2YWxJZGVudGlm
aWVyID0gcGFnZVJlY29yZGluZ0RhdGEuc2V0SW50ZXJ2YWxJZGVudGlmaWVyOworCisgICAgICAg
ICAgICAgICAgbGV0IHJlY29yZGluZyA9IFdJLnRpbWVsaW5lTWFuYWdlci5hY3RpdmVSZWNvcmRp
bmc7CisgICAgICAgICAgICAgICAgbGV0IHNjcmlwdFRpbWVsaW5lID0gcmVjb3JkaW5nLnRpbWVs
aW5lcy5nZXQoV0kuVGltZWxpbmVSZWNvcmQuVHlwZS5TY3JpcHQpOworICAgICAgICAgICAgICAg
IGxldCByZWNvcmRzID0gc2NyaXB0VGltZWxpbmUucmVjb3Jkcy5maWx0ZXIoKHgpID0+IHguZXZl
bnRUeXBlID09PSBXSS5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuVGltZXJGaXJlZCk7
CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZWNvcmRzLmxlbmd0
aCwgMywgIlNob3VsZCBiZSAzIFRpbWVyRmlyZWQgcmVjb3Jkcy4iKTsKKyAgICAgICAgICAgICAg
ICBmb3IgKGxldCByZWNvcmQgb2YgcmVjb3JkcykgeworICAgICAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmxvZygiREVUQUlMUzogIiArIHR5cGVvZiByZWNvcmQuZGV0YWlscyk7CisgICAg
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVjb3JkLmRldGFpbHMs
IHBhZ2VSZWNvcmRpbmdEYXRhLnNldEludGVydmFsSWRlbnRpZmllciwgIlNjcmlwdFRpbWVsaW5l
UmVjb3JkIGRldGFpbHMgc2hvdWxkIGJlIHRoZSBzZXRJbnRlcnZhbCBpZGVudGlmaWVyLiIpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTsK
KyAgICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBu
YW1lOiAiU2FuaXR5Q2hlY2siLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KHRpbWVvdXRJZGVudGlmaWVyICE9PSBp
bnRlcnZhbElkZW50aWZpZXIsICJUaGUgc2V0VGltZW91dCBpZGVudGlmaWVyIGFuZCBzZXRJbnRl
cnZhbCBpZGVudGlmaWVycyBzaG91bGQgYmUgZGlmZmVyZW50LiIpOworICAgICAgICAgICAgcmVz
b2x2ZSgpOworICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRG
aW5pc2goKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCki
PgorPHA+VGVzdHMgJ1RpbWVyRmlyZScgVGltZWxpbmUgZXZlbnQgcmVjb3Jkcy48L3A+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUv
dGltZWxpbmUtZXZlbnQtVGltZXJJbnN0YWxsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1UaW1lckluc3RhbGwtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5kZGEzOWNlZDllMAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1l
dmVudC1UaW1lckluc3RhbGwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjUgQEAKK1Rlc3RzICdU
aW1lckluc3RhbGwnIFRpbWVsaW5lIGV2ZW50IHJlY29yZHMuCisKKworPT0gUnVubmluZyB0ZXN0
IHN1aXRlOiBUaW1lbGluZUV2ZW50LlRpbWVySW5zdGFsbAorLS0gUnVubmluZyB0ZXN0IGNhc2U6
IFRpbWVsaW5lRXZlbnQuVGltZXJJbnN0YWxsLnNldFRpbWVvdXQKK1N0YXJ0aW5nIENhcHR1cmUu
Li4KK3NldFRpbWVvdXQgZmlyZWQKK1N0b3BwaW5nIENhcHR1cmUuLi4KK1BBU1M6IFNob3VsZCBi
ZSAxIFRpbWVySW5zdGFsbGVkIHJlY29yZC4KK0RFVEFJTFM6IHsidGltZXJJZCI6IjxmaWx0ZXJl
ZD4iLCJ0aW1lb3V0IjoxMCwicmVwZWF0aW5nIjpmYWxzZX0KK1BBU1M6IFNjcmlwdFRpbWVsaW5l
UmVjb3JkIGRldGFpbHMgc2hvdWxkIGJlIHRoZSBzZXRUaW1lb3V0IGlkZW50aWZpZXIuCisKKy0t
IFJ1bm5pbmcgdGVzdCBjYXNlOiBUaW1lbGluZUV2ZW50LlRpbWVySW5zdGFsbC5zZXRJbnRlcnZh
bAorU3RhcnRpbmcgQ2FwdHVyZS4uLgorc2V0SW50ZXJ2YWwgZmlyZWQ6IDEKK3NldEludGVydmFs
IGZpcmVkOiAyCitzZXRJbnRlcnZhbCBmaXJlZDogMworU3RvcHBpbmcgQ2FwdHVyZS4uLgorUEFT
UzogU2hvdWxkIGJlIDEgVGltZXJJbnN0YWxsZWQgcmVjb3JkLgorREVUQUlMUzogeyJ0aW1lcklk
IjoiPGZpbHRlcmVkPiIsInRpbWVvdXQiOjUsInJlcGVhdGluZyI6dHJ1ZX0KK1BBU1M6IFNjcmlw
dFRpbWVsaW5lUmVjb3JkIGRldGFpbHMgc2hvdWxkIGJlIHRoZSBzZXRJbnRlcnZhbCBpZGVudGlm
aWVyLgorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogU2FuaXR5Q2hlY2sKK1BBU1M6IFRoZSBzZXRU
aW1lb3V0IGlkZW50aWZpZXIgYW5kIHNldEludGVydmFsIGlkZW50aWZpZXJzIHNob3VsZCBiZSBk
aWZmZXJlbnQuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90
aW1lbGluZS1ldmVudC1UaW1lckluc3RhbGwuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90
aW1lbGluZS90aW1lbGluZS1ldmVudC1UaW1lckluc3RhbGwuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNGNiMmMyMzNiN2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJJbnN0YWxs
Lmh0bWwKQEAgLTAsMCArMSw5MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0
b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvdGltZWxpbmUt
ZXZlbnQtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0U2V0
VGltZW91dCgpIHsKKyAgICBsZXQgc2V0VGltZW91dElkZW50aWZpZXIgPSBzZXRUaW1lb3V0KCgp
ID0+IHsKKyAgICAgICAgVGVzdFBhZ2UuYWRkUmVzdWx0KCJzZXRUaW1lb3V0IGZpcmVkIik7Cisg
ICAgICAgIGZpbmlzaFJlY29yZGluZyh7c2V0VGltZW91dElkZW50aWZpZXJ9KTsKKyAgICB9LCAx
MCk7Cit9CisKK2Z1bmN0aW9uIHRlc3RTZXRJbnRlcnZhbCgpIHsKKyAgICBsZXQgY291bnQgPSAw
OworICAgIGxldCBzZXRJbnRlcnZhbElkZW50aWZpZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7Cisg
ICAgICAgIGNvdW50Kys7CisgICAgICAgIFRlc3RQYWdlLmFkZFJlc3VsdCgic2V0SW50ZXJ2YWwg
ZmlyZWQ6ICIgKyBjb3VudCk7CisgICAgICAgIGlmIChjb3VudCA9PT0gMykgeworICAgICAgICAg
ICAgY2xlYXJJbnRlcnZhbChzZXRJbnRlcnZhbElkZW50aWZpZXIpOworICAgICAgICAgICAgZmlu
aXNoUmVjb3JkaW5nKHtzZXRJbnRlcnZhbElkZW50aWZpZXJ9KTsKKyAgICAgICAgfQorICAgIH0s
IDUpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBsZXQgc3VpdGUgPSBJbnNwZWN0b3JU
ZXN0LmNyZWF0ZUFzeW5jU3VpdGUoIlRpbWVsaW5lRXZlbnQuVGltZXJJbnN0YWxsIik7CisKKyAg
ICBsZXQgdGltZW91dElkZW50aWZpZXI7CisgICAgbGV0IGludGVydmFsSWRlbnRpZmllcjsKKwor
ICAgIGZ1bmN0aW9uIGpzb25GaWx0ZXIoa2V5LCB2YWx1ZSkgeworICAgICAgICBpZiAoa2V5ID09
PSAidGltZXJJZCIpCisgICAgICAgICAgICByZXR1cm4gIjxmaWx0ZXJlZD4iOworICAgICAgICBy
ZXR1cm4gdmFsdWU7CisgICAgfQorCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBu
YW1lOiAiVGltZWxpbmVFdmVudC5UaW1lckluc3RhbGwuc2V0VGltZW91dCIsCisgICAgICAgIHRl
c3QocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAgICAgICBjYXB0dXJlVGltZWxpbmVXaXRoU2Ny
aXB0KGB0ZXN0U2V0VGltZW91dCgpYCkudGhlbigoKSA9PiB7CisgICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hc3NlcnQodHlwZW9mIHBhZ2VSZWNvcmRpbmdEYXRhLnNldFRpbWVvdXRJZGVu
dGlmaWVyID09PSAibnVtYmVyIik7CisgICAgICAgICAgICAgICAgdGltZW91dElkZW50aWZpZXIg
PSBwYWdlUmVjb3JkaW5nRGF0YS5zZXRUaW1lb3V0SWRlbnRpZmllcjsKKworICAgICAgICAgICAg
ICAgIGxldCByZWNvcmRpbmcgPSBXSS50aW1lbGluZU1hbmFnZXIuYWN0aXZlUmVjb3JkaW5nOwor
ICAgICAgICAgICAgICAgIGxldCBzY3JpcHRUaW1lbGluZSA9IHJlY29yZGluZy50aW1lbGluZXMu
Z2V0KFdJLlRpbWVsaW5lUmVjb3JkLlR5cGUuU2NyaXB0KTsKKyAgICAgICAgICAgICAgICBsZXQg
cmVjb3JkcyA9IHNjcmlwdFRpbWVsaW5lLnJlY29yZHMuZmlsdGVyKCh4KSA9PiB4LmV2ZW50VHlw
ZSA9PT0gV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlRpbWVySW5zdGFsbGVkKTsK
KyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29yZHMubGVuZ3Ro
LCAxLCAiU2hvdWxkIGJlIDEgVGltZXJJbnN0YWxsZWQgcmVjb3JkLiIpOworICAgICAgICAgICAg
ICAgIGZvciAobGV0IHJlY29yZCBvZiByZWNvcmRzKSB7CisgICAgICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QubG9nKCJERVRBSUxTOiAiICsgSlNPTi5zdHJpbmdpZnkocmVjb3JkLmRldGFp
bHMsIGpzb25GaWx0ZXIpKTsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBl
Y3RFcXVhbChyZWNvcmQuZGV0YWlscy50aW1lcklkLCB0aW1lb3V0SWRlbnRpZmllciwgIlNjcmlw
dFRpbWVsaW5lUmVjb3JkIGRldGFpbHMgc2hvdWxkIGJlIHRoZSBzZXRUaW1lb3V0IGlkZW50aWZp
ZXIuIik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSkudGhlbihyZXNvbHZlLCBy
ZWplY3QpOworICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7Cisg
ICAgICAgIG5hbWU6ICJUaW1lbGluZUV2ZW50LlRpbWVySW5zdGFsbC5zZXRJbnRlcnZhbCIsCisg
ICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAgICAgICBjYXB0dXJlVGltZWxp
bmVXaXRoU2NyaXB0KGB0ZXN0U2V0SW50ZXJ2YWwoKWApLnRoZW4oKCkgPT4geworICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHR5cGVvZiBwYWdlUmVjb3JkaW5nRGF0YS5zZXRJ
bnRlcnZhbElkZW50aWZpZXIgPT09ICJudW1iZXIiKTsKKyAgICAgICAgICAgICAgICBpbnRlcnZh
bElkZW50aWZpZXIgPSBwYWdlUmVjb3JkaW5nRGF0YS5zZXRJbnRlcnZhbElkZW50aWZpZXI7CisK
KyAgICAgICAgICAgICAgICBsZXQgcmVjb3JkaW5nID0gV0kudGltZWxpbmVNYW5hZ2VyLmFjdGl2
ZVJlY29yZGluZzsKKyAgICAgICAgICAgICAgICBsZXQgc2NyaXB0VGltZWxpbmUgPSByZWNvcmRp
bmcudGltZWxpbmVzLmdldChXSS5UaW1lbGluZVJlY29yZC5UeXBlLlNjcmlwdCk7CisgICAgICAg
ICAgICAgICAgbGV0IHJlY29yZHMgPSBzY3JpcHRUaW1lbGluZS5yZWNvcmRzLmZpbHRlcigoeCkg
PT4geC5ldmVudFR5cGUgPT09IFdJLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5UaW1l
ckluc3RhbGxlZCk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChy
ZWNvcmRzLmxlbmd0aCwgMSwgIlNob3VsZCBiZSAxIFRpbWVySW5zdGFsbGVkIHJlY29yZC4iKTsK
KyAgICAgICAgICAgICAgICBmb3IgKGxldCByZWNvcmQgb2YgcmVjb3JkcykgeworICAgICAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiREVUQUlMUzogIiArIEpTT04uc3RyaW5naWZ5
KHJlY29yZC5kZXRhaWxzLCBqc29uRmlsdGVyKSk7CisgICAgICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuZXhwZWN0RXF1YWwocmVjb3JkLmRldGFpbHMudGltZXJJZCwgcGFnZVJlY29yZGlu
Z0RhdGEuc2V0SW50ZXJ2YWxJZGVudGlmaWVyLCAiU2NyaXB0VGltZWxpbmVSZWNvcmQgZGV0YWls
cyBzaG91bGQgYmUgdGhlIHNldEludGVydmFsIGlkZW50aWZpZXIuIik7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSkudGhlbihyZXNvbHZlLCByZWplY3QpOworICAgICAgICB9Cisg
ICAgfSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJTYW5pdHlD
aGVjayIsCisgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmV4cGVjdFRoYXQodGltZW91dElkZW50aWZpZXIgIT09IGludGVydmFsSWRlbnRp
ZmllciwgIlRoZSBzZXRUaW1lb3V0IGlkZW50aWZpZXIgYW5kIHNldEludGVydmFsIGlkZW50aWZp
ZXJzIHNob3VsZCBiZSBkaWZmZXJlbnQuIik7CisgICAgICAgICAgICByZXNvbHZlKCk7CisgICAg
ICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOworfQor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0cyAn
VGltZXJJbnN0YWxsJyBUaW1lbGluZSBldmVudCByZWNvcmRzLjwvcD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1l
dmVudC1UaW1lclJlbW92ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGlt
ZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJSZW1vdmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi40MzE0MzdiNWMxYwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1UaW1lclJl
bW92ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNCBAQAorVGVzdHMgJ1RpbWVyUmVtb3ZlJyBU
aW1lbGluZSBldmVudCByZWNvcmRzLgorCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogVGltZWxp
bmVFdmVudC5UaW1lclJlbW92ZQorLS0gUnVubmluZyB0ZXN0IGNhc2U6IFRpbWVsaW5lRXZlbnQu
VGltZXJSZW1vdmUuc2V0VGltZW91dAorU3RhcnRpbmcgQ2FwdHVyZS4uLgorU3RvcHBpbmcgQ2Fw
dHVyZS4uLgorUEFTUzogU2hvdWxkIGJlIDEgVGltZXJSZW1vdmVkIHJlY29yZC4KK0RFVEFJTFM6
IG51bWJlcgorUEFTUzogU2NyaXB0VGltZWxpbmVSZWNvcmQgZGV0YWlscyBzaG91bGQgYmUgdGhl
IHNldFRpbWVvdXQgaWRlbnRpZmllci4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFRpbWVsaW5l
RXZlbnQuVGltZXJSZW1vdmUuc2V0SW50ZXJ2YWwKK1N0YXJ0aW5nIENhcHR1cmUuLi4KK3NldElu
dGVydmFsIGZpcmVkOiAxCitzZXRJbnRlcnZhbCBmaXJlZDogMgorc2V0SW50ZXJ2YWwgZmlyZWQ6
IDMKK1N0b3BwaW5nIENhcHR1cmUuLi4KK1BBU1M6IFNob3VsZCBiZSAxIFRpbWVyUmVtb3ZlZCBy
ZWNvcmQuCitERVRBSUxTOiBudW1iZXIKK1BBU1M6IFNjcmlwdFRpbWVsaW5lUmVjb3JkIGRldGFp
bHMgc2hvdWxkIGJlIHRoZSBzZXRJbnRlcnZhbCBpZGVudGlmaWVyLgorCistLSBSdW5uaW5nIHRl
c3QgY2FzZTogU2FuaXR5Q2hlY2sKK1BBU1M6IFRoZSBzZXRUaW1lb3V0IGlkZW50aWZpZXIgYW5k
IHNldEludGVydmFsIGlkZW50aWZpZXJzIHNob3VsZCBiZSBkaWZmZXJlbnQuCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1UaW1lclJl
bW92ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50
LVRpbWVyUmVtb3ZlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu
LjFjYmRlNmZjMWIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Rp
bWVsaW5lL3RpbWVsaW5lLWV2ZW50LVRpbWVyUmVtb3ZlLmh0bWwKQEAgLTAsMCArMSw4NSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvdGltZWxpbmUtZXZlbnQtdXRpbGl0aWVzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0U2V0VGltZW91dCgpIHsKKyAgICBsZXQgc2V0
VGltZW91dElkZW50aWZpZXIgPSBzZXRUaW1lb3V0KCgpID0+IHsgVGVzdFBhZ2UuYWRkUmVzdWx0
KCJGQUlMOiBzZXRUaW1lb3V0IGZpcmVkIik7IH0pOworICAgIGNsZWFyVGltZW91dChzZXRUaW1l
b3V0SWRlbnRpZmllcik7CisgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsgZmluaXNo
UmVjb3JkaW5nKHtzZXRUaW1lb3V0SWRlbnRpZmllcn0pOyB9KTsgLy8gRGVsYXkgYSBiaXQgdG8g
ZW5zdXJlIHdlIGdldCB0aGUgY2xlYXIgdGltZW91dC4KK30KKworZnVuY3Rpb24gdGVzdFNldElu
dGVydmFsKCkgeworICAgIGxldCBjb3VudCA9IDA7CisgICAgbGV0IHNldEludGVydmFsSWRlbnRp
ZmllciA9IHNldEludGVydmFsKCgpID0+IHsKKyAgICAgICAgY291bnQrKzsKKyAgICAgICAgVGVz
dFBhZ2UuYWRkUmVzdWx0KCJzZXRJbnRlcnZhbCBmaXJlZDogIiArIGNvdW50KTsKKyAgICAgICAg
aWYgKGNvdW50ID09PSAzKSB7CisgICAgICAgICAgICBjbGVhckludGVydmFsKHNldEludGVydmFs
SWRlbnRpZmllcik7CisgICAgICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geyBm
aW5pc2hSZWNvcmRpbmcoe3NldEludGVydmFsSWRlbnRpZmllcn0pOyB9KTsgLy8gRGVsYXkgYSBi
aXQgdG8gZW5zdXJlIHdlIGdldCB0aGUgY2xlYXIgdGltZW91dC4KKyAgICAgICAgfQorICAgIH0p
OworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBsZXQgc3VpdGUgPSBJbnNwZWN0b3JUZXN0
LmNyZWF0ZUFzeW5jU3VpdGUoIlRpbWVsaW5lRXZlbnQuVGltZXJSZW1vdmUiKTsKKworICAgIGxl
dCB0aW1lb3V0SWRlbnRpZmllcjsKKyAgICBsZXQgaW50ZXJ2YWxJZGVudGlmaWVyOworCisgICAg
c3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiVGltZWxpbmVFdmVudC5UaW1lclJl
bW92ZS5zZXRUaW1lb3V0IiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAgICAg
ICAgICAgIGNhcHR1cmVUaW1lbGluZVdpdGhTY3JpcHQoYHRlc3RTZXRUaW1lb3V0KClgKS50aGVu
KCgpID0+IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0eXBlb2YgcGFn
ZVJlY29yZGluZ0RhdGEuc2V0VGltZW91dElkZW50aWZpZXIgPT09ICJudW1iZXIiKTsKKyAgICAg
ICAgICAgICAgICB0aW1lb3V0SWRlbnRpZmllciA9IHBhZ2VSZWNvcmRpbmdEYXRhLnNldFRpbWVv
dXRJZGVudGlmaWVyOworCisgICAgICAgICAgICAgICAgbGV0IHJlY29yZGluZyA9IFdJLnRpbWVs
aW5lTWFuYWdlci5hY3RpdmVSZWNvcmRpbmc7CisgICAgICAgICAgICAgICAgbGV0IHNjcmlwdFRp
bWVsaW5lID0gcmVjb3JkaW5nLnRpbWVsaW5lcy5nZXQoV0kuVGltZWxpbmVSZWNvcmQuVHlwZS5T
Y3JpcHQpOworICAgICAgICAgICAgICAgIGxldCByZWNvcmRzID0gc2NyaXB0VGltZWxpbmUucmVj
b3Jkcy5maWx0ZXIoKHgpID0+IHguZXZlbnRUeXBlID09PSBXSS5TY3JpcHRUaW1lbGluZVJlY29y
ZC5FdmVudFR5cGUuVGltZXJSZW1vdmVkKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmV4cGVjdEVxdWFsKHJlY29yZHMubGVuZ3RoLCAxLCAiU2hvdWxkIGJlIDEgVGltZXJSZW1vdmVk
IHJlY29yZC4iKTsKKyAgICAgICAgICAgICAgICBmb3IgKGxldCByZWNvcmQgb2YgcmVjb3Jkcykg
eworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiREVUQUlMUzogIiArIHR5
cGVvZiByZWNvcmQuZGV0YWlscyk7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXhwZWN0RXF1YWwocmVjb3JkLmRldGFpbHMsIHRpbWVvdXRJZGVudGlmaWVyLCAiU2NyaXB0VGlt
ZWxpbmVSZWNvcmQgZGV0YWlscyBzaG91bGQgYmUgdGhlIHNldFRpbWVvdXQgaWRlbnRpZmllci4i
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9KS50aGVuKHJlc29sdmUsIHJlamVj
dCk7CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAg
ICAgbmFtZTogIlRpbWVsaW5lRXZlbnQuVGltZXJSZW1vdmUuc2V0SW50ZXJ2YWwiLAorICAgICAg
ICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICAgICAgY2FwdHVyZVRpbWVsaW5lV2l0
aFNjcmlwdChgdGVzdFNldEludGVydmFsKClgKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0eXBlb2YgcGFnZVJlY29yZGluZ0RhdGEuc2V0SW50ZXJ2
YWxJZGVudGlmaWVyID09PSAibnVtYmVyIik7CisgICAgICAgICAgICAgICAgaW50ZXJ2YWxJZGVu
dGlmaWVyID0gcGFnZVJlY29yZGluZ0RhdGEuc2V0SW50ZXJ2YWxJZGVudGlmaWVyOworCisgICAg
ICAgICAgICAgICAgbGV0IHJlY29yZGluZyA9IFdJLnRpbWVsaW5lTWFuYWdlci5hY3RpdmVSZWNv
cmRpbmc7CisgICAgICAgICAgICAgICAgbGV0IHNjcmlwdFRpbWVsaW5lID0gcmVjb3JkaW5nLnRp
bWVsaW5lcy5nZXQoV0kuVGltZWxpbmVSZWNvcmQuVHlwZS5TY3JpcHQpOworICAgICAgICAgICAg
ICAgIGxldCByZWNvcmRzID0gc2NyaXB0VGltZWxpbmUucmVjb3Jkcy5maWx0ZXIoKHgpID0+IHgu
ZXZlbnRUeXBlID09PSBXSS5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuVGltZXJSZW1v
dmVkKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29yZHMu
bGVuZ3RoLCAxLCAiU2hvdWxkIGJlIDEgVGltZXJSZW1vdmVkIHJlY29yZC4iKTsKKyAgICAgICAg
ICAgICAgICBmb3IgKGxldCByZWNvcmQgb2YgcmVjb3JkcykgeworICAgICAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmxvZygiREVUQUlMUzogIiArIHR5cGVvZiByZWNvcmQuZGV0YWlscyk7
CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVjb3JkLmRl
dGFpbHMsIHBhZ2VSZWNvcmRpbmdEYXRhLnNldEludGVydmFsSWRlbnRpZmllciwgIlNjcmlwdFRp
bWVsaW5lUmVjb3JkIGRldGFpbHMgc2hvdWxkIGJlIHRoZSBzZXRJbnRlcnZhbCBpZGVudGlmaWVy
LiIpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pLnRoZW4ocmVzb2x2ZSwgcmVq
ZWN0KTsKKyAgICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAg
ICAgICBuYW1lOiAiU2FuaXR5Q2hlY2siLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkg
eworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KHRpbWVvdXRJZGVudGlmaWVy
ICE9PSBpbnRlcnZhbElkZW50aWZpZXIsICJUaGUgc2V0VGltZW91dCBpZGVudGlmaWVyIGFuZCBz
ZXRJbnRlcnZhbCBpZGVudGlmaWVycyBzaG91bGQgYmUgZGlmZmVyZW50LiIpOworICAgICAgICAg
ICAgcmVzb2x2ZSgpOworICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5ydW5UZXN0Q2Fz
ZXNBbmRGaW5pc2goKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5U
ZXN0KCkiPgorPHA+VGVzdHMgJ1RpbWVyUmVtb3ZlJyBUaW1lbGluZSBldmVudCByZWNvcmRzLjwv
cD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1OWQ2YWMxZDM2OS4uNGJmMWVkYzM4
MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NCBAQAorMjAxNy0wOS0xMyAgSm9zZXBoIFBlY29y
YXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFRpbWVs
aW5lIHNob3VsZCBzaG93IHdoZW4gZXZlbnRzIHByZXZlbnREZWZhdWx0KCkgd2FzIGNhbGxlZCBv
biBhbiBldmVudCBvciBub3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3NjgyNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzQyOTA5MzE+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgRGV2aW4gUm91c3NvLgorCisgICAgICAgIFRlc3RzOiBpbnNwZWN0
b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtQ2FuY2VsQW5pbWF0aW9uRnJhbWUuaHRtbAorICAg
ICAgICAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUV2ZW50RGlzcGF0
Y2guaHRtbAorICAgICAgICAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50
LUZpcmVBbmltYXRpb25GcmFtZS5odG1sCisgICAgICAgICAgICAgICBpbnNwZWN0b3IvdGltZWxp
bmUvdGltZWxpbmUtZXZlbnQtUmVxdWVzdEFuaW1hdGlvbkZyYW1lLmh0bWwKKyAgICAgICAgICAg
ICAgIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1UaW1lckZpcmUuaHRtbAorICAg
ICAgICAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVRpbWVySW5zdGFs
bC5odG1sCisgICAgICAgICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQt
VGltZXJSZW1vdmUuaHRtbAorCisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkV2ZW50VGFyZ2V0OjpmaXJlRXZlbnRMaXN0ZW5lcnMpOgorICAgICAgICAq
IHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6ZGlzcGF0
Y2hFdmVudCk6CisgICAgICAgIEluY2x1ZGUgZGVmYXVsdFByZXZlbnRlZCB3aGVuIG5vdGlmeWlu
ZyBpbnNwZWN0b3IuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
RGlzcGF0Y2hFdmVudEltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50T25XaW5kb3dJbXBsKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmRpZERpc3BhdGNoRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50T25XaW5kb3cpOgorICAg
ICAgICBQYXNzIGRlZmF1bHRQcmV2ZW50ZWQgb24gdG8gYWdlbnQuCisKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JUaW1lbGluZUFnZW50OjpkaWREaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZExheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRQYWludCk6CisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3RvclRpbWVsaW5lQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvVGltZWxpbmVSZWNv
cmRGYWN0b3J5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6
YXBwZW5kTGF5b3V0Um9vdCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVJlY29yZEZhY3Rv
cnk6OmFwcGVuZERpZERpc3BhdGNoRXZlbnREYXRhKToKKyAgICAgICAgKiBpbnNwZWN0b3IvVGlt
ZWxpbmVSZWNvcmRGYWN0b3J5Lmg6CisgICAgICAgIEFwcGVuZCBhIGJvb2xlYW4gZGVmYXVsdFBy
ZXZlbnRlZCBwcm9wZXJ0eSBvbiB0aGUgRXZlbnREaXNwYXRjaCB0aW1lbGluZSByZWNvcmQncyBk
YXRhLgorCiAyMDE3LTA5LTEzICBCYXN1a2UgU3V6dWtpICA8QmFzdWtlLlN1enVraUBzb255LmNv
bT4KIAogICAgICAgICBbQ3VybF0gQnVnIGZpeCBmb3Igc3luY2hyb25vdXMgdHJhbnNmZXIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnRUYXJnZXQuY3BwCmluZGV4IGZmMzg2YmIzMGEyLi5jOWU2OWZkNGVhMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwCkBAIC0yOTQsNyArMjk0LDcgQEAgdm9pZCBF
dmVudFRhcmdldDo6ZmlyZUV2ZW50TGlzdGVuZXJzKEV2ZW50JiBldmVudCwgRXZlbnRMaXN0ZW5l
clZlY3RvciBsaXN0ZW5lcnMKICAgICB9CiAKICAgICBpZiAoY29udGV4dElzRG9jdW1lbnQpCi0g
ICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudCh3aWxsRGlz
cGF0Y2hFdmVudENvb2tpZSk7CisgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
RGlzcGF0Y2hFdmVudCh3aWxsRGlzcGF0Y2hFdmVudENvb2tpZSwgZXZlbnQuZGVmYXVsdFByZXZl
bnRlZCgpKTsKIH0KIAogY29uc3QgRXZlbnRMaXN0ZW5lclZlY3RvciYgRXZlbnRUYXJnZXQ6OmV2
ZW50TGlzdGVuZXJzKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAppbmRl
eCAxMTY2MmMxMzdmYy4uMjY2MTI0YjUwMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCkBAIC00MjksMTAgKzQyOSwx
MCBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSGFuZGxlRXZlbnRJbXBsKElu
c3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbgogICAgICAgICBkZWJ1Z2dlckFnZW50LT5kaWRE
aXNwYXRjaEFzeW5jQ2FsbCgpOwogfQogCi12b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkRGlzcGF0Y2hFdmVudEltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2ll
JiBjb29raWUpCit2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVu
dEltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiBjb29raWUsIGJvb2wg
ZGVmYXVsdFByZXZlbnRlZCkKIHsKICAgICBpZiAoSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogdGlt
ZWxpbmVBZ2VudCA9IHJldHJpZXZlVGltZWxpbmVBZ2VudChjb29raWUpKQotICAgICAgICB0aW1l
bGluZUFnZW50LT5kaWREaXNwYXRjaEV2ZW50KCk7CisgICAgICAgIHRpbWVsaW5lQWdlbnQtPmRp
ZERpc3BhdGNoRXZlbnQoZGVmYXVsdFByZXZlbnRlZCk7CiB9CiAKIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbkNvb2tpZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxEaXNwYXRjaEV2ZW50
T25XaW5kb3dJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbnRpbmdBZ2VudHMsIGNv
bnN0IEV2ZW50JiBldmVudCwgRE9NV2luZG93JiB3aW5kb3cpCkBAIC00NDcsMTAgKzQ0NywxMCBA
QCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Ojp3aWxsRGlzcGF0Y2hFdmVudE9uV2luZAogICAgIHJldHVybiBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb25Db29raWUoaW5zdHJ1bWVudGluZ0FnZW50cywgdGltZWxpbmVBZ2VudElkKTsKIH0KIAot
dm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERpc3BhdGNoRXZlbnRPbldpbmRvd0lt
cGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiBjb29raWUpCit2b2lkIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudE9uV2luZG93SW1wbChjb25z
dCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmIGNvb2tpZSwgYm9vbCBkZWZhdWx0UHJl
dmVudGVkKQogewogICAgIGlmIChJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50
ID0gcmV0cmlldmVUaW1lbGluZUFnZW50KGNvb2tpZSkpCi0gICAgICAgIHRpbWVsaW5lQWdlbnQt
PmRpZERpc3BhdGNoRXZlbnQoKTsKKyAgICAgICAgdGltZWxpbmVBZ2VudC0+ZGlkRGlzcGF0Y2hF
dmVudChkZWZhdWx0UHJldmVudGVkKTsKIH0KIAogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29v
a2llIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbEV2YWx1YXRlU2NyaXB0SW1wbChJbnN0
cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVtZW50aW5nQWdlbnRzLCBGcmFtZSYgZnJhbWUsIGNvbnN0
IFN0cmluZyYgdXJsLCBpbnQgbGluZU51bWJlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCAyNTBmYTg0MjMxYS4uYzlm
ZDE2NTAwMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmgKQEAgLTE0NywxMSArMTQ3LDExIEBAIHB1YmxpYzoKICAgICBzdGF0
aWMgdm9pZCBkaWRBZGRFdmVudExpc3RlbmVyKEV2ZW50VGFyZ2V0JiwgY29uc3QgQXRvbWljU3Ry
aW5nJiBldmVudFR5cGUpOwogICAgIHN0YXRpYyB2b2lkIHdpbGxSZW1vdmVFdmVudExpc3RlbmVy
KEV2ZW50VGFyZ2V0JiwgY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVu
ZXImLCBib29sIGNhcHR1cmUpOwogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25D
b29raWUgd2lsbERpc3BhdGNoRXZlbnQoRG9jdW1lbnQmLCBjb25zdCBFdmVudCYsIGJvb2wgaGFz
RXZlbnRMaXN0ZW5lcnMpOwotICAgIHN0YXRpYyB2b2lkIGRpZERpc3BhdGNoRXZlbnQoY29uc3Qg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CisgICAgc3RhdGljIHZvaWQgZGlkRGlz
cGF0Y2hFdmVudChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmLCBib29sIGRl
ZmF1bHRQcmV2ZW50ZWQpOwogICAgIHN0YXRpYyB2b2lkIHdpbGxIYW5kbGVFdmVudChTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiwgY29uc3QgRXZlbnQmLCBjb25zdCBSZWdpc3RlcmVkRXZlbnRMaXN0
ZW5lciYpOwogICAgIHN0YXRpYyB2b2lkIGRpZEhhbmRsZUV2ZW50KFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmKTsKICAgICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIHdpbGxE
aXNwYXRjaEV2ZW50T25XaW5kb3coRnJhbWUqLCBjb25zdCBFdmVudCYsIERPTVdpbmRvdyYpOwot
ICAgIHN0YXRpYyB2b2lkIGRpZERpc3BhdGNoRXZlbnRPbldpbmRvdyhjb25zdCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb25Db29raWUmKTsKKyAgICBzdGF0aWMgdm9pZCBkaWREaXNwYXRjaEV2ZW50
T25XaW5kb3coY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiwgYm9vbCBkZWZh
dWx0UHJldmVudGVkKTsKICAgICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2ll
IHdpbGxFdmFsdWF0ZVNjcmlwdChGcmFtZSYsIGNvbnN0IFN0cmluZyYgdXJsLCBpbnQgbGluZU51
bWJlcik7CiAgICAgc3RhdGljIHZvaWQgZGlkRXZhbHVhdGVTY3JpcHQoY29uc3QgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uQ29va2llJiwgRnJhbWUmKTsKICAgICBzdGF0aWMgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uQ29va2llIHdpbGxGaXJlVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYs
IGludCB0aW1lcklkKTsKQEAgLTMyMSw5ICszMjEsOSBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbERpc3BhdGNoRXZlbnRJbXBsKEluc3Ry
dW1lbnRpbmdBZ2VudHMmLCBEb2N1bWVudCYsIGNvbnN0IEV2ZW50JiwgYm9vbCBoYXNFdmVudExp
c3RlbmVycyk7CiAgICAgc3RhdGljIHZvaWQgd2lsbEhhbmRsZUV2ZW50SW1wbChJbnN0cnVtZW50
aW5nQWdlbnRzJiwgY29uc3QgRXZlbnQmLCBjb25zdCBSZWdpc3RlcmVkRXZlbnRMaXN0ZW5lciYp
OwogICAgIHN0YXRpYyB2b2lkIGRpZEhhbmRsZUV2ZW50SW1wbChJbnN0cnVtZW50aW5nQWdlbnRz
Jik7Ci0gICAgc3RhdGljIHZvaWQgZGlkRGlzcGF0Y2hFdmVudEltcGwoY29uc3QgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uQ29va2llJik7CisgICAgc3RhdGljIHZvaWQgZGlkRGlzcGF0Y2hFdmVu
dEltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiwgYm9vbCBkZWZhdWx0
UHJldmVudGVkKTsKICAgICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIHdp
bGxEaXNwYXRjaEV2ZW50T25XaW5kb3dJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmLCBjb25zdCBF
dmVudCYsIERPTVdpbmRvdyYpOwotICAgIHN0YXRpYyB2b2lkIGRpZERpc3BhdGNoRXZlbnRPbldp
bmRvd0ltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CisgICAgc3Rh
dGljIHZvaWQgZGlkRGlzcGF0Y2hFdmVudE9uV2luZG93SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb25Db29raWUmLCBib29sIGRlZmF1bHRQcmV2ZW50ZWQpOwogICAgIHN0YXRpYyBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbEV2YWx1YXRlU2NyaXB0SW1wbChJbnN0
cnVtZW50aW5nQWdlbnRzJiwgRnJhbWUmLCBjb25zdCBTdHJpbmcmIHVybCwgaW50IGxpbmVOdW1i
ZXIpOwogICAgIHN0YXRpYyB2b2lkIGRpZEV2YWx1YXRlU2NyaXB0SW1wbChjb25zdCBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb25Db29raWUmLCBGcmFtZSYpOwogICAgIHN0YXRpYyBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb25Db29raWUgd2lsbEZpcmVUaW1lckltcGwoSW5zdHJ1bWVudGluZ0FnZW50
cyYsIGludCB0aW1lcklkLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CkBAIC03MzMsMTEgKzcz
MywxMSBAQCBpbmxpbmUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6d2lsbERpc3BhdGNoRXZlbgogICAgIHJldHVybiBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb25Db29raWUoKTsKIH0KIAotaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNv
b2tpZSYgY29va2llKQoraW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRE
aXNwYXRjaEV2ZW50KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYgY29va2ll
LCBib29sIGRlZmF1bHRQcmV2ZW50ZWQpCiB7CiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRF
TkRTKHZvaWQoKSk7CiAgICAgaWYgKGNvb2tpZS5pc1ZhbGlkKCkpCi0gICAgICAgIGRpZERpc3Bh
dGNoRXZlbnRJbXBsKGNvb2tpZSk7CisgICAgICAgIGRpZERpc3BhdGNoRXZlbnRJbXBsKGNvb2tp
ZSwgZGVmYXVsdFByZXZlbnRlZCk7CiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6d2lsbEhhbmRsZUV2ZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQs
IGNvbnN0IEV2ZW50JiBldmVudCwgY29uc3QgUmVnaXN0ZXJlZEV2ZW50TGlzdGVuZXImIGxpc3Rl
bmVyKQpAQCAtNzYyLDExICs3NjIsMTEgQEAgaW5saW5lIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bkNvb2tpZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxEaXNwYXRjaEV2ZW4KICAgICBy
ZXR1cm4gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKCk7CiB9CiAKLWlubGluZSB2b2lk
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudE9uV2luZG93KGNvbnN0
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYgY29va2llKQoraW5saW5lIHZvaWQgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50T25XaW5kb3coY29uc3QgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiBjb29raWUsIGJvb2wgZGVmYXVsdFByZXZlbnRl
ZCkKIHsKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAo
Y29va2llLmlzVmFsaWQoKSkKLSAgICAgICAgZGlkRGlzcGF0Y2hFdmVudE9uV2luZG93SW1wbChj
b29raWUpOworICAgICAgICBkaWREaXNwYXRjaEV2ZW50T25XaW5kb3dJbXBsKGNvb2tpZSwgZGVm
YXVsdFByZXZlbnRlZCk7CiB9CiAKIGlubGluZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29r
aWUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRXZhbHVhdGVTY3JpcHQoRnJhbWUmIGZy
YW1lLCBjb25zdCBTdHJpbmcmIHVybCwgaW50IGxpbmVOdW1iZXIpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKaW5kZXggMWI1MmJm
ZDE4YzguLmE1OWYwNDU0NmI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCkBAIC0zMTEsOCArMzExLDEyIEBAIHZvaWQgSW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbERpc3BhdGNoRXZlbnQoY29uc3QgRXZlbnQmIGV2ZW50
LCBGcmFtZSogZnJhbWUpCiAgICAgcHVzaEN1cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRGYWN0
b3J5OjpjcmVhdGVFdmVudERpc3BhdGNoRGF0YShldmVudCksIFRpbWVsaW5lUmVjb3JkVHlwZTo6
RXZlbnREaXNwYXRjaCwgZmFsc2UsIGZyYW1lKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50OjpkaWREaXNwYXRjaEV2ZW50KCkKK3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6
ZGlkRGlzcGF0Y2hFdmVudChib29sIGRlZmF1bHRQcmV2ZW50ZWQpCiB7CisgICAgVGltZWxpbmVS
ZWNvcmRFbnRyeSYgZW50cnkgPSBtX3JlY29yZFN0YWNrLmxhc3QoKTsKKyAgICBBU1NFUlQoZW50
cnkudHlwZSA9PSBUaW1lbGluZVJlY29yZFR5cGU6OkV2ZW50RGlzcGF0Y2gpOworICAgIFRpbWVs
aW5lUmVjb3JkRmFjdG9yeTo6YXBwZW5kRGlkRGlzcGF0Y2hFdmVudERhdGEoKmVudHJ5LmRhdGEu
Z2V0KCksIGRlZmF1bHRQcmV2ZW50ZWQpOworCiAgICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3Jk
KFRpbWVsaW5lUmVjb3JkVHlwZTo6RXZlbnREaXNwYXRjaCk7CiB9CiAKQEAgLTMzNSw5ICszMzks
MTAgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRMYXlvdXQoUmVuZGVyT2JqZWN0
JiByb290KQogICAgIFZlY3RvcjxGbG9hdFF1YWQ+IHF1YWRzOwogICAgIHJvb3QuYWJzb2x1dGVR
dWFkcyhxdWFkcyk7CiAgICAgaWYgKHF1YWRzLnNpemUoKSA+PSAxKQotICAgICAgICBUaW1lbGlu
ZVJlY29yZEZhY3Rvcnk6OmFwcGVuZExheW91dFJvb3QoZW50cnkuZGF0YS5nZXQoKSwgcXVhZHNb
MF0pOworICAgICAgICBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmFwcGVuZExheW91dFJvb3QoKmVu
dHJ5LmRhdGEuZ2V0KCksIHF1YWRzWzBdKTsKICAgICBlbHNlCiAgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworCiAgICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3Jk
VHlwZTo6TGF5b3V0KTsKIH0KIApAQCAtMzgyLDYgKzM4Nyw3IEBAIHZvaWQgSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudDo6ZGlkUGFpbnQoUmVuZGVyT2JqZWN0JiByZW5kZXJlciwgY29uc3QgTGF5b3V0
UmVjdCYKICAgICBGbG9hdFF1YWQgcXVhZDsKICAgICBsb2NhbFRvUGFnZVF1YWQocmVuZGVyZXIs
IGNsaXBSZWN0LCAmcXVhZCk7CiAgICAgZW50cnkuZGF0YSA9IFRpbWVsaW5lUmVjb3JkRmFjdG9y
eTo6Y3JlYXRlUGFpbnREYXRhKHF1YWQpOworCiAgICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3Jk
KFRpbWVsaW5lUmVjb3JkVHlwZTo6UGFpbnQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAppbmRleCA4NWYwNmRhYWFhMC4uZTRk
ZjdhZThlYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JU
aW1lbGluZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRp
bWVsaW5lQWdlbnQuaApAQCAtMTE5LDcgKzExOSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHdpbGxD
YWxsRnVuY3Rpb24oY29uc3QgU3RyaW5nJiBzY3JpcHROYW1lLCBpbnQgc2NyaXB0TGluZSwgRnJh
bWUqKTsKICAgICB2b2lkIGRpZENhbGxGdW5jdGlvbihGcmFtZSopOwogICAgIHZvaWQgd2lsbERp
c3BhdGNoRXZlbnQoY29uc3QgRXZlbnQmLCBGcmFtZSopOwotICAgIHZvaWQgZGlkRGlzcGF0Y2hF
dmVudCgpOworICAgIHZvaWQgZGlkRGlzcGF0Y2hFdmVudChib29sIGRlZmF1bHRQcmV2ZW50ZWQp
OwogICAgIHZvaWQgd2lsbEV2YWx1YXRlU2NyaXB0KGNvbnN0IFN0cmluZyYsIGludCwgRnJhbWUm
KTsKICAgICB2b2lkIGRpZEV2YWx1YXRlU2NyaXB0KEZyYW1lJik7CiAgICAgdm9pZCBkaWRJbnZh
bGlkYXRlTGF5b3V0KEZyYW1lJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9U
aW1lbGluZVJlY29yZEZhY3RvcnkuY3BwCmluZGV4IDc0YWE3ZmZlODEzLi42MWJlZGNmZjEzMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9y
eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9y
eS5jcHAKQEAgLTE0Niw5ICsxNDYsMTQgQEAgUmVmPEluc3BlY3Rvck9iamVjdD4gVGltZWxpbmVS
ZWNvcmRGYWN0b3J5OjpjcmVhdGVQYWludERhdGEoY29uc3QgRmxvYXRRdWFkJiBxdWEKICAgICBy
ZXR1cm4gZGF0YTsKIH0KIAotdm9pZCBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmFwcGVuZExheW91
dFJvb3QoSW5zcGVjdG9yT2JqZWN0KiBkYXRhLCBjb25zdCBGbG9hdFF1YWQmIHF1YWQpCit2b2lk
IFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6YXBwZW5kTGF5b3V0Um9vdChJbnNwZWN0b3JPYmplY3Qm
IGRhdGEsIGNvbnN0IEZsb2F0UXVhZCYgcXVhZCkKIHsKLSAgICBkYXRhLT5zZXRBcnJheShBU0NJ
SUxpdGVyYWwoInJvb3QiKSwgY3JlYXRlUXVhZChxdWFkKSk7CisgICAgZGF0YS5zZXRBcnJheShB
U0NJSUxpdGVyYWwoInJvb3QiKSwgY3JlYXRlUXVhZChxdWFkKSk7Cit9CisKK3ZvaWQgVGltZWxp
bmVSZWNvcmRGYWN0b3J5OjphcHBlbmREaWREaXNwYXRjaEV2ZW50RGF0YShJbnNwZWN0b3JPYmpl
Y3QmIGRhdGEsIGJvb2wgZGVmYXVsdFByZXZlbnRlZCkKK3sKKyAgICBkYXRhLnNldEJvb2xlYW4o
QVNDSUlMaXRlcmFsKCJkZWZhdWx0UHJldmVudGVkIiksIGRlZmF1bHRQcmV2ZW50ZWQpOwogfQog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
VGltZWxpbmVSZWNvcmRGYWN0b3J5LmgKaW5kZXggZGQ5ZGU2MDEyMGUuLmNlZmM1YjAxOTI4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5o
CkBAIC02MCw3ICs2MCw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEluc3BlY3Rvcjo6SW5z
cGVjdG9yT2JqZWN0PiBjcmVhdGVBbmltYXRpb25GcmFtZURhdGEoaW50IGNhbGxiYWNrSWQpOwog
ICAgIHN0YXRpYyBSZWY8SW5zcGVjdG9yOjpJbnNwZWN0b3JPYmplY3Q+IGNyZWF0ZVBhaW50RGF0
YShjb25zdCBGbG9hdFF1YWQmKTsKIAotICAgIHN0YXRpYyB2b2lkIGFwcGVuZExheW91dFJvb3Qo
SW5zcGVjdG9yOjpJbnNwZWN0b3JPYmplY3QqIGRhdGEsIGNvbnN0IEZsb2F0UXVhZCYpOworICAg
IHN0YXRpYyB2b2lkIGFwcGVuZExheW91dFJvb3QoSW5zcGVjdG9yOjpJbnNwZWN0b3JPYmplY3Qm
IGRhdGEsIGNvbnN0IEZsb2F0UXVhZCYpOworICAgIHN0YXRpYyB2b2lkIGFwcGVuZERpZERpc3Bh
dGNoRXZlbnREYXRhKEluc3BlY3Rvcjo6SW5zcGVjdG9yT2JqZWN0JiBkYXRhLCBib29sIGRlZmF1
bHRQcmV2ZW50ZWQpOwogCiBwcml2YXRlOgogICAgIFRpbWVsaW5lUmVjb3JkRmFjdG9yeSgpIHsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IGNiMTYzOTg2YzgzLi45MmYzZGMxYWQw
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtMjAwMiw3ICsyMDAyLDcgQEAgYm9v
bCBET01XaW5kb3c6OmRpc3BhdGNoRXZlbnQoRXZlbnQmIGV2ZW50LCBFdmVudFRhcmdldCogdGFy
Z2V0KQogCiAgICAgYm9vbCByZXN1bHQgPSBmaXJlRXZlbnRMaXN0ZW5lcnMoZXZlbnQpOwogCi0g
ICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50T25XaW5kb3coY29v
a2llKTsKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERpc3BhdGNoRXZlbnRPbldp
bmRvdyhjb29raWUsIGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQoKSk7CiAKICAgICByZXR1cm4gcmVz
dWx0OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5kZXggZjhlMmRmNDNiODUuLjhlMjNiYTVm
YWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MSBAQAorMjAxNy0wOS0x
MyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IFRpbWVsaW5lIHNob3VsZCBzaG93IHdoZW4gZXZlbnRzIHByZXZlbnREZWZhdWx0
KCkgd2FzIGNhbGxlZCBvbiBhbiBldmVudCBvciBub3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjgyNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MzQyOTA5MzE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGV2aW4gUm91c3NvLgorCisgICAgICAg
ICogTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzOgorICAgICAgICBO
ZXcgc3RyaW5nLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Db250cm9sbGVycy9UaW1lbGlu
ZU1hbmFnZXIuanM6CisgICAgICAgIChXSS5UaW1lbGluZU1hbmFnZXIucHJvdG90eXBlLl9wcm9j
ZXNzUmVjb3JkKToKKyAgICAgICAgSW5jbHVkZSB0aGUgd2hvbGUgZGF0YSBvYmplY3QgYXMgZXh0
cmEgZGV0YWlscy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdFRpbWVs
aW5lUmVjb3JkLmpzOgorICAgICAgICAoV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQpOgorICAgICAg
ICAoV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQucHJvdG90eXBlLmdldCBleHRyYURldGFpbHMpOgor
ICAgICAgICBXaG9sZXNhbGUgY29weSBvZiB0aGUgZXh0cmEgZGF0YSBpbnN0ZWFkIG9mIGp1c3Qg
YSBzaW5nbGUgcHJvcGVydHkuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Njcmlw
dERldGFpbHNUaW1lbGluZVZpZXcuanM6CisgICAgICAgIChXSS5TY3JpcHREZXRhaWxzVGltZWxp
bmVWaWV3KToKKyAgICAgICAgR2l2ZSB0aGUgbmFtZSBjb2x1bW4gbW9yZSBpbml0aWFsIHNwYWNl
LCB0aGVyZSBpcyBzdGlsbCBleHRyYSBzcGFjZQorICAgICAgICBhZnRlciB0aGlzIGFkanVzdG1l
bnQgYnV0IG5hbWUgaXMgY29tZm9ydGFibHkgbGFyZ2VyIChhbmQgdGhlIG1vc3QKKyAgICAgICAg
bGlrZWx5IHRvIGJlIGV4cGFuZGVkKS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
U2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUuanM6CisgICAgICAgIChXSS5TY3JpcHRUaW1lbGlu
ZURhdGFHcmlkTm9kZS5wcm90b3R5cGUuZ2V0IHN1YnRpdGxlKToKKyAgICAgICAgSW5jbHVkZSAi
ZGVmYXVsdCBwcmV2ZW50ZWQiIGFzIHRoZSBldmVudCdzIHN1YnRpdGxlIGlmIGl0IHdhcyBwcmV2
ZW50ZWQuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Byb3RvY29sL0luc3BlY3RvckJhY2tl
bmQuanM6CisgICAgICAgIChJbnNwZWN0b3JCYWNrZW5kLkFnZW50LnByb3RvdHlwZS5kaXNwYXRj
aEV2ZW50KToKKyAgICAgICAgKEluc3BlY3RvckJhY2tlbmQuQWdlbnQpOgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvVGVzdC5odG1sOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVGVzdC9UZXN0
LmpzOgorICAgICAgICAoV0kubG9hZGVkKToKKyAgICAgICAgQWRkIHRoZSBTY3JpcHRQcm9maWxl
ck9ic2VydmVyIHRvIHRlc3RzIHNpbmNlIGl0IGlzIG9uIGJ5IGRlZmF1bHQgZm9yIFRpbWVsaW5l
cy4KKwogMjAxNy0wOS0xMyAgTmlraXRhIFZhc2lseWV2ICA8bnZhc2lseWV2QGFwcGxlLmNvbT4K
IAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBTdHlsZXMgUmVkZXNpZ246IGRpc3BsYXkgQG1lZGlh
IHNlY3Rpb24gaGVhZGVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2Fs
aXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggMTU3
ZmI1ZDE4YjguLmE3MjA0NTI4Nzc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
TG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMK
QEAgLTk3MSw2ICs5NzEsNyBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJaLUluZGV4Il0gPSAiWi1JbmRl
eCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJab29tOiJdID0gIlpvb206IjsKIGxvY2FsaXplZFN0cmlu
Z3NbImNvbXB1dGVkIl0gPSAiY29tcHV0ZWQiOwogbG9jYWxpemVkU3RyaW5nc1siZGVmYXVsdCJd
ID0gImRlZmF1bHQiOworbG9jYWxpemVkU3RyaW5nc1siZGVmYXVsdCBwcmV2ZW50ZWQiXSA9ICJk
ZWZhdWx0IHByZXZlbnRlZCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJmb3IgY2hhbmdlcyB0byB0YWtl
IGVmZmVjdCJdID0gImZvciBjaGFuZ2VzIHRvIHRha2UgZWZmZWN0IjsKIGxvY2FsaXplZFN0cmlu
Z3NbImtleSJdID0gImtleSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJsaW5lICJdID0gImxpbmUgIjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xs
ZXJzL1RpbWVsaW5lTWFuYWdlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdlci5qcwppbmRleCA5ZTE5MzMxODI2Ny4uMGIw
NTgxOTE2MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9UaW1lbGluZU1hbmFnZXIuanMKQEAgLTU2Myw3
ICs1NjMsNyBAQCBXSS5UaW1lbGluZU1hbmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0
ZW5kcyBXSS5PYmplY3QKICAgICAgICAgICAgICAgICByZWNvcmQgPSBuZXcgV0kuU2NyaXB0VGlt
ZWxpbmVSZWNvcmQoV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlRpbWVyRmlyZWQs
IHN0YXJ0VGltZSwgZW5kVGltZSwgY2FsbEZyYW1lcywgc291cmNlQ29kZUxvY2F0aW9uLCBwYXJl
bnRSZWNvcmRQYXlsb2FkLmRhdGEudGltZXJJZCwgcHJvZmlsZURhdGEpOwogICAgICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBUaW1lbGluZUFnZW50LkV2ZW50VHlwZS5FdmVu
dERpc3BhdGNoOgotICAgICAgICAgICAgICAgIHJlY29yZCA9IG5ldyBXSS5TY3JpcHRUaW1lbGlu
ZVJlY29yZChXSS5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuRXZlbnREaXNwYXRjaGVk
LCBzdGFydFRpbWUsIGVuZFRpbWUsIGNhbGxGcmFtZXMsIHNvdXJjZUNvZGVMb2NhdGlvbiwgcGFy
ZW50UmVjb3JkUGF5bG9hZC5kYXRhLnR5cGUsIHByb2ZpbGVEYXRhKTsKKyAgICAgICAgICAgICAg
ICByZWNvcmQgPSBuZXcgV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQoV0kuU2NyaXB0VGltZWxpbmVS
ZWNvcmQuRXZlbnRUeXBlLkV2ZW50RGlzcGF0Y2hlZCwgc3RhcnRUaW1lLCBlbmRUaW1lLCBjYWxs
RnJhbWVzLCBzb3VyY2VDb2RlTG9jYXRpb24sIHBhcmVudFJlY29yZFBheWxvYWQuZGF0YS50eXBl
LCBwcm9maWxlRGF0YSwgcGFyZW50UmVjb3JkUGF5bG9hZC5kYXRhKTsKICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgIGNhc2UgVGltZWxpbmVBZ2VudC5FdmVudFR5cGUuRmlyZUFu
aW1hdGlvbkZyYW1lOgogICAgICAgICAgICAgICAgIHJlY29yZCA9IG5ldyBXSS5TY3JpcHRUaW1l
bGluZVJlY29yZChXSS5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuQW5pbWF0aW9uRnJh
bWVGaXJlZCwgc3RhcnRUaW1lLCBlbmRUaW1lLCBjYWxsRnJhbWVzLCBzb3VyY2VDb2RlTG9jYXRp
b24sIHBhcmVudFJlY29yZFBheWxvYWQuZGF0YS5pZCwgcHJvZmlsZURhdGEpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdFRpbWVs
aW5lUmVjb3JkLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxz
L1NjcmlwdFRpbWVsaW5lUmVjb3JkLmpzCmluZGV4IDVkODdmOThjMzZlLi41ODQzNzU3ZDc3YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1Nj
cmlwdFRpbWVsaW5lUmVjb3JkLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL01vZGVscy9TY3JpcHRUaW1lbGluZVJlY29yZC5qcwpAQCAtMjUsNyArMjUsNyBAQAog
CiBXSS5TY3JpcHRUaW1lbGluZVJlY29yZCA9IGNsYXNzIFNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4
dGVuZHMgV0kuVGltZWxpbmVSZWNvcmQKIHsKLSAgICBjb25zdHJ1Y3RvcihldmVudFR5cGUsIHN0
YXJ0VGltZSwgZW5kVGltZSwgY2FsbEZyYW1lcywgc291cmNlQ29kZUxvY2F0aW9uLCBkZXRhaWxz
LCBwcm9maWxlUGF5bG9hZCkKKyAgICBjb25zdHJ1Y3RvcihldmVudFR5cGUsIHN0YXJ0VGltZSwg
ZW5kVGltZSwgY2FsbEZyYW1lcywgc291cmNlQ29kZUxvY2F0aW9uLCBkZXRhaWxzLCBwcm9maWxl
UGF5bG9hZCwgZXh0cmFEZXRhaWxzKQogICAgIHsKICAgICAgICAgc3VwZXIoV0kuVGltZWxpbmVS
ZWNvcmQuVHlwZS5TY3JpcHQsIHN0YXJ0VGltZSwgZW5kVGltZSwgY2FsbEZyYW1lcywgc291cmNl
Q29kZUxvY2F0aW9uKTsKIApAQCAtMzgsNiArMzgsNyBAQCBXSS5TY3JpcHRUaW1lbGluZVJlY29y
ZCA9IGNsYXNzIFNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4dGVuZHMgV0kuVGltZWxpbmVSZWNvcmQK
ICAgICAgICAgdGhpcy5fZGV0YWlscyA9IGRldGFpbHMgfHwgIiI7CiAgICAgICAgIHRoaXMuX3By
b2ZpbGVQYXlsb2FkID0gcHJvZmlsZVBheWxvYWQgfHwgbnVsbDsKICAgICAgICAgdGhpcy5fcHJv
ZmlsZSA9IG51bGw7CisgICAgICAgIHRoaXMuX2V4dHJhRGV0YWlscyA9IGV4dHJhRGV0YWlscyB8
fCBudWxsOwogCiAgICAgICAgIC8vIENPTVBBVElCSUxJVFkoaU9TIDkpOiBCZWZvcmUgdGhlIFNj
cmlwdFByb2ZpbGVyQWdlbnQgd2UgZGlkIG5vdCBoYXZlIHNhbXBsZSBkYXRhLiBSZXR1cm4gTmFO
IHRvIG1hdGNoIG9sZCBiZWhhdmlvci4KICAgICAgICAgaWYgKCF3aW5kb3cuU2NyaXB0UHJvZmls
ZXJBZ2VudCkKQEAgLTUwLDE1ICs1MSwxMCBAQCBXSS5TY3JpcHRUaW1lbGluZVJlY29yZCA9IGNs
YXNzIFNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4dGVuZHMgV0kuVGltZWxpbmVSZWNvcmQKIAogICAg
IC8vIFB1YmxpYwogCi0gICAgZ2V0IGV2ZW50VHlwZSgpCi0gICAgewotICAgICAgICByZXR1cm4g
dGhpcy5fZXZlbnRUeXBlOwotICAgIH0KLQotICAgIGdldCBkZXRhaWxzKCkKLSAgICB7Ci0gICAg
ICAgIHJldHVybiB0aGlzLl9kZXRhaWxzOwotICAgIH0KKyAgICBnZXQgZXZlbnRUeXBlKCkgeyBy
ZXR1cm4gdGhpcy5fZXZlbnRUeXBlOyB9CisgICAgZ2V0IGRldGFpbHMoKSB7IHJldHVybiB0aGlz
Ll9kZXRhaWxzOyB9CisgICAgZ2V0IGV4dHJhRGV0YWlscygpIHsgcmV0dXJuIHRoaXMuX2V4dHJh
RGV0YWlsczsgfQorICAgIGdldCBjYWxsQ291bnRPclNhbXBsZXMoKSB7IHJldHVybiB0aGlzLl9j
YWxsQ291bnRPclNhbXBsZXM7IH0KIAogICAgIGdldCBwcm9maWxlKCkKICAgICB7CkBAIC02Niwx
MSArNjIsNiBAQCBXSS5TY3JpcHRUaW1lbGluZVJlY29yZCA9IGNsYXNzIFNjcmlwdFRpbWVsaW5l
UmVjb3JkIGV4dGVuZHMgV0kuVGltZWxpbmVSZWNvcmQKICAgICAgICAgcmV0dXJuIHRoaXMuX3By
b2ZpbGU7CiAgICAgfQogCi0gICAgZ2V0IGNhbGxDb3VudE9yU2FtcGxlcygpCi0gICAgewotICAg
ICAgICByZXR1cm4gdGhpcy5fY2FsbENvdW50T3JTYW1wbGVzOwotICAgIH0KLQogICAgIGlzR2Fy
YmFnZUNvbGxlY3Rpb24oKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMuX2V2ZW50VHlwZSA9
PT0gV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkdhcmJhZ2VDb2xsZWN0ZWQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9J
bnNwZWN0b3JCYWNrZW5kLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
UHJvdG9jb2wvSW5zcGVjdG9yQmFja2VuZC5qcwppbmRleCBlYjc2NjUxMGZjYy4uMGVlOWVhYTMz
ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3Rv
Y29sL0luc3BlY3RvckJhY2tlbmQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvUHJvdG9jb2wvSW5zcGVjdG9yQmFja2VuZC5qcwpAQCAtMjg1LDYgKzI4NSwxMSBA
QCBJbnNwZWN0b3JCYWNrZW5kLkFnZW50ID0gY2xhc3MgSW5zcGVjdG9yQmFja2VuZEFnZW50CiAK
ICAgICBkaXNwYXRjaEV2ZW50KGV2ZW50TmFtZSwgZXZlbnRBcmd1bWVudHMpCiAgICAgeworICAg
ICAgICBpZiAoIXRoaXMuX2Rpc3BhdGNoZXIpIHsKKyAgICAgICAgICAgIGNvbnNvbGUuZXJyb3Io
Ik5vIGRvbWFpbiBkaXNwYXRjaGVyIHJlZ2lzdGVyZWQgZm9yIGRvbWFpbiAnIiArIHRoaXMuX2Rv
bWFpbk5hbWUgKyAiJyIpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisK
ICAgICAgICAgaWYgKCEoZXZlbnROYW1lIGluIHRoaXMuX2Rpc3BhdGNoZXIpKSB7CiAgICAgICAg
ICAgICBjb25zb2xlLmVycm9yKCJQcm90b2NvbCBFcnJvcjogQXR0ZW1wdGVkIHRvIGRpc3BhdGNo
IGFuIHVuaW1wbGVtZW50ZWQgbWV0aG9kICciICsgdGhpcy5fZG9tYWluTmFtZSArICIuIiArIGV2
ZW50TmFtZSArICInIik7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0Lmh0bWwgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0Lmh0bWwKaW5kZXggZDU1YTI5MGQzMmUuLjU3
Zjk2OTRmNWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9UZXN0Lmh0bWwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVz
dC5odG1sCkBAIC04Miw2ICs4Miw3IEBACiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL1BhZ2VP
YnNlcnZlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL1JlbW90ZU9i
amVjdC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL1J1bnRpbWVPYnNl
cnZlci5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL1NjcmlwdFByb2Zp
bGVyT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9UaW1l
bGluZU9ic2VydmVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUHJvdG9jb2wvV29y
a2VyT2JzZXJ2ZXIuanMiPjwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9UZXN0L1Rlc3QuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9UZXN0L1Rlc3QuanMKaW5kZXggNmYzMWI1ZDI0OGQuLjVmZTA0MDg2Y2Mw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0L1Rl
c3QuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC9UZXN0
LmpzCkBAIC0zOCwxMSArMzgsMTIgQEAgV0kubG9hZGVkID0gZnVuY3Rpb24oKQogICAgIEluc3Bl
Y3RvckJhY2tlbmQucmVnaXN0ZXJJbnNwZWN0b3JEaXNwYXRjaGVyKG5ldyBXSS5JbnNwZWN0b3JP
YnNlcnZlcik7CiAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlclBhZ2VEaXNwYXRjaGVyKG5l
dyBXSS5QYWdlT2JzZXJ2ZXIpOwogICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb25zb2xl
RGlzcGF0Y2hlcihuZXcgV0kuQ29uc29sZU9ic2VydmVyKTsKLSAgICBJbnNwZWN0b3JCYWNrZW5k
LnJlZ2lzdGVyRE9NRGlzcGF0Y2hlcihuZXcgV0kuRE9NT2JzZXJ2ZXIpOwogICAgIEluc3BlY3Rv
ckJhY2tlbmQucmVnaXN0ZXJOZXR3b3JrRGlzcGF0Y2hlcihuZXcgV0kuTmV0d29ya09ic2VydmVy
KTsKKyAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRE9NRGlzcGF0Y2hlcihuZXcgV0kuRE9N
T2JzZXJ2ZXIpOwogICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEZWJ1Z2dlckRpc3BhdGNo
ZXIobmV3IFdJLkRlYnVnZ2VyT2JzZXJ2ZXIpOwogICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0
ZXJIZWFwRGlzcGF0Y2hlcihuZXcgV0kuSGVhcE9ic2VydmVyKTsKICAgICBJbnNwZWN0b3JCYWNr
ZW5kLnJlZ2lzdGVyRE9NU3RvcmFnZURpc3BhdGNoZXIobmV3IFdJLkRPTVN0b3JhZ2VPYnNlcnZl
cik7CisgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlclNjcmlwdFByb2ZpbGVyRGlzcGF0Y2hl
cihuZXcgV0kuU2NyaXB0UHJvZmlsZXJPYnNlcnZlcik7CiAgICAgSW5zcGVjdG9yQmFja2VuZC5y
ZWdpc3RlclRpbWVsaW5lRGlzcGF0Y2hlcihuZXcgV0kuVGltZWxpbmVPYnNlcnZlcik7CiAgICAg
SW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNTU0Rpc3BhdGNoZXIobmV3IFdJLkNTU09ic2VydmVy
KTsKICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyUnVudGltZURpc3BhdGNoZXIobmV3IFdJ
LlJ1bnRpbWVPYnNlcnZlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9TY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3LmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmll
dy5qcwppbmRleCBkYWFmZTEwZThmOS4uOTNlZjI0Yjc3YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdERldGFpbHNUaW1lbGluZVZp
ZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2Ny
aXB0RGV0YWlsc1RpbWVsaW5lVmlldy5qcwpAQCAtMzQsNyArMzQsNyBAQCBXSS5TY3JpcHREZXRh
aWxzVGltZWxpbmVWaWV3ID0gY2xhc3MgU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldyBleHRlbmRz
IFdJLlRpbWVsaQogICAgICAgICBsZXQgY29sdW1ucyA9IHtuYW1lOiB7fSwgbG9jYXRpb246IHt9
LCBjYWxsQ291bnQ6IHt9LCBzdGFydFRpbWU6IHt9LCB0b3RhbFRpbWU6IHt9LCBzZWxmVGltZTog
e30sIGF2ZXJhZ2VUaW1lOiB7fX07CiAKICAgICAgICAgY29sdW1ucy5uYW1lLnRpdGxlID0gV0ku
VUlTdHJpbmcoIk5hbWUiKTsKLSAgICAgICAgY29sdW1ucy5uYW1lLndpZHRoID0gIjEwJSI7Cisg
ICAgICAgIGNvbHVtbnMubmFtZS53aWR0aCA9ICIzMCUiOwogICAgICAgICBjb2x1bW5zLm5hbWUu
aWNvbiA9IHRydWU7CiAgICAgICAgIGNvbHVtbnMubmFtZS5kaXNjbG9zdXJlID0gdHJ1ZTsKICAg
ICAgICAgY29sdW1ucy5uYW1lLmxvY2tlZCA9IHRydWU7CkBAIC02OSw3ICs2OSw3IEBAIFdJLlNj
cmlwdERldGFpbHNUaW1lbGluZVZpZXcgPSBjbGFzcyBTY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3
IGV4dGVuZHMgV0kuVGltZWxpCiAgICAgICAgIGNvbHVtbnMuYXZlcmFnZVRpbWUud2lkdGggPSAi
MTAlIjsKICAgICAgICAgY29sdW1ucy5hdmVyYWdlVGltZS5hbGlnbmVkID0gInJpZ2h0IjsKIAot
ICAgICAgICBmb3IgKHZhciBjb2x1bW4gaW4gY29sdW1ucykKKyAgICAgICAgZm9yIChsZXQgY29s
dW1uIGluIGNvbHVtbnMpCiAgICAgICAgICAgICBjb2x1bW5zW2NvbHVtbl0uc29ydGFibGUgPSB0
cnVlOwogCiAgICAgICAgIHRoaXMuX2RhdGFHcmlkID0gbmV3IFdJLlNjcmlwdFRpbWVsaW5lRGF0
YUdyaWQoY29sdW1ucyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2Rl
LmpzCmluZGV4IDA1ZDlhZDE0YzNiLi5mYTJkMGQwNjBhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5v
ZGUuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2Ny
aXB0VGltZWxpbmVEYXRhR3JpZE5vZGUuanMKQEAgLTEwMCw2ICsxMDAsOSBAQCBXSS5TY3JpcHRU
aW1lbGluZURhdGFHcmlkTm9kZSA9IGNsYXNzIFNjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlIGV4
dGVuZHMgV0kuVGltZQogICAgICAgICAgICAgICAgIHRoaXMuX3N1YnRpdGxlID0gV0kuVUlTdHJp
bmcoIiVzIGludGVydmFsIikuZm9ybWF0KHRpbWVvdXRTdHJpbmcpOwogICAgICAgICAgICAgZWxz
ZQogICAgICAgICAgICAgICAgIHRoaXMuX3N1YnRpdGxlID0gV0kuVUlTdHJpbmcoIiVzIGRlbGF5
IikuZm9ybWF0KHRpbWVvdXRTdHJpbmcpOworICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX3JlY29y
ZC5ldmVudFR5cGUgPT09IFdJLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5FdmVudERp
c3BhdGNoZWQpIHsKKyAgICAgICAgICAgIGlmICh0aGlzLl9yZWNvcmQuZXh0cmFEZXRhaWxzICYm
IHRoaXMuX3JlY29yZC5leHRyYURldGFpbHMuZGVmYXVsdFByZXZlbnRlZCkKKyAgICAgICAgICAg
ICAgICB0aGlzLl9zdWJ0aXRsZSA9IFdJLlVJU3RyaW5nKCJkZWZhdWx0IHByZXZlbnRlZCIpOwog
ICAgICAgICB9CiAKICAgICAgICAgcmV0dXJuIHRoaXMuX3N1YnRpdGxlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>320789</attachid>
            <date>2017-09-14 10:52:29 -0700</date>
            <delta_ts>2019-03-17 20:57:53 -0700</delta_ts>
            <desc>[PATCH] For Landing</desc>
            <filename>for-landing-2.patch</filename>
            <type>text/plain</type>
            <size>34277</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwMDUzZDExOGYzZC4uZGVmNTY1Yjk5N2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAor
MjAxNy0wOS0xMyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IFRpbWVsaW5lIHNob3VsZCBzaG93IHdoZW4gZXZlbnRzIHByZXZl
bnREZWZhdWx0KCkgd2FzIGNhbGxlZCBvbiBhbiBldmVudCBvciBub3QKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjgyNAorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMzQyOTA5MzE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGV2aW4gUm91c3NvLgor
CisgICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5lL3Jlc291cmNlcy90aW1lbGluZS1ldmVudC11
dGlsaXRpZXMuanM6IEFkZGVkLgorICAgICAgICAoVGVzdFBhZ2UucmVnaXN0ZXJJbml0aWFsaXpl
ci53aW5kb3cuY2FwdHVyZVRpbWVsaW5lV2l0aFNjcmlwdCk6CisgICAgICAgIChUZXN0UGFnZS5y
ZWdpc3RlckluaXRpYWxpemVyKToKKyAgICAgICAgKGZpbmlzaFJlY29yZGluZyk6CisgICAgICAg
IEhlbHBlciBjb2RlIGZvciBjcmVhdGluZyBhIHJlY29yZGluZyBmcm9tIGEgZnVuY3Rpb24uCisK
KyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtRXZlbnREaXNwYXRj
aC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1l
bGluZS1ldmVudC1FdmVudERpc3BhdGNoLmh0bWw6IEFkZGVkLgorICAgICAgICBUZXN0IGZvciBU
aW1lbGluZSdzIEV2ZW50RGlzcGF0Y2ggcmVjb3Jkcy4gRW5zdXJlIGl0IGhhcworICAgICAgICB0
aGUgbmV3ICJkZWZhdWx0UHJldmVudGVkIiBkZXRhaWxzIGRhdGEuCisKIDIwMTctMDktMTMgIE1h
dHQgTGV3aXMgIDxqbGV3aXMzQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xs
aW5nIG91dCByMjIxOTc2LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVs
aW5lL3Jlc291cmNlcy90aW1lbGluZS1ldmVudC11dGlsaXRpZXMuanMgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvdGltZWxpbmUvcmVzb3VyY2VzL3RpbWVsaW5lLWV2ZW50LXV0aWxpdGllcy5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYmUyMTI3NWRlZWYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvcmVzb3VyY2VzL3Rp
bWVsaW5lLWV2ZW50LXV0aWxpdGllcy5qcwpAQCAtMCwwICsxLDIzIEBACitUZXN0UGFnZS5yZWdp
c3RlckluaXRpYWxpemVyKCgpID0+IHsKKyAgICB3aW5kb3cucGFnZVJlY29yZGluZ0RhdGEgPSBu
dWxsOworCisgICAgd2luZG93LmNhcHR1cmVUaW1lbGluZVdpdGhTY3JpcHQgPSBmdW5jdGlvbihl
eHByZXNzaW9uKSB7CisgICAgICAgIHBhZ2VSZWNvcmRpbmdEYXRhID0gbnVsbDsKKworICAgICAg
ICBJbnNwZWN0b3JUZXN0LmxvZygiU3RhcnRpbmcgQ2FwdHVyZS4uLiIpOworICAgICAgICBjb25z
dCBuZXdSZWNvcmRpbmcgPSB0cnVlOworICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuc3RhcnRD
YXB0dXJpbmcobmV3UmVjb3JkaW5nKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUlu
UGFnZShleHByZXNzaW9uKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hd2FpdEV2ZW50KCJGaW5p
c2hSZWNvcmRpbmciKS50aGVuKChldmVudCkgPT4geworICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5sb2coIlN0b3BwaW5nIENhcHR1cmUuLi4iKTsKKyAgICAgICAgICAgIHBhZ2VSZWNvcmRpbmdE
YXRhID0gZXZlbnQuZGF0YTsKKyAgICAgICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5zdG9wQ2Fw
dHVyaW5nKCk7CisgICAgICAgIH0pOworCisgICAgICAgIHJldHVybiBXSS50aW1lbGluZU1hbmFn
ZXIuYXdhaXRFdmVudChXSS5UaW1lbGluZU1hbmFnZXIuRXZlbnQuQ2FwdHVyaW5nU3RvcHBlZCk7
CisgICAgfQorfSk7CisKK2Z1bmN0aW9uIGZpbmlzaFJlY29yZGluZyhkYXRhKSB7CisgICAgVGVz
dFBhZ2UuZGlzcGF0Y2hFdmVudFRvRnJvbnRlbmQoIkZpbmlzaFJlY29yZGluZyIsIGRhdGEpOwor
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2
ZW50LUV2ZW50RGlzcGF0Y2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Rp
bWVsaW5lL3RpbWVsaW5lLWV2ZW50LUV2ZW50RGlzcGF0Y2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5mZjExYzQzZDhlZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1FdmVu
dERpc3BhdGNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM3IEBACitUZXN0cyAnRXZlbnREaXNw
YXRjaCcgVGltZWxpbmUgZXZlbnQgcmVjb3Jkcy4KKworIAorCis9PSBSdW5uaW5nIHRlc3Qgc3Vp
dGU6IFRpbWVsaW5lRXZlbnQuRXZlbnREaXNwYXRjaAorLS0gUnVubmluZyB0ZXN0IGNhc2U6IFRp
bWVsaW5lRXZlbnQuRXZlbnREaXNwYXRjaC5IYW5kbGVyLlJlZ3VsYXIKK1N0YXJ0aW5nIENhcHR1
cmUuLi4KK2NsaWNrIGhhbmRsZXIgZmlyZWQKK1N0b3BwaW5nIENhcHR1cmUuLi4KK1BBU1M6IFNo
b3VsZCBiZSAxIEV2ZW50RGlzcGF0Y2hlZCByZWNvcmQuCitERVRBSUxTOiB7InR5cGUiOiJjbGlj
ayIsImRlZmF1bHRQcmV2ZW50ZWQiOmZhbHNlfQorUEFTUzogU2NyaXB0VGltZWxpbmVSZWNvcmQg
ZXh0cmFEZXRhaWxzIHNob3VsZCBzaG93IGRlZmF1bHQgd2FzIG5vdCBwcmV2ZW50ZWQuCisKKy0t
IFJ1bm5pbmcgdGVzdCBjYXNlOiBUaW1lbGluZUV2ZW50LkV2ZW50RGlzcGF0Y2guSGFuZGxlci5E
ZWZhdWx0UHJldmVudGVkCitTdGFydGluZyBDYXB0dXJlLi4uCitjbGljayBoYW5kbGVyIGZpcmVk
LCB3aWxsIHByZXZlbnQgZGVmYXVsdAorU3RvcHBpbmcgQ2FwdHVyZS4uLgorUEFTUzogU2hvdWxk
IGJlIDEgRXZlbnREaXNwYXRjaGVkIHJlY29yZC4KK0RFVEFJTFM6IHsidHlwZSI6ImNsaWNrIiwi
ZGVmYXVsdFByZXZlbnRlZCI6dHJ1ZX0KK1BBU1M6IFNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4dHJh
RGV0YWlscyBzaG91bGQgc2hvdyBkZWZhdWx0IHdhcyBwcmV2ZW50ZWQuCisKKy0tIFJ1bm5pbmcg
dGVzdCBjYXNlOiBUaW1lbGluZUV2ZW50LkV2ZW50RGlzcGF0Y2guQXR0cmlidXRlSGFuZGxlci5S
ZWd1bGFyCitTdGFydGluZyBDYXB0dXJlLi4uCitiMSBvbmNsaWNrIGF0dHJpYnV0ZSBoYW5kbGVy
IGZpcmVkCitTdG9wcGluZyBDYXB0dXJlLi4uCitQQVNTOiBTaG91bGQgYmUgMSBFdmVudERpc3Bh
dGNoZWQgcmVjb3JkLgorREVUQUlMUzogeyJ0eXBlIjoiY2xpY2siLCJkZWZhdWx0UHJldmVudGVk
IjpmYWxzZX0KK1BBU1M6IFNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4dHJhRGV0YWlscyBzaG91bGQg
c2hvdyBkZWZhdWx0IHdhcyBub3QgcHJldmVudGVkLgorCistLSBSdW5uaW5nIHRlc3QgY2FzZTog
VGltZWxpbmVFdmVudC5FdmVudERpc3BhdGNoLkF0dHJpYnV0ZUhhbmRsZXIuRGVmYXVsdFByZXZl
bnRlZAorU3RhcnRpbmcgQ2FwdHVyZS4uLgorYjIgb25jbGljayBhdHRyaWJ1dGUgaGFuZGxlciBm
aXJlZCwgd2lsbCBwcmV2ZW50IGRlZmF1bHQKK1N0b3BwaW5nIENhcHR1cmUuLi4KK1BBU1M6IFNo
b3VsZCBiZSAxIEV2ZW50RGlzcGF0Y2hlZCByZWNvcmQuCitERVRBSUxTOiB7InR5cGUiOiJjbGlj
ayIsImRlZmF1bHRQcmV2ZW50ZWQiOnRydWV9CitQQVNTOiBTY3JpcHRUaW1lbGluZVJlY29yZCBl
eHRyYURldGFpbHMgc2hvdWxkIHNob3cgZGVmYXVsdCB3YXMgcHJldmVudGVkLgorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtRXZlbnRE
aXNwYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2
ZW50LUV2ZW50RGlzcGF0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMC4uNTMwNzFjMjYzYjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtRXZlbnREaXNwYXRjaC5odG1sCkBAIC0wLDAgKzEs
MTEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy90aW1lbGluZS1ldmVudC11dGlsaXRpZXMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3RDbGlja0V2ZW50SGFuZGxlcih7
cHJldmVudERlZmF1bHR9KSB7CisgICAgbGV0IGJ1dHRvbiA9IGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIikpOworICAgIGJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIChldmVudCkgPT4geworICAgICAgICBUZXN0UGFnZS5hZGRS
ZXN1bHQoImNsaWNrIGhhbmRsZXIgZmlyZWQiICsgKHByZXZlbnREZWZhdWx0ID8gIiwgd2lsbCBw
cmV2ZW50IGRlZmF1bHQiIDogIiIpKTsKKyAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IGZpbmlz
aFJlY29yZGluZyh7cHJldmVudERlZmF1bHR9KTsgfSk7CisgICAgICAgIGlmIChwcmV2ZW50RGVm
YXVsdCkKKyAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CisgICAgfSk7CisKKyAg
ICBidXR0b24uZGlzcGF0Y2hFdmVudChuZXcgTW91c2VFdmVudCgiY2xpY2siLCB7YnViYmxlczog
dHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZX0pKTsKK30KKworZnVuY3Rpb24gdGVzdENsaWNrRXZlbnRB
dHRyaWJ1dGVIYW5kbGVyKGlkLCB7cHJldmVudERlZmF1bHR9KSB7CisgICAgbGV0IGJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsKKyAgICBidXR0b24uZGlzcGF0Y2hFdmVudChu
ZXcgTW91c2VFdmVudCgiY2xpY2siLCB7YnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZX0p
KTsKKyAgICBzZXRUaW1lb3V0KCgpID0+IHsgZmluaXNoUmVjb3JkaW5nKHtwcmV2ZW50RGVmYXVs
dH0pOyB9KTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgbGV0IHN1aXRlID0gSW5zcGVj
dG9yVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJUaW1lbGluZUV2ZW50LkV2ZW50RGlzcGF0Y2giKTsK
KworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogIlRpbWVsaW5lRXZlbnQu
RXZlbnREaXNwYXRjaC5IYW5kbGVyLlJlZ3VsYXIiLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJl
amVjdCkgeworICAgICAgICAgICAgY2FwdHVyZVRpbWVsaW5lV2l0aFNjcmlwdChgdGVzdENsaWNr
RXZlbnRIYW5kbGVyKHtwcmV2ZW50RGVmYXVsdDogZmFsc2V9KWApLnRoZW4oKCkgPT4geworICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHR5cGVvZiBwYWdlUmVjb3JkaW5nRGF0
YS5wcmV2ZW50RGVmYXVsdCA9PT0gImJvb2xlYW4iKTsKKworICAgICAgICAgICAgICAgIGxldCBy
ZWNvcmRpbmcgPSBXSS50aW1lbGluZU1hbmFnZXIuYWN0aXZlUmVjb3JkaW5nOworICAgICAgICAg
ICAgICAgIGxldCBzY3JpcHRUaW1lbGluZSA9IHJlY29yZGluZy50aW1lbGluZXMuZ2V0KFdJLlRp
bWVsaW5lUmVjb3JkLlR5cGUuU2NyaXB0KTsKKyAgICAgICAgICAgICAgICBsZXQgcmVjb3JkcyA9
IHNjcmlwdFRpbWVsaW5lLnJlY29yZHMuZmlsdGVyKCh4KSA9PiB4LmV2ZW50VHlwZSA9PT0gV0ku
U2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkV2ZW50RGlzcGF0Y2hlZCk7CisgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZWNvcmRzLmxlbmd0aCwgMSwgIlNo
b3VsZCBiZSAxIEV2ZW50RGlzcGF0Y2hlZCByZWNvcmQuIik7CisgICAgICAgICAgICAgICAgZm9y
IChsZXQgcmVjb3JkIG9mIHJlY29yZHMpIHsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5sb2coIkRFVEFJTFM6ICIgKyBKU09OLnN0cmluZ2lmeShyZWNvcmQuZXh0cmFEZXRhaWxz
KSk7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVjb3Jk
LmV4dHJhRGV0YWlscy5kZWZhdWx0UHJldmVudGVkLCBwYWdlUmVjb3JkaW5nRGF0YS5wcmV2ZW50
RGVmYXVsdCwgIlNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4dHJhRGV0YWlscyBzaG91bGQgc2hvdyBk
ZWZhdWx0IHdhcyBub3QgcHJldmVudGVkLiIpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0pLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTsKKyAgICAgICAgfQorICAgIH0pOworCisgICAg
c3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiVGltZWxpbmVFdmVudC5FdmVudERp
c3BhdGNoLkhhbmRsZXIuRGVmYXVsdFByZXZlbnRlZCIsCisgICAgICAgIHRlc3QocmVzb2x2ZSwg
cmVqZWN0KSB7CisgICAgICAgICAgICBjYXB0dXJlVGltZWxpbmVXaXRoU2NyaXB0KGB0ZXN0Q2xp
Y2tFdmVudEhhbmRsZXIoe3ByZXZlbnREZWZhdWx0OiB0cnVlfSlgKS50aGVuKCgpID0+IHsKKyAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0eXBlb2YgcGFnZVJlY29yZGluZ0Rh
dGEucHJldmVudERlZmF1bHQgPT09ICJib29sZWFuIik7CisKKyAgICAgICAgICAgICAgICBsZXQg
cmVjb3JkaW5nID0gV0kudGltZWxpbmVNYW5hZ2VyLmFjdGl2ZVJlY29yZGluZzsKKyAgICAgICAg
ICAgICAgICBsZXQgc2NyaXB0VGltZWxpbmUgPSByZWNvcmRpbmcudGltZWxpbmVzLmdldChXSS5U
aW1lbGluZVJlY29yZC5UeXBlLlNjcmlwdCk7CisgICAgICAgICAgICAgICAgbGV0IHJlY29yZHMg
PSBzY3JpcHRUaW1lbGluZS5yZWNvcmRzLmZpbHRlcigoeCkgPT4geC5ldmVudFR5cGUgPT09IFdJ
LlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5FdmVudERpc3BhdGNoZWQpOworICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVjb3Jkcy5sZW5ndGgsIDEsICJT
aG91bGQgYmUgMSBFdmVudERpc3BhdGNoZWQgcmVjb3JkLiIpOworICAgICAgICAgICAgICAgIGZv
ciAobGV0IHJlY29yZCBvZiByZWNvcmRzKSB7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QubG9nKCJERVRBSUxTOiAiICsgSlNPTi5zdHJpbmdpZnkocmVjb3JkLmV4dHJhRGV0YWls
cykpOworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29y
ZC5leHRyYURldGFpbHMuZGVmYXVsdFByZXZlbnRlZCwgcGFnZVJlY29yZGluZ0RhdGEucHJldmVu
dERlZmF1bHQsICJTY3JpcHRUaW1lbGluZVJlY29yZCBleHRyYURldGFpbHMgc2hvdWxkIHNob3cg
ZGVmYXVsdCB3YXMgcHJldmVudGVkLiIpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0pLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTsKKyAgICAgICAgfQorICAgIH0pOworCisgICAgc3Vp
dGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiVGltZWxpbmVFdmVudC5FdmVudERpc3Bh
dGNoLkF0dHJpYnV0ZUhhbmRsZXIuUmVndWxhciIsCisgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVq
ZWN0KSB7CisgICAgICAgICAgICBjYXB0dXJlVGltZWxpbmVXaXRoU2NyaXB0KGB0ZXN0Q2xpY2tF
dmVudEF0dHJpYnV0ZUhhbmRsZXIoImIxIiwge3ByZXZlbnREZWZhdWx0OiBmYWxzZX0pYCkudGhl
bigoKSA9PiB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQodHlwZW9mIHBh
Z2VSZWNvcmRpbmdEYXRhLnByZXZlbnREZWZhdWx0ID09PSAiYm9vbGVhbiIpOworCisgICAgICAg
ICAgICAgICAgbGV0IHJlY29yZGluZyA9IFdJLnRpbWVsaW5lTWFuYWdlci5hY3RpdmVSZWNvcmRp
bmc7CisgICAgICAgICAgICAgICAgbGV0IHNjcmlwdFRpbWVsaW5lID0gcmVjb3JkaW5nLnRpbWVs
aW5lcy5nZXQoV0kuVGltZWxpbmVSZWNvcmQuVHlwZS5TY3JpcHQpOworICAgICAgICAgICAgICAg
IGxldCByZWNvcmRzID0gc2NyaXB0VGltZWxpbmUucmVjb3Jkcy5maWx0ZXIoKHgpID0+IHguZXZl
bnRUeXBlID09PSBXSS5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuRXZlbnREaXNwYXRj
aGVkKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29yZHMu
bGVuZ3RoLCAxLCAiU2hvdWxkIGJlIDEgRXZlbnREaXNwYXRjaGVkIHJlY29yZC4iKTsKKyAgICAg
ICAgICAgICAgICBmb3IgKGxldCByZWNvcmQgb2YgcmVjb3JkcykgeworICAgICAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmxvZygiREVUQUlMUzogIiArIEpTT04uc3RyaW5naWZ5KHJlY29y
ZC5leHRyYURldGFpbHMpKTsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBl
Y3RFcXVhbChyZWNvcmQuZXh0cmFEZXRhaWxzLmRlZmF1bHRQcmV2ZW50ZWQsIHBhZ2VSZWNvcmRp
bmdEYXRhLnByZXZlbnREZWZhdWx0LCAiU2NyaXB0VGltZWxpbmVSZWNvcmQgZXh0cmFEZXRhaWxz
IHNob3VsZCBzaG93IGRlZmF1bHQgd2FzIG5vdCBwcmV2ZW50ZWQuIik7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSkudGhlbihyZXNvbHZlLCByZWplY3QpOworICAgICAgICB9Cisg
ICAgfSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJUaW1lbGlu
ZUV2ZW50LkV2ZW50RGlzcGF0Y2guQXR0cmlidXRlSGFuZGxlci5EZWZhdWx0UHJldmVudGVkIiwK
KyAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAgICAgICAgICAgIGNhcHR1cmVUaW1l
bGluZVdpdGhTY3JpcHQoYHRlc3RDbGlja0V2ZW50QXR0cmlidXRlSGFuZGxlcigiYjIiLCB7cHJl
dmVudERlZmF1bHQ6IHRydWV9KWApLnRoZW4oKCkgPT4geworICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYXNzZXJ0KHR5cGVvZiBwYWdlUmVjb3JkaW5nRGF0YS5wcmV2ZW50RGVmYXVsdCA9
PT0gImJvb2xlYW4iKTsKKworICAgICAgICAgICAgICAgIGxldCByZWNvcmRpbmcgPSBXSS50aW1l
bGluZU1hbmFnZXIuYWN0aXZlUmVjb3JkaW5nOworICAgICAgICAgICAgICAgIGxldCBzY3JpcHRU
aW1lbGluZSA9IHJlY29yZGluZy50aW1lbGluZXMuZ2V0KFdJLlRpbWVsaW5lUmVjb3JkLlR5cGUu
U2NyaXB0KTsKKyAgICAgICAgICAgICAgICBsZXQgcmVjb3JkcyA9IHNjcmlwdFRpbWVsaW5lLnJl
Y29yZHMuZmlsdGVyKCh4KSA9PiB4LmV2ZW50VHlwZSA9PT0gV0kuU2NyaXB0VGltZWxpbmVSZWNv
cmQuRXZlbnRUeXBlLkV2ZW50RGlzcGF0Y2hlZCk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5leHBlY3RFcXVhbChyZWNvcmRzLmxlbmd0aCwgMSwgIlNob3VsZCBiZSAxIEV2ZW50RGlz
cGF0Y2hlZCByZWNvcmQuIik7CisgICAgICAgICAgICAgICAgZm9yIChsZXQgcmVjb3JkIG9mIHJl
Y29yZHMpIHsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkRFVEFJTFM6
ICIgKyBKU09OLnN0cmluZ2lmeShyZWNvcmQuZXh0cmFEZXRhaWxzKSk7CisgICAgICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVjb3JkLmV4dHJhRGV0YWlscy5kZWZh
dWx0UHJldmVudGVkLCBwYWdlUmVjb3JkaW5nRGF0YS5wcmV2ZW50RGVmYXVsdCwgIlNjcmlwdFRp
bWVsaW5lUmVjb3JkIGV4dHJhRGV0YWlscyBzaG91bGQgc2hvdyBkZWZhdWx0IHdhcyBwcmV2ZW50
ZWQuIik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSkudGhlbihyZXNvbHZlLCBy
ZWplY3QpOworICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRG
aW5pc2goKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCki
PgorPHA+VGVzdHMgJ0V2ZW50RGlzcGF0Y2gnIFRpbWVsaW5lIGV2ZW50IHJlY29yZHMuPC9wPgor
PGJ1dHRvbiBpZD0iYjEiIG9uY2xpY2s9IlRlc3RQYWdlLmFkZFJlc3VsdCgnYjEgb25jbGljayBh
dHRyaWJ1dGUgaGFuZGxlciBmaXJlZCcpOyByZXR1cm4gdHJ1ZSI+PC9idXR0b24+Cis8YnV0dG9u
IGlkPSJiMiIgb25jbGljaz0iVGVzdFBhZ2UuYWRkUmVzdWx0KCdiMiBvbmNsaWNrIGF0dHJpYnV0
ZSBoYW5kbGVyIGZpcmVkLCB3aWxsIHByZXZlbnQgZGVmYXVsdCcpOyByZXR1cm4gZmFsc2UiPjwv
YnV0dG9uPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDU5ZDZhYzFkMzY5Li45NmU0
NGM5ZWIzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE3LTA5LTEzICBKb3NlcGgg
UGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3Rvcjog
VGltZWxpbmUgc2hvdWxkIHNob3cgd2hlbiBldmVudHMgcHJldmVudERlZmF1bHQoKSB3YXMgY2Fs
bGVkIG9uIGFuIGV2ZW50IG9yIG5vdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTc2ODI0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNDI5MDkzMT4K
KworICAgICAgICBSZXZpZXdlZCBieSBEZXZpbiBSb3Vzc28uCisKKyAgICAgICAgVGVzdDogaW5z
cGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUV2ZW50RGlzcGF0Y2guaHRtbAorCisgICAg
ICAgICogZG9tL0V2ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50VGFyZ2V0
OjpmaXJlRXZlbnRMaXN0ZW5lcnMpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6ZGlzcGF0Y2hFdmVudCk6CisgICAgICAgIEluY2x1
ZGUgZGVmYXVsdFByZXZlbnRlZCB3aGVuIG5vdGlmeWluZyBpbnNwZWN0b3IuCisKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudEltcGwpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50
T25XaW5kb3dJbXBsKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERp
c3BhdGNoRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWREaXNwYXRjaEV2ZW50T25XaW5kb3cpOgorICAgICAgICBQYXNzIGRlZmF1bHRQcmV2ZW50
ZWQgb24gdG8gYWdlbnQuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRE
aXNwYXRjaEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6
OmRpZExheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojpk
aWRQYWludCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaDoK
KyAgICAgICAgKiBpbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6YXBwZW5kTGF5b3V0Um9vdCk6CisgICAg
ICAgIChXZWJDb3JlOjpUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmFwcGVuZERpZERpc3BhdGNoRXZl
bnREYXRhKToKKyAgICAgICAgKiBpbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5Lmg6Cisg
ICAgICAgIEFwcGVuZCBhIGJvb2xlYW4gZGVmYXVsdFByZXZlbnRlZCBwcm9wZXJ0eSBvbiB0aGUg
RXZlbnREaXNwYXRjaCB0aW1lbGluZSByZWNvcmQncyBkYXRhLgorCiAyMDE3LTA5LTEzICBCYXN1
a2UgU3V6dWtpICA8QmFzdWtlLlN1enVraUBzb255LmNvbT4KIAogICAgICAgICBbQ3VybF0gQnVn
IGZpeCBmb3Igc3luY2hyb25vdXMgdHJhbnNmZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudFRhcmdldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3Bw
CmluZGV4IGZmMzg2YmIzMGEyLi5jOWU2OWZkNGVhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50VGFyZ2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJn
ZXQuY3BwCkBAIC0yOTQsNyArMjk0LDcgQEAgdm9pZCBFdmVudFRhcmdldDo6ZmlyZUV2ZW50TGlz
dGVuZXJzKEV2ZW50JiBldmVudCwgRXZlbnRMaXN0ZW5lclZlY3RvciBsaXN0ZW5lcnMKICAgICB9
CiAKICAgICBpZiAoY29udGV4dElzRG9jdW1lbnQpCi0gICAgICAgIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudCh3aWxsRGlzcGF0Y2hFdmVudENvb2tpZSk7CisgICAg
ICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudCh3aWxsRGlzcGF0
Y2hFdmVudENvb2tpZSwgZXZlbnQuZGVmYXVsdFByZXZlbnRlZCgpKTsKIH0KIAogY29uc3QgRXZl
bnRMaXN0ZW5lclZlY3RvciYgRXZlbnRUYXJnZXQ6OmV2ZW50TGlzdGVuZXJzKGNvbnN0IEF0b21p
Y1N0cmluZyYgZXZlbnRUeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCAxMTY2MmMxMzdmYy4uMjY2MTI0YjUw
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uY3BwCkBAIC00MjksMTAgKzQyOSwxMCBAQCB2b2lkIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6ZGlkSGFuZGxlRXZlbnRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmIGluc3Ry
dW1lbgogICAgICAgICBkZWJ1Z2dlckFnZW50LT5kaWREaXNwYXRjaEFzeW5jQ2FsbCgpOwogfQog
Ci12b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudEltcGwoY29u
c3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiBjb29raWUpCit2b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudEltcGwoY29uc3QgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uQ29va2llJiBjb29raWUsIGJvb2wgZGVmYXVsdFByZXZlbnRlZCkKIHsKICAg
ICBpZiAoSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogdGltZWxpbmVBZ2VudCA9IHJldHJpZXZlVGlt
ZWxpbmVBZ2VudChjb29raWUpKQotICAgICAgICB0aW1lbGluZUFnZW50LT5kaWREaXNwYXRjaEV2
ZW50KCk7CisgICAgICAgIHRpbWVsaW5lQWdlbnQtPmRpZERpc3BhdGNoRXZlbnQoZGVmYXVsdFBy
ZXZlbnRlZCk7CiB9CiAKIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OndpbGxEaXNwYXRjaEV2ZW50T25XaW5kb3dJbXBsKEluc3RydW1lbnRp
bmdBZ2VudHMmIGluc3RydW1lbnRpbmdBZ2VudHMsIGNvbnN0IEV2ZW50JiBldmVudCwgRE9NV2lu
ZG93JiB3aW5kb3cpCkBAIC00NDcsMTAgKzQ0NywxMCBAQCBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b25Db29raWUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRGlzcGF0Y2hFdmVudE9uV2lu
ZAogICAgIHJldHVybiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUoaW5zdHJ1bWVudGlu
Z0FnZW50cywgdGltZWxpbmVBZ2VudElkKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmRpZERpc3BhdGNoRXZlbnRPbldpbmRvd0ltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uQ29va2llJiBjb29raWUpCit2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkRGlzcGF0Y2hFdmVudE9uV2luZG93SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b25Db29raWUmIGNvb2tpZSwgYm9vbCBkZWZhdWx0UHJldmVudGVkKQogewogICAgIGlmIChJbnNw
ZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50ID0gcmV0cmlldmVUaW1lbGluZUFnZW50
KGNvb2tpZSkpCi0gICAgICAgIHRpbWVsaW5lQWdlbnQtPmRpZERpc3BhdGNoRXZlbnQoKTsKKyAg
ICAgICAgdGltZWxpbmVBZ2VudC0+ZGlkRGlzcGF0Y2hFdmVudChkZWZhdWx0UHJldmVudGVkKTsK
IH0KIAogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6d2lsbEV2YWx1YXRlU2NyaXB0SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVt
ZW50aW5nQWdlbnRzLCBGcmFtZSYgZnJhbWUsIGNvbnN0IFN0cmluZyYgdXJsLCBpbnQgbGluZU51
bWJlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uaAppbmRleCAyNTBmYTg0MjMxYS4uYzlmZDE2NTAwMDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTE0
NywxMSArMTQ3LDExIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkaWRBZGRFdmVudExpc3Rl
bmVyKEV2ZW50VGFyZ2V0JiwgY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpOwogICAgIHN0
YXRpYyB2b2lkIHdpbGxSZW1vdmVFdmVudExpc3RlbmVyKEV2ZW50VGFyZ2V0JiwgY29uc3QgQXRv
bWljU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXImLCBib29sIGNhcHR1cmUpOwogICAg
IHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbERpc3BhdGNoRXZlbnQo
RG9jdW1lbnQmLCBjb25zdCBFdmVudCYsIGJvb2wgaGFzRXZlbnRMaXN0ZW5lcnMpOwotICAgIHN0
YXRpYyB2b2lkIGRpZERpc3BhdGNoRXZlbnQoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Q29va2llJik7CisgICAgc3RhdGljIHZvaWQgZGlkRGlzcGF0Y2hFdmVudChjb25zdCBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb25Db29raWUmLCBib29sIGRlZmF1bHRQcmV2ZW50ZWQpOwogICAgIHN0
YXRpYyB2b2lkIHdpbGxIYW5kbGVFdmVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3Qg
RXZlbnQmLCBjb25zdCBSZWdpc3RlcmVkRXZlbnRMaXN0ZW5lciYpOwogICAgIHN0YXRpYyB2b2lk
IGRpZEhhbmRsZUV2ZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKICAgICBzdGF0aWMgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIHdpbGxEaXNwYXRjaEV2ZW50T25XaW5kb3coRnJh
bWUqLCBjb25zdCBFdmVudCYsIERPTVdpbmRvdyYpOwotICAgIHN0YXRpYyB2b2lkIGRpZERpc3Bh
dGNoRXZlbnRPbldpbmRvdyhjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmKTsK
KyAgICBzdGF0aWMgdm9pZCBkaWREaXNwYXRjaEV2ZW50T25XaW5kb3coY29uc3QgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uQ29va2llJiwgYm9vbCBkZWZhdWx0UHJldmVudGVkKTsKICAgICBzdGF0
aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIHdpbGxFdmFsdWF0ZVNjcmlwdChGcmFt
ZSYsIGNvbnN0IFN0cmluZyYgdXJsLCBpbnQgbGluZU51bWJlcik7CiAgICAgc3RhdGljIHZvaWQg
ZGlkRXZhbHVhdGVTY3JpcHQoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiwg
RnJhbWUmKTsKICAgICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIHdpbGxG
aXJlVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGludCB0aW1lcklkKTsKQEAgLTMyMSw5
ICszMjEsOSBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25D
b29raWUgd2lsbERpc3BhdGNoRXZlbnRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmLCBEb2N1bWVu
dCYsIGNvbnN0IEV2ZW50JiwgYm9vbCBoYXNFdmVudExpc3RlbmVycyk7CiAgICAgc3RhdGljIHZv
aWQgd2lsbEhhbmRsZUV2ZW50SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgY29uc3QgRXZlbnQm
LCBjb25zdCBSZWdpc3RlcmVkRXZlbnRMaXN0ZW5lciYpOwogICAgIHN0YXRpYyB2b2lkIGRpZEhh
bmRsZUV2ZW50SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJik7Ci0gICAgc3RhdGljIHZvaWQgZGlk
RGlzcGF0Y2hFdmVudEltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7
CisgICAgc3RhdGljIHZvaWQgZGlkRGlzcGF0Y2hFdmVudEltcGwoY29uc3QgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uQ29va2llJiwgYm9vbCBkZWZhdWx0UHJldmVudGVkKTsKICAgICBzdGF0aWMg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIHdpbGxEaXNwYXRjaEV2ZW50T25XaW5kb3dJ
bXBsKEluc3RydW1lbnRpbmdBZ2VudHMmLCBjb25zdCBFdmVudCYsIERPTVdpbmRvdyYpOwotICAg
IHN0YXRpYyB2b2lkIGRpZERpc3BhdGNoRXZlbnRPbldpbmRvd0ltcGwoY29uc3QgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uQ29va2llJik7CisgICAgc3RhdGljIHZvaWQgZGlkRGlzcGF0Y2hFdmVu
dE9uV2luZG93SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmLCBib29s
IGRlZmF1bHRQcmV2ZW50ZWQpOwogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25D
b29raWUgd2lsbEV2YWx1YXRlU2NyaXB0SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgRnJhbWUm
LCBjb25zdCBTdHJpbmcmIHVybCwgaW50IGxpbmVOdW1iZXIpOwogICAgIHN0YXRpYyB2b2lkIGRp
ZEV2YWx1YXRlU2NyaXB0SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUm
LCBGcmFtZSYpOwogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2ls
bEZpcmVUaW1lckltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYsIGludCB0aW1lcklkLCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0Jik7CkBAIC03MzMsMTEgKzczMywxMSBAQCBpbmxpbmUgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uQ29va2llIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbERpc3Bh
dGNoRXZlbgogICAgIHJldHVybiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUoKTsKIH0K
IAotaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50
KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYgY29va2llKQoraW5saW5lIHZv
aWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50KGNvbnN0IEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYgY29va2llLCBib29sIGRlZmF1bHRQcmV2ZW50ZWQp
CiB7CiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKGNv
b2tpZS5pc1ZhbGlkKCkpCi0gICAgICAgIGRpZERpc3BhdGNoRXZlbnRJbXBsKGNvb2tpZSk7Cisg
ICAgICAgIGRpZERpc3BhdGNoRXZlbnRJbXBsKGNvb2tpZSwgZGVmYXVsdFByZXZlbnRlZCk7CiB9
CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbEhhbmRsZUV2ZW50
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IEV2ZW50JiBldmVudCwgY29u
c3QgUmVnaXN0ZXJlZEV2ZW50TGlzdGVuZXImIGxpc3RlbmVyKQpAQCAtNzYyLDExICs3NjIsMTEg
QEAgaW5saW5lIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OndpbGxEaXNwYXRjaEV2ZW4KICAgICByZXR1cm4gSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uQ29va2llKCk7CiB9CiAKLWlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkRGlzcGF0Y2hFdmVudE9uV2luZG93KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bkNvb2tpZSYgY29va2llKQoraW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpk
aWREaXNwYXRjaEV2ZW50T25XaW5kb3coY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29v
a2llJiBjb29raWUsIGJvb2wgZGVmYXVsdFByZXZlbnRlZCkKIHsKICAgICBGQVNUX1JFVFVSTl9J
Rl9OT19GUk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoY29va2llLmlzVmFsaWQoKSkKLSAgICAg
ICAgZGlkRGlzcGF0Y2hFdmVudE9uV2luZG93SW1wbChjb29raWUpOworICAgICAgICBkaWREaXNw
YXRjaEV2ZW50T25XaW5kb3dJbXBsKGNvb2tpZSwgZGVmYXVsdFByZXZlbnRlZCk7CiB9CiAKIGlu
bGluZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjp3aWxsRXZhbHVhdGVTY3JpcHQoRnJhbWUmIGZyYW1lLCBjb25zdCBTdHJpbmcmIHVybCwg
aW50IGxpbmVOdW1iZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yVGltZWxpbmVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yVGltZWxpbmVBZ2VudC5jcHAKaW5kZXggMWI1MmJmZDE4YzguLmE1OWYwNDU0NmI2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQu
Y3BwCkBAIC0zMTEsOCArMzExLDEyIEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2ls
bERpc3BhdGNoRXZlbnQoY29uc3QgRXZlbnQmIGV2ZW50LCBGcmFtZSogZnJhbWUpCiAgICAgcHVz
aEN1cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVFdmVudERpc3BhdGNo
RGF0YShldmVudCksIFRpbWVsaW5lUmVjb3JkVHlwZTo6RXZlbnREaXNwYXRjaCwgZmFsc2UsIGZy
YW1lKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWREaXNwYXRjaEV2ZW50
KCkKK3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkRGlzcGF0Y2hFdmVudChib29sIGRl
ZmF1bHRQcmV2ZW50ZWQpCiB7CisgICAgVGltZWxpbmVSZWNvcmRFbnRyeSYgZW50cnkgPSBtX3Jl
Y29yZFN0YWNrLmxhc3QoKTsKKyAgICBBU1NFUlQoZW50cnkudHlwZSA9PSBUaW1lbGluZVJlY29y
ZFR5cGU6OkV2ZW50RGlzcGF0Y2gpOworICAgIFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6YXBwZW5k
RGlkRGlzcGF0Y2hFdmVudERhdGEoKmVudHJ5LmRhdGEuZ2V0KCksIGRlZmF1bHRQcmV2ZW50ZWQp
OworCiAgICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkVHlwZTo6RXZl
bnREaXNwYXRjaCk7CiB9CiAKQEAgLTMzNSw5ICszMzksMTAgQEAgdm9pZCBJbnNwZWN0b3JUaW1l
bGluZUFnZW50OjpkaWRMYXlvdXQoUmVuZGVyT2JqZWN0JiByb290KQogICAgIFZlY3RvcjxGbG9h
dFF1YWQ+IHF1YWRzOwogICAgIHJvb3QuYWJzb2x1dGVRdWFkcyhxdWFkcyk7CiAgICAgaWYgKHF1
YWRzLnNpemUoKSA+PSAxKQotICAgICAgICBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmFwcGVuZExh
eW91dFJvb3QoZW50cnkuZGF0YS5nZXQoKSwgcXVhZHNbMF0pOworICAgICAgICBUaW1lbGluZVJl
Y29yZEZhY3Rvcnk6OmFwcGVuZExheW91dFJvb3QoKmVudHJ5LmRhdGEuZ2V0KCksIHF1YWRzWzBd
KTsKICAgICBlbHNlCiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworCiAgICAgZGlkQ29t
cGxldGVDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkVHlwZTo6TGF5b3V0KTsKIH0KIApAQCAt
MzgyLDYgKzM4Nyw3IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkUGFpbnQoUmVu
ZGVyT2JqZWN0JiByZW5kZXJlciwgY29uc3QgTGF5b3V0UmVjdCYKICAgICBGbG9hdFF1YWQgcXVh
ZDsKICAgICBsb2NhbFRvUGFnZVF1YWQocmVuZGVyZXIsIGNsaXBSZWN0LCAmcXVhZCk7CiAgICAg
ZW50cnkuZGF0YSA9IFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlUGFpbnREYXRhKHF1YWQp
OworCiAgICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkVHlwZTo6UGFp
bnQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
VGltZWxpbmVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVs
aW5lQWdlbnQuaAppbmRleCA4NWYwNmRhYWFhMC4uZTRkZjdhZThlYTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaApAQCAtMTE5LDcg
KzExOSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHdpbGxDYWxsRnVuY3Rpb24oY29uc3QgU3RyaW5n
JiBzY3JpcHROYW1lLCBpbnQgc2NyaXB0TGluZSwgRnJhbWUqKTsKICAgICB2b2lkIGRpZENhbGxG
dW5jdGlvbihGcmFtZSopOwogICAgIHZvaWQgd2lsbERpc3BhdGNoRXZlbnQoY29uc3QgRXZlbnQm
LCBGcmFtZSopOwotICAgIHZvaWQgZGlkRGlzcGF0Y2hFdmVudCgpOworICAgIHZvaWQgZGlkRGlz
cGF0Y2hFdmVudChib29sIGRlZmF1bHRQcmV2ZW50ZWQpOwogICAgIHZvaWQgd2lsbEV2YWx1YXRl
U2NyaXB0KGNvbnN0IFN0cmluZyYsIGludCwgRnJhbWUmKTsKICAgICB2b2lkIGRpZEV2YWx1YXRl
U2NyaXB0KEZyYW1lJik7CiAgICAgdm9pZCBkaWRJbnZhbGlkYXRlTGF5b3V0KEZyYW1lJik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuY3Bw
CmluZGV4IDc0YWE3ZmZlODEzLi42MWJlZGNmZjEzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAKQEAgLTE0Niw5ICsxNDYsMTQg
QEAgUmVmPEluc3BlY3Rvck9iamVjdD4gVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVQYWlu
dERhdGEoY29uc3QgRmxvYXRRdWFkJiBxdWEKICAgICByZXR1cm4gZGF0YTsKIH0KIAotdm9pZCBU
aW1lbGluZVJlY29yZEZhY3Rvcnk6OmFwcGVuZExheW91dFJvb3QoSW5zcGVjdG9yT2JqZWN0KiBk
YXRhLCBjb25zdCBGbG9hdFF1YWQmIHF1YWQpCit2b2lkIFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6
YXBwZW5kTGF5b3V0Um9vdChJbnNwZWN0b3JPYmplY3QmIGRhdGEsIGNvbnN0IEZsb2F0UXVhZCYg
cXVhZCkKIHsKLSAgICBkYXRhLT5zZXRBcnJheShBU0NJSUxpdGVyYWwoInJvb3QiKSwgY3JlYXRl
UXVhZChxdWFkKSk7CisgICAgZGF0YS5zZXRBcnJheShBU0NJSUxpdGVyYWwoInJvb3QiKSwgY3Jl
YXRlUXVhZChxdWFkKSk7Cit9CisKK3ZvaWQgVGltZWxpbmVSZWNvcmRGYWN0b3J5OjphcHBlbmRE
aWREaXNwYXRjaEV2ZW50RGF0YShJbnNwZWN0b3JPYmplY3QmIGRhdGEsIGJvb2wgZGVmYXVsdFBy
ZXZlbnRlZCkKK3sKKyAgICBkYXRhLnNldEJvb2xlYW4oQVNDSUlMaXRlcmFsKCJkZWZhdWx0UHJl
dmVudGVkIiksIGRlZmF1bHRQcmV2ZW50ZWQpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0
b3J5LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmgK
aW5kZXggZGQ5ZGU2MDEyMGUuLmNlZmM1YjAxOTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5oCkBAIC02MCw3ICs2MCw4IEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgUmVmPEluc3BlY3Rvcjo6SW5zcGVjdG9yT2JqZWN0PiBjcmVhdGVBbmlt
YXRpb25GcmFtZURhdGEoaW50IGNhbGxiYWNrSWQpOwogICAgIHN0YXRpYyBSZWY8SW5zcGVjdG9y
OjpJbnNwZWN0b3JPYmplY3Q+IGNyZWF0ZVBhaW50RGF0YShjb25zdCBGbG9hdFF1YWQmKTsKIAot
ICAgIHN0YXRpYyB2b2lkIGFwcGVuZExheW91dFJvb3QoSW5zcGVjdG9yOjpJbnNwZWN0b3JPYmpl
Y3QqIGRhdGEsIGNvbnN0IEZsb2F0UXVhZCYpOworICAgIHN0YXRpYyB2b2lkIGFwcGVuZExheW91
dFJvb3QoSW5zcGVjdG9yOjpJbnNwZWN0b3JPYmplY3QmIGRhdGEsIGNvbnN0IEZsb2F0UXVhZCYp
OworICAgIHN0YXRpYyB2b2lkIGFwcGVuZERpZERpc3BhdGNoRXZlbnREYXRhKEluc3BlY3Rvcjo6
SW5zcGVjdG9yT2JqZWN0JiBkYXRhLCBib29sIGRlZmF1bHRQcmV2ZW50ZWQpOwogCiBwcml2YXRl
OgogICAgIFRpbWVsaW5lUmVjb3JkRmFjdG9yeSgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
Y3BwCmluZGV4IGNiMTYzOTg2YzgzLi45MmYzZGMxYWQwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmNwcApAQCAtMjAwMiw3ICsyMDAyLDcgQEAgYm9vbCBET01XaW5kb3c6OmRpc3BhdGNoRXZl
bnQoRXZlbnQmIGV2ZW50LCBFdmVudFRhcmdldCogdGFyZ2V0KQogCiAgICAgYm9vbCByZXN1bHQg
PSBmaXJlRXZlbnRMaXN0ZW5lcnMoZXZlbnQpOwogCi0gICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpkaWREaXNwYXRjaEV2ZW50T25XaW5kb3coY29va2llKTsKKyAgICBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmRpZERpc3BhdGNoRXZlbnRPbldpbmRvdyhjb29raWUsIGV2ZW50LmRlZmF1
bHRQcmV2ZW50ZWQoKSk7CiAKICAgICByZXR1cm4gcmVzdWx0OwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFu
Z2VMb2cKaW5kZXggZjhlMmRmNDNiODUuLjhlMjNiYTVmYWIyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw0MSBAQAorMjAxNy0wOS0xMyAgSm9zZXBoIFBlY29yYXJvICA8cGVj
b3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFRpbWVsaW5lIHNob3Vs
ZCBzaG93IHdoZW4gZXZlbnRzIHByZXZlbnREZWZhdWx0KCkgd2FzIGNhbGxlZCBvbiBhbiBldmVu
dCBvciBub3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3NjgyNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzQyOTA5MzE+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRGV2aW4gUm91c3NvLgorCisgICAgICAgICogTG9jYWxpemF0aW9ucy9lbi5scHJv
ai9sb2NhbGl6ZWRTdHJpbmdzLmpzOgorICAgICAgICBOZXcgc3RyaW5nLgorCisgICAgICAgICog
VXNlckludGVyZmFjZS9Db250cm9sbGVycy9UaW1lbGluZU1hbmFnZXIuanM6CisgICAgICAgIChX
SS5UaW1lbGluZU1hbmFnZXIucHJvdG90eXBlLl9wcm9jZXNzUmVjb3JkKToKKyAgICAgICAgSW5j
bHVkZSB0aGUgd2hvbGUgZGF0YSBvYmplY3QgYXMgZXh0cmEgZGV0YWlscy4KKworICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdFRpbWVsaW5lUmVjb3JkLmpzOgorICAgICAgICAo
V0kuU2NyaXB0VGltZWxpbmVSZWNvcmQpOgorICAgICAgICAoV0kuU2NyaXB0VGltZWxpbmVSZWNv
cmQucHJvdG90eXBlLmdldCBleHRyYURldGFpbHMpOgorICAgICAgICBXaG9sZXNhbGUgY29weSBv
ZiB0aGUgZXh0cmEgZGF0YSBpbnN0ZWFkIG9mIGp1c3QgYSBzaW5nbGUgcHJvcGVydHkuCisKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdERldGFpbHNUaW1lbGluZVZpZXcuanM6
CisgICAgICAgIChXSS5TY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3KToKKyAgICAgICAgR2l2ZSB0
aGUgbmFtZSBjb2x1bW4gbW9yZSBpbml0aWFsIHNwYWNlLCB0aGVyZSBpcyBzdGlsbCBleHRyYSBz
cGFjZQorICAgICAgICBhZnRlciB0aGlzIGFkanVzdG1lbnQgYnV0IG5hbWUgaXMgY29tZm9ydGFi
bHkgbGFyZ2VyIChhbmQgdGhlIG1vc3QKKyAgICAgICAgbGlrZWx5IHRvIGJlIGV4cGFuZGVkKS4K
KworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5v
ZGUuanM6CisgICAgICAgIChXSS5TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5wcm90b3R5cGUu
Z2V0IHN1YnRpdGxlKToKKyAgICAgICAgSW5jbHVkZSAiZGVmYXVsdCBwcmV2ZW50ZWQiIGFzIHRo
ZSBldmVudCdzIHN1YnRpdGxlIGlmIGl0IHdhcyBwcmV2ZW50ZWQuCisKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL1Byb3RvY29sL0luc3BlY3RvckJhY2tlbmQuanM6CisgICAgICAgIChJbnNwZWN0
b3JCYWNrZW5kLkFnZW50LnByb3RvdHlwZS5kaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKEluc3Bl
Y3RvckJhY2tlbmQuQWdlbnQpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVGVzdC5odG1sOgor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVGVzdC9UZXN0LmpzOgorICAgICAgICAoV0kubG9hZGVk
KToKKyAgICAgICAgQWRkIHRoZSBTY3JpcHRQcm9maWxlck9ic2VydmVyIHRvIHRlc3RzIHNpbmNl
IGl0IGlzIG9uIGJ5IGRlZmF1bHQgZm9yIFRpbWVsaW5lcy4KKwogMjAxNy0wOS0xMyAgTmlraXRh
IFZhc2lseWV2ICA8bnZhc2lseWV2QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBTdHlsZXMgUmVkZXNpZ246IGRpc3BsYXkgQG1lZGlhIHNlY3Rpb24gaGVhZGVycwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxp
emVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxw
cm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggMTU3ZmI1ZDE4YjguLmE3MjA0NTI4Nzc1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9s
b2NhbGl6ZWRTdHJpbmdzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRp
b25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKQEAgLTk3MSw2ICs5NzEsNyBAQCBsb2Nh
bGl6ZWRTdHJpbmdzWyJaLUluZGV4Il0gPSAiWi1JbmRleCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJa
b29tOiJdID0gIlpvb206IjsKIGxvY2FsaXplZFN0cmluZ3NbImNvbXB1dGVkIl0gPSAiY29tcHV0
ZWQiOwogbG9jYWxpemVkU3RyaW5nc1siZGVmYXVsdCJdID0gImRlZmF1bHQiOworbG9jYWxpemVk
U3RyaW5nc1siZGVmYXVsdCBwcmV2ZW50ZWQiXSA9ICJkZWZhdWx0IHByZXZlbnRlZCI7CiBsb2Nh
bGl6ZWRTdHJpbmdzWyJmb3IgY2hhbmdlcyB0byB0YWtlIGVmZmVjdCJdID0gImZvciBjaGFuZ2Vz
IHRvIHRha2UgZWZmZWN0IjsKIGxvY2FsaXplZFN0cmluZ3NbImtleSJdID0gImtleSI7CiBsb2Nh
bGl6ZWRTdHJpbmdzWyJsaW5lICJdID0gImxpbmUgIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdlci5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5l
TWFuYWdlci5qcwppbmRleCA5ZTE5MzMxODI2Ny4uMGIwNTgxOTE2MjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFu
YWdlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9s
bGVycy9UaW1lbGluZU1hbmFnZXIuanMKQEAgLTU2Myw3ICs1NjMsNyBAQCBXSS5UaW1lbGluZU1h
bmFnZXIgPSBjbGFzcyBUaW1lbGluZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAg
ICAgICAgICByZWNvcmQgPSBuZXcgV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQoV0kuU2NyaXB0VGlt
ZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlRpbWVyRmlyZWQsIHN0YXJ0VGltZSwgZW5kVGltZSwgY2Fs
bEZyYW1lcywgc291cmNlQ29kZUxvY2F0aW9uLCBwYXJlbnRSZWNvcmRQYXlsb2FkLmRhdGEudGlt
ZXJJZCwgcHJvZmlsZURhdGEpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAg
Y2FzZSBUaW1lbGluZUFnZW50LkV2ZW50VHlwZS5FdmVudERpc3BhdGNoOgotICAgICAgICAgICAg
ICAgIHJlY29yZCA9IG5ldyBXSS5TY3JpcHRUaW1lbGluZVJlY29yZChXSS5TY3JpcHRUaW1lbGlu
ZVJlY29yZC5FdmVudFR5cGUuRXZlbnREaXNwYXRjaGVkLCBzdGFydFRpbWUsIGVuZFRpbWUsIGNh
bGxGcmFtZXMsIHNvdXJjZUNvZGVMb2NhdGlvbiwgcGFyZW50UmVjb3JkUGF5bG9hZC5kYXRhLnR5
cGUsIHByb2ZpbGVEYXRhKTsKKyAgICAgICAgICAgICAgICByZWNvcmQgPSBuZXcgV0kuU2NyaXB0
VGltZWxpbmVSZWNvcmQoV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkV2ZW50RGlz
cGF0Y2hlZCwgc3RhcnRUaW1lLCBlbmRUaW1lLCBjYWxsRnJhbWVzLCBzb3VyY2VDb2RlTG9jYXRp
b24sIHBhcmVudFJlY29yZFBheWxvYWQuZGF0YS50eXBlLCBwcm9maWxlRGF0YSwgcGFyZW50UmVj
b3JkUGF5bG9hZC5kYXRhKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNh
c2UgVGltZWxpbmVBZ2VudC5FdmVudFR5cGUuRmlyZUFuaW1hdGlvbkZyYW1lOgogICAgICAgICAg
ICAgICAgIHJlY29yZCA9IG5ldyBXSS5TY3JpcHRUaW1lbGluZVJlY29yZChXSS5TY3JpcHRUaW1l
bGluZVJlY29yZC5FdmVudFR5cGUuQW5pbWF0aW9uRnJhbWVGaXJlZCwgc3RhcnRUaW1lLCBlbmRU
aW1lLCBjYWxsRnJhbWVzLCBzb3VyY2VDb2RlTG9jYXRpb24sIHBhcmVudFJlY29yZFBheWxvYWQu
ZGF0YS5pZCwgcHJvZmlsZURhdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdFRpbWVsaW5lUmVjb3JkLmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdFRpbWVsaW5lUmVjb3JkLmpz
CmluZGV4IDVkODdmOThjMzZlLi41ODQzNzU3ZDc3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdFRpbWVsaW5lUmVjb3JkLmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9TY3JpcHRUaW1l
bGluZVJlY29yZC5qcwpAQCAtMjUsNyArMjUsNyBAQAogCiBXSS5TY3JpcHRUaW1lbGluZVJlY29y
ZCA9IGNsYXNzIFNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4dGVuZHMgV0kuVGltZWxpbmVSZWNvcmQK
IHsKLSAgICBjb25zdHJ1Y3RvcihldmVudFR5cGUsIHN0YXJ0VGltZSwgZW5kVGltZSwgY2FsbEZy
YW1lcywgc291cmNlQ29kZUxvY2F0aW9uLCBkZXRhaWxzLCBwcm9maWxlUGF5bG9hZCkKKyAgICBj
b25zdHJ1Y3RvcihldmVudFR5cGUsIHN0YXJ0VGltZSwgZW5kVGltZSwgY2FsbEZyYW1lcywgc291
cmNlQ29kZUxvY2F0aW9uLCBkZXRhaWxzLCBwcm9maWxlUGF5bG9hZCwgZXh0cmFEZXRhaWxzKQog
ICAgIHsKICAgICAgICAgc3VwZXIoV0kuVGltZWxpbmVSZWNvcmQuVHlwZS5TY3JpcHQsIHN0YXJ0
VGltZSwgZW5kVGltZSwgY2FsbEZyYW1lcywgc291cmNlQ29kZUxvY2F0aW9uKTsKIApAQCAtMzgs
NiArMzgsNyBAQCBXSS5TY3JpcHRUaW1lbGluZVJlY29yZCA9IGNsYXNzIFNjcmlwdFRpbWVsaW5l
UmVjb3JkIGV4dGVuZHMgV0kuVGltZWxpbmVSZWNvcmQKICAgICAgICAgdGhpcy5fZGV0YWlscyA9
IGRldGFpbHMgfHwgIiI7CiAgICAgICAgIHRoaXMuX3Byb2ZpbGVQYXlsb2FkID0gcHJvZmlsZVBh
eWxvYWQgfHwgbnVsbDsKICAgICAgICAgdGhpcy5fcHJvZmlsZSA9IG51bGw7CisgICAgICAgIHRo
aXMuX2V4dHJhRGV0YWlscyA9IGV4dHJhRGV0YWlscyB8fCBudWxsOwogCiAgICAgICAgIC8vIENP
TVBBVElCSUxJVFkoaU9TIDkpOiBCZWZvcmUgdGhlIFNjcmlwdFByb2ZpbGVyQWdlbnQgd2UgZGlk
IG5vdCBoYXZlIHNhbXBsZSBkYXRhLiBSZXR1cm4gTmFOIHRvIG1hdGNoIG9sZCBiZWhhdmlvci4K
ICAgICAgICAgaWYgKCF3aW5kb3cuU2NyaXB0UHJvZmlsZXJBZ2VudCkKQEAgLTUwLDE1ICs1MSwx
MCBAQCBXSS5TY3JpcHRUaW1lbGluZVJlY29yZCA9IGNsYXNzIFNjcmlwdFRpbWVsaW5lUmVjb3Jk
IGV4dGVuZHMgV0kuVGltZWxpbmVSZWNvcmQKIAogICAgIC8vIFB1YmxpYwogCi0gICAgZ2V0IGV2
ZW50VHlwZSgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fZXZlbnRUeXBlOwotICAgIH0K
LQotICAgIGdldCBkZXRhaWxzKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9kZXRhaWxz
OwotICAgIH0KKyAgICBnZXQgZXZlbnRUeXBlKCkgeyByZXR1cm4gdGhpcy5fZXZlbnRUeXBlOyB9
CisgICAgZ2V0IGRldGFpbHMoKSB7IHJldHVybiB0aGlzLl9kZXRhaWxzOyB9CisgICAgZ2V0IGV4
dHJhRGV0YWlscygpIHsgcmV0dXJuIHRoaXMuX2V4dHJhRGV0YWlsczsgfQorICAgIGdldCBjYWxs
Q291bnRPclNhbXBsZXMoKSB7IHJldHVybiB0aGlzLl9jYWxsQ291bnRPclNhbXBsZXM7IH0KIAog
ICAgIGdldCBwcm9maWxlKCkKICAgICB7CkBAIC02NiwxMSArNjIsNiBAQCBXSS5TY3JpcHRUaW1l
bGluZVJlY29yZCA9IGNsYXNzIFNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4dGVuZHMgV0kuVGltZWxp
bmVSZWNvcmQKICAgICAgICAgcmV0dXJuIHRoaXMuX3Byb2ZpbGU7CiAgICAgfQogCi0gICAgZ2V0
IGNhbGxDb3VudE9yU2FtcGxlcygpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fY2FsbENv
dW50T3JTYW1wbGVzOwotICAgIH0KLQogICAgIGlzR2FyYmFnZUNvbGxlY3Rpb24oKQogICAgIHsK
ICAgICAgICAgcmV0dXJuIHRoaXMuX2V2ZW50VHlwZSA9PT0gV0kuU2NyaXB0VGltZWxpbmVSZWNv
cmQuRXZlbnRUeXBlLkdhcmJhZ2VDb2xsZWN0ZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9JbnNwZWN0b3JCYWNrZW5kLmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvSW5zcGVjdG9yQmFja2Vu
ZC5qcwppbmRleCBlYjc2NjUxMGZjYy4uMGVlOWVhYTMzZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL0luc3BlY3RvckJhY2tlbmQuanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvSW5zcGVj
dG9yQmFja2VuZC5qcwpAQCAtMjg1LDYgKzI4NSwxMSBAQCBJbnNwZWN0b3JCYWNrZW5kLkFnZW50
ID0gY2xhc3MgSW5zcGVjdG9yQmFja2VuZEFnZW50CiAKICAgICBkaXNwYXRjaEV2ZW50KGV2ZW50
TmFtZSwgZXZlbnRBcmd1bWVudHMpCiAgICAgeworICAgICAgICBpZiAoIXRoaXMuX2Rpc3BhdGNo
ZXIpIHsKKyAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIk5vIGRvbWFpbiBkaXNwYXRjaGVyIHJl
Z2lzdGVyZWQgZm9yIGRvbWFpbiAnIiArIHRoaXMuX2RvbWFpbk5hbWUgKyAiJyIpOworICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisKICAgICAgICAgaWYgKCEoZXZlbnROYW1l
IGluIHRoaXMuX2Rpc3BhdGNoZXIpKSB7CiAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCJQcm90
b2NvbCBFcnJvcjogQXR0ZW1wdGVkIHRvIGRpc3BhdGNoIGFuIHVuaW1wbGVtZW50ZWQgbWV0aG9k
ICciICsgdGhpcy5fZG9tYWluTmFtZSArICIuIiArIGV2ZW50TmFtZSArICInIik7CiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9UZXN0Lmh0bWwgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9UZXN0Lmh0bWwKaW5kZXggZDU1YTI5MGQzMmUuLjU3Zjk2OTRmNWFhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0Lmh0bWwKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC5odG1sCkBAIC04Miw2ICs4Miw3IEBA
CiAgICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL1BhZ2VPYnNlcnZlci5qcyI+PC9zY3JpcHQ+CiAg
ICAgPHNjcmlwdCBzcmM9IlByb3RvY29sL1JlbW90ZU9iamVjdC5qcyI+PC9zY3JpcHQ+CiAgICAg
PHNjcmlwdCBzcmM9IlByb3RvY29sL1J1bnRpbWVPYnNlcnZlci5qcyI+PC9zY3JpcHQ+CisgICAg
PHNjcmlwdCBzcmM9IlByb3RvY29sL1NjcmlwdFByb2ZpbGVyT2JzZXJ2ZXIuanMiPjwvc2NyaXB0
PgogICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbC9UaW1lbGluZU9ic2VydmVyLmpzIj48L3Njcmlw
dD4KICAgICA8c2NyaXB0IHNyYz0iUHJvdG9jb2wvV29ya2VyT2JzZXJ2ZXIuanMiPjwvc2NyaXB0
PgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0
L1Rlc3QuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0L1Rlc3Qu
anMKaW5kZXggNmYzMWI1ZDI0OGQuLjVmZTA0MDg2Y2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0L1Rlc3QuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC9UZXN0LmpzCkBAIC0zOCwxMSArMzgsMTIgQEAg
V0kubG9hZGVkID0gZnVuY3Rpb24oKQogICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJJbnNw
ZWN0b3JEaXNwYXRjaGVyKG5ldyBXSS5JbnNwZWN0b3JPYnNlcnZlcik7CiAgICAgSW5zcGVjdG9y
QmFja2VuZC5yZWdpc3RlclBhZ2VEaXNwYXRjaGVyKG5ldyBXSS5QYWdlT2JzZXJ2ZXIpOwogICAg
IEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb25zb2xlRGlzcGF0Y2hlcihuZXcgV0kuQ29uc29s
ZU9ic2VydmVyKTsKLSAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRE9NRGlzcGF0Y2hlcihu
ZXcgV0kuRE9NT2JzZXJ2ZXIpOwogICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJOZXR3b3Jr
RGlzcGF0Y2hlcihuZXcgV0kuTmV0d29ya09ic2VydmVyKTsKKyAgICBJbnNwZWN0b3JCYWNrZW5k
LnJlZ2lzdGVyRE9NRGlzcGF0Y2hlcihuZXcgV0kuRE9NT2JzZXJ2ZXIpOwogICAgIEluc3BlY3Rv
ckJhY2tlbmQucmVnaXN0ZXJEZWJ1Z2dlckRpc3BhdGNoZXIobmV3IFdJLkRlYnVnZ2VyT2JzZXJ2
ZXIpOwogICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJIZWFwRGlzcGF0Y2hlcihuZXcgV0ku
SGVhcE9ic2VydmVyKTsKICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRE9NU3RvcmFnZURp
c3BhdGNoZXIobmV3IFdJLkRPTVN0b3JhZ2VPYnNlcnZlcik7CisgICAgSW5zcGVjdG9yQmFja2Vu
ZC5yZWdpc3RlclNjcmlwdFByb2ZpbGVyRGlzcGF0Y2hlcihuZXcgV0kuU2NyaXB0UHJvZmlsZXJP
YnNlcnZlcik7CiAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlclRpbWVsaW5lRGlzcGF0Y2hl
cihuZXcgV0kuVGltZWxpbmVPYnNlcnZlcik7CiAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3Rl
ckNTU0Rpc3BhdGNoZXIobmV3IFdJLkNTU09ic2VydmVyKTsKICAgICBJbnNwZWN0b3JCYWNrZW5k
LnJlZ2lzdGVyUnVudGltZURpc3BhdGNoZXIobmV3IFdJLlJ1bnRpbWVPYnNlcnZlcik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRE
ZXRhaWxzVGltZWxpbmVWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldy5qcwppbmRleCBkYWFmZTEwZThmOS4u
OTNlZjI0Yjc3YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1NjcmlwdERldGFpbHNUaW1lbGluZVZpZXcuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldy5q
cwpAQCAtMzQsNyArMzQsNyBAQCBXSS5TY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3ID0gY2xhc3Mg
U2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldyBleHRlbmRzIFdJLlRpbWVsaQogICAgICAgICBsZXQg
Y29sdW1ucyA9IHtuYW1lOiB7fSwgbG9jYXRpb246IHt9LCBjYWxsQ291bnQ6IHt9LCBzdGFydFRp
bWU6IHt9LCB0b3RhbFRpbWU6IHt9LCBzZWxmVGltZToge30sIGF2ZXJhZ2VUaW1lOiB7fX07CiAK
ICAgICAgICAgY29sdW1ucy5uYW1lLnRpdGxlID0gV0kuVUlTdHJpbmcoIk5hbWUiKTsKLSAgICAg
ICAgY29sdW1ucy5uYW1lLndpZHRoID0gIjEwJSI7CisgICAgICAgIGNvbHVtbnMubmFtZS53aWR0
aCA9ICIzMCUiOwogICAgICAgICBjb2x1bW5zLm5hbWUuaWNvbiA9IHRydWU7CiAgICAgICAgIGNv
bHVtbnMubmFtZS5kaXNjbG9zdXJlID0gdHJ1ZTsKICAgICAgICAgY29sdW1ucy5uYW1lLmxvY2tl
ZCA9IHRydWU7CkBAIC02OSw3ICs2OSw3IEBAIFdJLlNjcmlwdERldGFpbHNUaW1lbGluZVZpZXcg
PSBjbGFzcyBTY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3IGV4dGVuZHMgV0kuVGltZWxpCiAgICAg
ICAgIGNvbHVtbnMuYXZlcmFnZVRpbWUud2lkdGggPSAiMTAlIjsKICAgICAgICAgY29sdW1ucy5h
dmVyYWdlVGltZS5hbGlnbmVkID0gInJpZ2h0IjsKIAotICAgICAgICBmb3IgKHZhciBjb2x1bW4g
aW4gY29sdW1ucykKKyAgICAgICAgZm9yIChsZXQgY29sdW1uIGluIGNvbHVtbnMpCiAgICAgICAg
ICAgICBjb2x1bW5zW2NvbHVtbl0uc29ydGFibGUgPSB0cnVlOwogCiAgICAgICAgIHRoaXMuX2Rh
dGFHcmlkID0gbmV3IFdJLlNjcmlwdFRpbWVsaW5lRGF0YUdyaWQoY29sdW1ucyk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1l
bGluZURhdGFHcmlkTm9kZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1NjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlLmpzCmluZGV4IDA1ZDlhZDE0YzNiLi5m
YTJkMGQwNjBhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUu
anMKQEAgLTEwMCw2ICsxMDAsOSBAQCBXSS5TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZSA9IGNs
YXNzIFNjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlIGV4dGVuZHMgV0kuVGltZQogICAgICAgICAg
ICAgICAgIHRoaXMuX3N1YnRpdGxlID0gV0kuVUlTdHJpbmcoIiVzIGludGVydmFsIikuZm9ybWF0
KHRpbWVvdXRTdHJpbmcpOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHRoaXMu
X3N1YnRpdGxlID0gV0kuVUlTdHJpbmcoIiVzIGRlbGF5IikuZm9ybWF0KHRpbWVvdXRTdHJpbmcp
OworICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX3JlY29yZC5ldmVudFR5cGUgPT09IFdJLlNjcmlw
dFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5FdmVudERpc3BhdGNoZWQpIHsKKyAgICAgICAgICAg
IGlmICh0aGlzLl9yZWNvcmQuZXh0cmFEZXRhaWxzICYmIHRoaXMuX3JlY29yZC5leHRyYURldGFp
bHMuZGVmYXVsdFByZXZlbnRlZCkKKyAgICAgICAgICAgICAgICB0aGlzLl9zdWJ0aXRsZSA9IFdJ
LlVJU3RyaW5nKCJkZWZhdWx0IHByZXZlbnRlZCIpOwogICAgICAgICB9CiAKICAgICAgICAgcmV0
dXJuIHRoaXMuX3N1YnRpdGxlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364999</attachid>
            <date>2019-03-17 20:57:54 -0700</date>
            <delta_ts>2019-03-20 13:34:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-176824-20190317205754.patch</filename>
            <type>text/plain</type>
            <size>56772</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAwNzBhMmU3Y2M5N2MzODIzMTc3ZGYwYjdhMWIxMGJlMzkyMDAyYjEwLi4x
ZjVmNGQyODNiNjM4ZjJjY2ZmNzkyMDE1OWJkODc3NWUxOTllN2ZlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDAgQEAKKzIwMTktMDMtMTcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFRpbWVsaW5lIHNob3VsZCBzaG93IHdoZW4gZXZl
bnRzIHByZXZlbnREZWZhdWx0KCkgd2FzIGNhbGxlZCBvbiBhbiBldmVudCBvciBub3QKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjgyNAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMzQyOTA5MzE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0Y2ggYnkgSm9zZXBoIFBlY29yYXJvIDxw
ZWNvcmFyb0BhcHBsZS5jb20+LgorCisgICAgICAgIFRlc3RzOiBpbnNwZWN0b3IvdGltZWxpbmUv
dGltZWxpbmUtZXZlbnQtQ2FuY2VsQW5pbWF0aW9uRnJhbWUuaHRtbAorICAgICAgICAgICAgICAg
aW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUV2ZW50RGlzcGF0Y2guaHRtbAorICAg
ICAgICAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUZpcmVBbmltYXRp
b25GcmFtZS5odG1sCisgICAgICAgICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUt
ZXZlbnQtUmVxdWVzdEFuaW1hdGlvbkZyYW1lLmh0bWwKKyAgICAgICAgICAgICAgIGluc3BlY3Rv
ci90aW1lbGluZS90aW1lbGluZS1ldmVudC1UaW1lckZpcmUuaHRtbAorICAgICAgICAgICAgICAg
aW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVRpbWVySW5zdGFsbC5odG1sCisgICAg
ICAgICAgICAgICBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJSZW1vdmUu
aHRtbAorCisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkV2ZW50VGFyZ2V0Ojppbm5lckludm9rZUV2ZW50TGlzdGVuZXJzKToKKyAgICAgICAgKiBwYWdl
L0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmRpc3BhdGNoRXZl
bnQpOgorICAgICAgICBJbmNsdWRlIGBkZWZhdWx0UHJldmVudGVkYCB3aGVuIG5vdGlmeWluZyBp
bnNwZWN0b3IuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Lmg6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERpc3Bh
dGNoRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpk
aWREaXNwYXRjaEV2ZW50T25XaW5kb3cpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmRpZERpc3BhdGNoRXZlbnRPbldpbmRvd0ltcGwpOgorICAgICAg
ICBQYXNzIGBkZWZhdWx0UHJldmVudGVkYCBvbiB0byBhZ2VudC4KKworICAgICAgICAqIGluc3Bl
Y3Rvci9hZ2VudHMvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWREaXNwYXRjaEV2ZW50KToKKyAgICAgICAgQXBwZW5k
IGEgYm9vbGVhbiBgZGVmYXVsdFByZXZlbnRlZGAgcHJvcGVydHkgb24gdGhlIGBFdmVudERpc3Bh
dGNoYCB0aW1lbGluZSByZWNvcmQncyBkYXRhLgorCiAyMDE5LTAzLTE3ICBZdXN1a2UgU3V6dWtp
ICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTjogIXZtLmlzSW5pdGlh
bGl6aW5nT2JqZWN0KCkgdm9pZCogSlNDOjp0cnlBbGxvY2F0ZUNlbGxIZWxwZXI8SlNDOjpTdHJ1
Y3R1cmU+IEpTQzo6U3RydWN0dXJlOjpjcmVhdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4
IDQzZDQ4YWJhZWM4ZmRhZjlkMjM3ZDRiMDY4MjM3ZWM0OGRjN2MyYTcuLjQ2NmNlZWMwMWUyZjYy
NDZkOGNjM2Y1N2JiNWFmN2IyMTliYmVmNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDM1IEBACisyMDE5LTAzLTE3ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNv
bT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBUaW1lbGluZSBzaG91bGQgc2hvdyB3aGVuIGV2
ZW50cyBwcmV2ZW50RGVmYXVsdCgpIHdhcyBjYWxsZWQgb24gYW4gZXZlbnQgb3Igbm90CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzY4MjQKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzM0MjkwOTMxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE9yaWdpbmFsIHBhdGNoIGJ5IEpvc2VwaCBQZWNvcmFybyA8
cGVjb3Jhcm9AYXBwbGUuY29tPi4KKworICAgICAgICAqIExvY2FsaXphdGlvbnMvZW4ubHByb2ov
bG9jYWxpemVkU3RyaW5ncy5qczoKKyAgICAgICAgTmV3IHN0cmluZy4KKworICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGltZWxpbmVNYW5hZ2VyLmpzOgorICAgICAgICAoV0ku
VGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5fcHJvY2Vzc1JlY29yZCk6CisgICAgICAgIEluY2x1
ZGUgdGhlIHdob2xlIGRhdGEgb2JqZWN0IGFzIGV4dHJhIGRldGFpbHMuCisKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL01vZGVscy9TY3JpcHRUaW1lbGluZVJlY29yZC5qczoKKyAgICAgICAgKFdJ
LlNjcmlwdFRpbWVsaW5lUmVjb3JkKToKKyAgICAgICAgKFdJLlNjcmlwdFRpbWVsaW5lUmVjb3Jk
LnByb3RvdHlwZS5nZXQgZXZlbnRUeXBlKToKKyAgICAgICAgV2hvbGVzYWxlIGNvcHkgb2YgdGhl
IGV4dHJhIGRhdGEgaW5zdGVhZCBvZiBqdXN0IGEgc2luZ2xlIHByb3BlcnR5LgorCisgICAgICAg
ICogVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3LmpzOgorICAg
ICAgICAoV0kuU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldyk6CisgICAgICAgIEdpdmUgdGhlIG5h
bWUgY29sdW1uIG1vcmUgaW5pdGlhbCBzcGFjZSwgdGhlcmUgaXMgc3RpbGwgZXh0cmEgc3BhY2UK
KyAgICAgICAgYWZ0ZXIgdGhpcyBhZGp1c3RtZW50IGJ1dCBuYW1lIGlzIGNvbWZvcnRhYmx5IGxh
cmdlciAoYW5kIHRoZSBtb3N0CisgICAgICAgIGxpa2VseSB0byBiZSBleHBhbmRlZCkuCisKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlLmpz
OgorICAgICAgICAoV0kuU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUucHJvdG90eXBlLmdldCBz
dWJ0aXRsZSk6CisgICAgICAgIEluY2x1ZGUgImRlZmF1bHQgcHJldmVudGVkIiBhcyB0aGUgZXZl
bnQncyBzdWJ0aXRsZSBpZiBpdCB3YXMgcHJldmVudGVkLgorCiAyMDE5LTAzLTE2ICBOaWtpdGEg
VmFzaWx5ZXYgIDxudmFzaWx5ZXZAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IENoYW5nZXM6IHN0eWxlIGF0dHJpYnV0ZSBjaGFuZ2VzIGFyZW4ndCBiZWluZyB0cmFja2VkCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcAppbmRleCA5ZWJlMWRkNTE0YTQ4MWRiOTIwMzBkMzQ2
MWFkMThlNjkyNTUxMGFlLi40Njg4NmRlZGQzOGJmZGM0NGI1YzI4YWRmZTJjZjJjY2Y2YTNlYWMy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAKQEAgLTMxNiw3ICszMTYsNyBAQCB2b2lk
IEV2ZW50VGFyZ2V0Ojppbm5lckludm9rZUV2ZW50TGlzdGVuZXJzKEV2ZW50JiBldmVudCwgRXZl
bnRMaXN0ZW5lclZlY3RvciBsaQogICAgIH0KIAogICAgIGlmIChjb250ZXh0SXNEb2N1bWVudCkK
LSAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50KHdpbGxE
aXNwYXRjaEV2ZW50Q29va2llKTsKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpk
aWREaXNwYXRjaEV2ZW50KHdpbGxEaXNwYXRjaEV2ZW50Q29va2llLCBldmVudC5kZWZhdWx0UHJl
dmVudGVkKCkpOwogfQogCiBWZWN0b3I8QXRvbWljU3RyaW5nPiBFdmVudFRhcmdldDo6ZXZlbnRU
eXBlcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uY3BwCmluZGV4IDJiNDMwNjI5Yjg2MzNkYTBhMTkxZTY5NDNmYzdiYWQ1MzYx
MDdlOWIuLjI4NGM2ZjQyNDk5MGQ3NWE3ZGFiMTVlNzA1YmM2Nzk3ZGM5MjkxNTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
Y3BwCkBAIC00MTEsMTAgKzQxMSwxMCBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkSGFuZGxlRXZlbnRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbgogICAgICAg
ICBkZWJ1Z2dlckFnZW50LT5kaWREaXNwYXRjaEFzeW5jQ2FsbCgpOwogfQogCi12b2lkIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudEltcGwoY29uc3QgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uQ29va2llJiBjb29raWUpCit2b2lkIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6ZGlkRGlzcGF0Y2hFdmVudEltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Q29va2llJiBjb29raWUsIGJvb2wgZGVmYXVsdFByZXZlbnRlZCkKIHsKICAgICBpZiAoSW5zcGVj
dG9yVGltZWxpbmVBZ2VudCogdGltZWxpbmVBZ2VudCA9IHJldHJpZXZlVGltZWxpbmVBZ2VudChj
b29raWUpKQotICAgICAgICB0aW1lbGluZUFnZW50LT5kaWREaXNwYXRjaEV2ZW50KCk7CisgICAg
ICAgIHRpbWVsaW5lQWdlbnQtPmRpZERpc3BhdGNoRXZlbnQoZGVmYXVsdFByZXZlbnRlZCk7CiB9
CiAKIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OndpbGxEaXNwYXRjaEV2ZW50T25XaW5kb3dJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmIGlu
c3RydW1lbnRpbmdBZ2VudHMsIGNvbnN0IEV2ZW50JiBldmVudCwgRE9NV2luZG93JiB3aW5kb3cp
CkBAIC00MjksMTAgKzQyOSwxMCBAQCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRGlzcGF0Y2hFdmVudE9uV2luZAogICAgIHJldHVy
biBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUoaW5zdHJ1bWVudGluZ0FnZW50cywgdGlt
ZWxpbmVBZ2VudElkKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERp
c3BhdGNoRXZlbnRPbldpbmRvd0ltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29v
a2llJiBjb29raWUpCit2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hF
dmVudE9uV2luZG93SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmIGNv
b2tpZSwgYm9vbCBkZWZhdWx0UHJldmVudGVkKQogewogICAgIGlmIChJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50KiB0aW1lbGluZUFnZW50ID0gcmV0cmlldmVUaW1lbGluZUFnZW50KGNvb2tpZSkpCi0g
ICAgICAgIHRpbWVsaW5lQWdlbnQtPmRpZERpc3BhdGNoRXZlbnQoKTsKKyAgICAgICAgdGltZWxp
bmVBZ2VudC0+ZGlkRGlzcGF0Y2hFdmVudChkZWZhdWx0UHJldmVudGVkKTsKIH0KIAogdm9pZCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmV2ZW50RGlkUmVzZXRBZnRlckRpc3BhdGNoSW1wbChJ
bnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVtZW50aW5nQWdlbnRzLCBjb25zdCBFdmVudCYgZXZl
bnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmgKaW5kZXggODg1ZjNkMDU0OTI0ODBlN2JkMjU1ZWNjZjIyNTFkYzI0ZGMwMjVjYS4u
NGExOTU4MDUyMTQ0YzhhMmI1MDU2ZDY0Y2VjNzhmODJiODk4NzI0ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApAQCAtMTUy
LDExICsxNTIsMTEgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHdpbGxSZW1vdmVFdmVudExp
c3RlbmVyKEV2ZW50VGFyZ2V0JiwgY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50
TGlzdGVuZXImLCBib29sIGNhcHR1cmUpOwogICAgIHN0YXRpYyBib29sIGlzRXZlbnRMaXN0ZW5l
ckRpc2FibGVkKEV2ZW50VGFyZ2V0JiwgY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIEV2
ZW50TGlzdGVuZXImLCBib29sIGNhcHR1cmUpOwogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb25Db29raWUgd2lsbERpc3BhdGNoRXZlbnQoRG9jdW1lbnQmLCBjb25zdCBFdmVudCYs
IGJvb2wgaGFzRXZlbnRMaXN0ZW5lcnMpOwotICAgIHN0YXRpYyB2b2lkIGRpZERpc3BhdGNoRXZl
bnQoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CisgICAgc3RhdGljIHZv
aWQgZGlkRGlzcGF0Y2hFdmVudChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUm
LCBib29sIGRlZmF1bHRQcmV2ZW50ZWQpOwogICAgIHN0YXRpYyB2b2lkIHdpbGxIYW5kbGVFdmVu
dChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgRXZlbnQmLCBjb25zdCBSZWdpc3RlcmVk
RXZlbnRMaXN0ZW5lciYpOwogICAgIHN0YXRpYyB2b2lkIGRpZEhhbmRsZUV2ZW50KFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmKTsKICAgICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29v
a2llIHdpbGxEaXNwYXRjaEV2ZW50T25XaW5kb3coRnJhbWUqLCBjb25zdCBFdmVudCYsIERPTVdp
bmRvdyYpOwotICAgIHN0YXRpYyB2b2lkIGRpZERpc3BhdGNoRXZlbnRPbldpbmRvdyhjb25zdCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmKTsKKyAgICBzdGF0aWMgdm9pZCBkaWREaXNw
YXRjaEV2ZW50T25XaW5kb3coY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiwg
Ym9vbCBkZWZhdWx0UHJldmVudGVkKTsKICAgICBzdGF0aWMgdm9pZCBldmVudERpZFJlc2V0QWZ0
ZXJEaXNwYXRjaChjb25zdCBFdmVudCYpOwogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb25Db29raWUgd2lsbEV2YWx1YXRlU2NyaXB0KEZyYW1lJiwgY29uc3QgU3RyaW5nJiB1cmws
IGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyKTsKICAgICBzdGF0aWMgdm9pZCBkaWRF
dmFsdWF0ZVNjcmlwdChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmLCBGcmFt
ZSYpOwpAQCAtMzQ3LDkgKzM0Nyw5IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsRGlzcGF0Y2hFdmVudEltcGwoSW5zdHJ1bWVudGluZ0Fn
ZW50cyYsIERvY3VtZW50JiwgY29uc3QgRXZlbnQmLCBib29sIGhhc0V2ZW50TGlzdGVuZXJzKTsK
ICAgICBzdGF0aWMgdm9pZCB3aWxsSGFuZGxlRXZlbnRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMm
LCBjb25zdCBFdmVudCYsIGNvbnN0IFJlZ2lzdGVyZWRFdmVudExpc3RlbmVyJik7CiAgICAgc3Rh
dGljIHZvaWQgZGlkSGFuZGxlRXZlbnRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmKTsKLSAgICBz
dGF0aWMgdm9pZCBkaWREaXNwYXRjaEV2ZW50SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb25Db29raWUmKTsKKyAgICBzdGF0aWMgdm9pZCBkaWREaXNwYXRjaEV2ZW50SW1wbChjb25z
dCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmLCBib29sIGRlZmF1bHRQcmV2ZW50ZWQp
OwogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbERpc3BhdGNo
RXZlbnRPbldpbmRvd0ltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYsIGNvbnN0IEV2ZW50JiwgRE9N
V2luZG93Jik7Ci0gICAgc3RhdGljIHZvaWQgZGlkRGlzcGF0Y2hFdmVudE9uV2luZG93SW1wbChj
b25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmKTsKKyAgICBzdGF0aWMgdm9pZCBk
aWREaXNwYXRjaEV2ZW50T25XaW5kb3dJbXBsKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bkNvb2tpZSYsIGJvb2wgZGVmYXVsdFByZXZlbnRlZCk7CiAgICAgc3RhdGljIHZvaWQgZXZlbnRE
aWRSZXNldEFmdGVyRGlzcGF0Y2hJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmLCBjb25zdCBFdmVu
dCYpOwogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbEV2YWx1
YXRlU2NyaXB0SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgRnJhbWUmLCBjb25zdCBTdHJpbmcm
IHVybCwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIpOwogICAgIHN0YXRpYyB2b2lk
IGRpZEV2YWx1YXRlU2NyaXB0SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29r
aWUmLCBGcmFtZSYpOwpAQCAtNzkzLDExICs3OTMsMTEgQEAgaW5saW5lIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbkNvb2tpZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxEaXNwYXRjaEV2
ZW4KICAgICByZXR1cm4gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKCk7CiB9CiAKLWlu
bGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudChjb25z
dCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmIGNvb2tpZSkKK2lubGluZSB2b2lkIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudChjb25zdCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb25Db29raWUmIGNvb2tpZSwgYm9vbCBkZWZhdWx0UHJldmVudGVkKQogewog
ICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChjb29raWUu
aXNWYWxpZCgpKQotICAgICAgICBkaWREaXNwYXRjaEV2ZW50SW1wbChjb29raWUpOworICAgICAg
ICBkaWREaXNwYXRjaEV2ZW50SW1wbChjb29raWUsIGRlZmF1bHRQcmV2ZW50ZWQpOwogfQogCiBp
bmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxIYW5kbGVFdmVudChTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBFdmVudCYgZXZlbnQsIGNvbnN0IFJl
Z2lzdGVyZWRFdmVudExpc3RlbmVyJiBsaXN0ZW5lcikKQEAgLTgyMiwxMSArODIyLDExIEBAIGlu
bGluZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjp3aWxsRGlzcGF0Y2hFdmVuCiAgICAgcmV0dXJuIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bkNvb2tpZSgpOwogfQogCi1pbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZERpc3BhdGNoRXZlbnRPbldpbmRvdyhjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29r
aWUmIGNvb2tpZSkKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlz
cGF0Y2hFdmVudE9uV2luZG93KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYg
Y29va2llLCBib29sIGRlZmF1bHRQcmV2ZW50ZWQpCiB7CiAgICAgRkFTVF9SRVRVUk5fSUZfTk9f
RlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKGNvb2tpZS5pc1ZhbGlkKCkpCi0gICAgICAgIGRp
ZERpc3BhdGNoRXZlbnRPbldpbmRvd0ltcGwoY29va2llKTsKKyAgICAgICAgZGlkRGlzcGF0Y2hF
dmVudE9uV2luZG93SW1wbChjb29raWUsIGRlZmF1bHRQcmV2ZW50ZWQpOwogfQogCiBpbmxpbmUg
dm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmV2ZW50RGlkUmVzZXRBZnRlckRpc3BhdGNo
KGNvbnN0IEV2ZW50JiBldmVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCmluZGV4IDA1MDViZDNlNmU4
YzYxZGI4NWQ0YTJlNGE1ZDk3NDQ3YTJlOWNhM2UuLjE3MGVmYzVmM2JiZTllNzc2N2Q4ZThjYzUy
YzNmNWYzNmMyMTI2NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2Vu
dHMvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2FnZW50cy9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcApAQCAtMzA5LDggKzMwOSwxMiBA
QCB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxEaXNwYXRjaEV2ZW50KGNvbnN0IEV2
ZW50JiBldmVudCwgRnJhbWUqIGZyYW1lKQogICAgIHB1c2hDdXJyZW50UmVjb3JkKFRpbWVsaW5l
UmVjb3JkRmFjdG9yeTo6Y3JlYXRlRXZlbnREaXNwYXRjaERhdGEoZXZlbnQpLCBUaW1lbGluZVJl
Y29yZFR5cGU6OkV2ZW50RGlzcGF0Y2gsIGZhbHNlLCBmcmFtZSk7CiB9CiAKLXZvaWQgSW5zcGVj
dG9yVGltZWxpbmVBZ2VudDo6ZGlkRGlzcGF0Y2hFdmVudCgpCit2b2lkIEluc3BlY3RvclRpbWVs
aW5lQWdlbnQ6OmRpZERpc3BhdGNoRXZlbnQoYm9vbCBkZWZhdWx0UHJldmVudGVkKQogeworICAg
IGF1dG8mIGVudHJ5ID0gbV9yZWNvcmRTdGFjay5sYXN0KCk7CisgICAgQVNTRVJUKGVudHJ5LnR5
cGUgPT0gVGltZWxpbmVSZWNvcmRUeXBlOjpFdmVudERpc3BhdGNoKTsKKyAgICBlbnRyeS5kYXRh
LT5zZXRCb29sZWFuKCJkZWZhdWx0UHJldmVudGVkIl9zLCBkZWZhdWx0UHJldmVudGVkKTsKKwog
ICAgIGRpZENvbXBsZXRlQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29yZFR5cGU6OkV2ZW50RGlz
cGF0Y2gpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRz
L0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2Vu
dHMvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IDgyODQ3YzY3ODhiOWUzY2NiNGI1MGI2
MmJjNzlmMjIzZTI3OTViODkuLmY1ZTJiZDMxNjhmNzY3NzI5YTFkMTMwZDFjM2EwYzg5NzdhMThh
OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9y
VGltZWxpbmVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5z
cGVjdG9yVGltZWxpbmVBZ2VudC5oCkBAIC0xMjEsNyArMTIxLDcgQEAgcHVibGljOgogICAgIHZv
aWQgd2lsbENhbGxGdW5jdGlvbihjb25zdCBTdHJpbmcmIHNjcmlwdE5hbWUsIGludCBzY3JpcHRM
aW5lLCBpbnQgc2NyaXB0Q29sdW1uLCBGcmFtZSopOwogICAgIHZvaWQgZGlkQ2FsbEZ1bmN0aW9u
KEZyYW1lKik7CiAgICAgdm9pZCB3aWxsRGlzcGF0Y2hFdmVudChjb25zdCBFdmVudCYsIEZyYW1l
Kik7Ci0gICAgdm9pZCBkaWREaXNwYXRjaEV2ZW50KCk7CisgICAgdm9pZCBkaWREaXNwYXRjaEV2
ZW50KGJvb2wgZGVmYXVsdFByZXZlbnRlZCk7CiAgICAgdm9pZCB3aWxsRXZhbHVhdGVTY3JpcHQo
Y29uc3QgU3RyaW5nJiwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIEZyYW1lJik7
CiAgICAgdm9pZCBkaWRFdmFsdWF0ZVNjcmlwdChGcmFtZSYpOwogICAgIHZvaWQgZGlkSW52YWxp
ZGF0ZUxheW91dChGcmFtZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IDRkN2Iz
YWZlN2VjOTE2NGViZDAzMWE4YmZjMDA0NTVjZTU1NjlhMzguLmNkNTg1MWRjZWMxMGFjMDRlMDQy
YjY2ODc4YjM2MjI1MzI1OGNhNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTIx
MDYsNyArMjEwNiw3IEBAIHZvaWQgRE9NV2luZG93OjpkaXNwYXRjaEV2ZW50KEV2ZW50JiBldmVu
dCwgRXZlbnRUYXJnZXQqIHRhcmdldCkKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHVzZSBFdmVu
dERpc3BhdGNoZXIgZXZlcnl3aGVyZS4KICAgICBmaXJlRXZlbnRMaXN0ZW5lcnMoZXZlbnQsIEV2
ZW50SW52b2tlUGhhc2U6OkNhcHR1cmluZyk7CiAgICAgZmlyZUV2ZW50TGlzdGVuZXJzKGV2ZW50
LCBFdmVudEludm9rZVBoYXNlOjpCdWJibGluZyk7Ci0gICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpkaWREaXNwYXRjaEV2ZW50T25XaW5kb3coY29va2llKTsKKyAgICBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmRpZERpc3BhdGNoRXZlbnRPbldpbmRvdyhjb29raWUsIGV2ZW50LmRlZmF1
bHRQcmV2ZW50ZWQoKSk7CiAgICAgZXZlbnQucmVzZXRBZnRlckRpc3BhdGNoKCk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xv
Y2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9l
bi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IDJkOGIyZDE0NDU4NmNiZDM1MjI0ODRh
ODA2ZGM0MzhhZTgyMmZhNWIuLjg3ZmY0YjQ4NDU3ODQxNjBmMjcyZDA5YjQzODk3OWVjMjdkZmNl
ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxw
cm9qL2xvY2FsaXplZFN0cmluZ3MuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2Fs
aXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwpAQCAtMTE3MCw2ICsxMTcwLDcg
QEAgbG9jYWxpemVkU3RyaW5nc1siXHUyMDFDJXNcdTIwMUQgRXZlbnQgRmlyZWQiXSA9ICJcdTIw
MUMlc1x1MjAxRCBFdmVudCBGaXJlZCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJcdTIwMUMlc1x1MjAx
RCBQcm9maWxlIFJlY29yZGVkIl0gPSAiXHUyMDFDJXNcdTIwMUQgUHJvZmlsZSBSZWNvcmRlZCI7
CiBsb2NhbGl6ZWRTdHJpbmdzWyJjb21wdXRlZCJdID0gImNvbXB1dGVkIjsKIGxvY2FsaXplZFN0
cmluZ3NbImRlZmF1bHQiXSA9ICJkZWZhdWx0IjsKK2xvY2FsaXplZFN0cmluZ3NbImRlZmF1bHQg
cHJldmVudGVkIl0gPSAiZGVmYXVsdCBwcmV2ZW50ZWQiOwogbG9jYWxpemVkU3RyaW5nc1siZm9y
IGNoYW5nZXMgdG8gdGFrZSBlZmZlY3QiXSA9ICJmb3IgY2hhbmdlcyB0byB0YWtlIGVmZmVjdCI7
CiBsb2NhbGl6ZWRTdHJpbmdzWyJpbnZhbGlkIEhBUiJdID0gImludmFsaWQgSEFSIjsKIGxvY2Fs
aXplZFN0cmluZ3NbImludmFsaWQgSlNPTiJdID0gImludmFsaWQgSlNPTiI7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9UaW1lbGlu
ZU1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9s
bGVycy9UaW1lbGluZU1hbmFnZXIuanMKaW5kZXggZDhhNTM4OWUxMjQ1NmM2ODlkNmYzMjI2YTBl
MzAwOTViYjcwMDg0YS4uZTRiNzJlY2RlM2JlYjMxMDg2YTIwOWNiYWMzNTg4ZTQxZTgxOWI4NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxl
cnMvVGltZWxpbmVNYW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdlci5qcwpAQCAtNjk3LDcgKzY5Nyw3IEBA
IFdJLlRpbWVsaW5lTWFuYWdlciA9IGNsYXNzIFRpbWVsaW5lTWFuYWdlciBleHRlbmRzIFdJLk9i
amVjdAogICAgICAgICAgICAgICAgIHJlY29yZCA9IG5ldyBXSS5TY3JpcHRUaW1lbGluZVJlY29y
ZChXSS5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuVGltZXJGaXJlZCwgc3RhcnRUaW1l
LCBlbmRUaW1lLCBjYWxsRnJhbWVzLCBzb3VyY2VDb2RlTG9jYXRpb24sIHBhcmVudFJlY29yZFBh
eWxvYWQuZGF0YS50aW1lcklkLCBwcm9maWxlRGF0YSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICBjYXNlIFRpbWVsaW5lQWdlbnQuRXZlbnRUeXBlLkV2ZW50RGlzcGF0Y2g6
Ci0gICAgICAgICAgICAgICAgcmVjb3JkID0gbmV3IFdJLlNjcmlwdFRpbWVsaW5lUmVjb3JkKFdJ
LlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5FdmVudERpc3BhdGNoZWQsIHN0YXJ0VGlt
ZSwgZW5kVGltZSwgY2FsbEZyYW1lcywgc291cmNlQ29kZUxvY2F0aW9uLCBwYXJlbnRSZWNvcmRQ
YXlsb2FkLmRhdGEudHlwZSwgcHJvZmlsZURhdGEpOworICAgICAgICAgICAgICAgIHJlY29yZCA9
IG5ldyBXSS5TY3JpcHRUaW1lbGluZVJlY29yZChXSS5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVu
dFR5cGUuRXZlbnREaXNwYXRjaGVkLCBzdGFydFRpbWUsIGVuZFRpbWUsIGNhbGxGcmFtZXMsIHNv
dXJjZUNvZGVMb2NhdGlvbiwgcGFyZW50UmVjb3JkUGF5bG9hZC5kYXRhLnR5cGUsIHByb2ZpbGVE
YXRhLCBwYXJlbnRSZWNvcmRQYXlsb2FkLmRhdGEpOwogICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgY2FzZSBUaW1lbGluZUFnZW50LkV2ZW50VHlwZS5PYnNlcnZlckNhbGxiYWNr
OgogICAgICAgICAgICAgICAgIHJlY29yZCA9IG5ldyBXSS5TY3JpcHRUaW1lbGluZVJlY29yZChX
SS5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuT2JzZXJ2ZXJDYWxsYmFjaywgc3RhcnRU
aW1lLCBlbmRUaW1lLCBjYWxsRnJhbWVzLCBzb3VyY2VDb2RlTG9jYXRpb24sIHBhcmVudFJlY29y
ZFBheWxvYWQuZGF0YS50eXBlLCBwcm9maWxlRGF0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU2NyaXB0VGltZWxpbmVSZWNvcmQuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU2NyaXB0VGltZWxp
bmVSZWNvcmQuanMKaW5kZXggNzdiY2EwMDQzYTJjNzEyM2YyMjI4MGY0ZTQyOGIxOTQ2YzlhZTg3
OC4uMWIzMjhmM2E3YTg5MzhiOTlhZTZlNWQxOTJiYTg1NWNkNjc3MDE0MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdFRpbWVsaW5l
UmVjb3JkLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVs
cy9TY3JpcHRUaW1lbGluZVJlY29yZC5qcwpAQCAtMjUsNyArMjUsNyBAQAogCiBXSS5TY3JpcHRU
aW1lbGluZVJlY29yZCA9IGNsYXNzIFNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4dGVuZHMgV0kuVGlt
ZWxpbmVSZWNvcmQKIHsKLSAgICBjb25zdHJ1Y3RvcihldmVudFR5cGUsIHN0YXJ0VGltZSwgZW5k
VGltZSwgY2FsbEZyYW1lcywgc291cmNlQ29kZUxvY2F0aW9uLCBkZXRhaWxzLCBwcm9maWxlUGF5
bG9hZCkKKyAgICBjb25zdHJ1Y3RvcihldmVudFR5cGUsIHN0YXJ0VGltZSwgZW5kVGltZSwgY2Fs
bEZyYW1lcywgc291cmNlQ29kZUxvY2F0aW9uLCBkZXRhaWxzLCBwcm9maWxlUGF5bG9hZCwgZXh0
cmFEZXRhaWxzKQogICAgIHsKICAgICAgICAgc3VwZXIoV0kuVGltZWxpbmVSZWNvcmQuVHlwZS5T
Y3JpcHQsIHN0YXJ0VGltZSwgZW5kVGltZSwgY2FsbEZyYW1lcywgc291cmNlQ29kZUxvY2F0aW9u
KTsKIApAQCAtMzgsNiArMzgsNyBAQCBXSS5TY3JpcHRUaW1lbGluZVJlY29yZCA9IGNsYXNzIFNj
cmlwdFRpbWVsaW5lUmVjb3JkIGV4dGVuZHMgV0kuVGltZWxpbmVSZWNvcmQKICAgICAgICAgdGhp
cy5fZGV0YWlscyA9IGRldGFpbHMgfHwgIiI7CiAgICAgICAgIHRoaXMuX3Byb2ZpbGVQYXlsb2Fk
ID0gcHJvZmlsZVBheWxvYWQgfHwgbnVsbDsKICAgICAgICAgdGhpcy5fcHJvZmlsZSA9IG51bGw7
CisgICAgICAgIHRoaXMuX2V4dHJhRGV0YWlscyA9IGV4dHJhRGV0YWlscyB8fCBudWxsOwogCiAg
ICAgICAgIC8vIENPTVBBVElCSUxJVFkoaU9TIDkpOiBCZWZvcmUgdGhlIFNjcmlwdFByb2ZpbGVy
QWdlbnQgd2UgZGlkIG5vdCBoYXZlIHNhbXBsZSBkYXRhLiBSZXR1cm4gTmFOIHRvIG1hdGNoIG9s
ZCBiZWhhdmlvci4KICAgICAgICAgaWYgKCF3aW5kb3cuU2NyaXB0UHJvZmlsZXJBZ2VudCkKQEAg
LTc2LDE1ICs3NywxMCBAQCBXSS5TY3JpcHRUaW1lbGluZVJlY29yZCA9IGNsYXNzIFNjcmlwdFRp
bWVsaW5lUmVjb3JkIGV4dGVuZHMgV0kuVGltZWxpbmVSZWNvcmQKIAogICAgIC8vIFB1YmxpYwog
Ci0gICAgZ2V0IGV2ZW50VHlwZSgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fZXZlbnRU
eXBlOwotICAgIH0KLQotICAgIGdldCBkZXRhaWxzKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0
aGlzLl9kZXRhaWxzOwotICAgIH0KKyAgICBnZXQgZXZlbnRUeXBlKCkgeyByZXR1cm4gdGhpcy5f
ZXZlbnRUeXBlOyB9CisgICAgZ2V0IGRldGFpbHMoKSB7IHJldHVybiB0aGlzLl9kZXRhaWxzOyB9
CisgICAgZ2V0IGV4dHJhRGV0YWlscygpIHsgcmV0dXJuIHRoaXMuX2V4dHJhRGV0YWlsczsgfQor
ICAgIGdldCBjYWxsQ291bnRPclNhbXBsZXMoKSB7IHJldHVybiB0aGlzLl9jYWxsQ291bnRPclNh
bXBsZXM7IH0KIAogICAgIGdldCBwcm9maWxlKCkKICAgICB7CkBAIC05MiwxMSArODgsNiBAQCBX
SS5TY3JpcHRUaW1lbGluZVJlY29yZCA9IGNsYXNzIFNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4dGVu
ZHMgV0kuVGltZWxpbmVSZWNvcmQKICAgICAgICAgcmV0dXJuIHRoaXMuX3Byb2ZpbGU7CiAgICAg
fQogCi0gICAgZ2V0IGNhbGxDb3VudE9yU2FtcGxlcygpCi0gICAgewotICAgICAgICByZXR1cm4g
dGhpcy5fY2FsbENvdW50T3JTYW1wbGVzOwotICAgIH0KLQogICAgIGlzR2FyYmFnZUNvbGxlY3Rp
b24oKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMuX2V2ZW50VHlwZSA9PT0gV0kuU2NyaXB0
VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkdhcmJhZ2VDb2xsZWN0ZWQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHREZXRhaWxzVGlt
ZWxpbmVWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
U2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldy5qcwppbmRleCA2OWJjMWFlN2I3Mzc3NGQzMTkzYTVj
YmMwM2YyZjU2MjZjZDE4OGQwLi5hN2EzMGE1M2I3NDczM2I3MjE3ZjRjOWIxMTUwN2FjNmQyOWQ0
MzFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9TY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdERldGFpbHNUaW1lbGluZVZpZXcuanMKQEAgLTM0
LDcgKzM0LDcgQEAgV0kuU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldyA9IGNsYXNzIFNjcmlwdERl
dGFpbHNUaW1lbGluZVZpZXcgZXh0ZW5kcyBXSS5UaW1lbGkKICAgICAgICAgbGV0IGNvbHVtbnMg
PSB7bmFtZToge30sIGxvY2F0aW9uOiB7fSwgY2FsbENvdW50OiB7fSwgc3RhcnRUaW1lOiB7fSwg
dG90YWxUaW1lOiB7fSwgc2VsZlRpbWU6IHt9LCBhdmVyYWdlVGltZToge319OwogCiAgICAgICAg
IGNvbHVtbnMubmFtZS50aXRsZSA9IFdJLlVJU3RyaW5nKCJOYW1lIik7Ci0gICAgICAgIGNvbHVt
bnMubmFtZS53aWR0aCA9ICIxMCUiOworICAgICAgICBjb2x1bW5zLm5hbWUud2lkdGggPSAiMzAl
IjsKICAgICAgICAgY29sdW1ucy5uYW1lLmljb24gPSB0cnVlOwogICAgICAgICBjb2x1bW5zLm5h
bWUuZGlzY2xvc3VyZSA9IHRydWU7CiAgICAgICAgIGNvbHVtbnMubmFtZS5sb2NrZWQgPSB0cnVl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
U2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5qcwppbmRleCAwNWQ5
YWQxNGMzYmNkN2E2M2I5MmVkN2FkMGMwYzUyMGI3YzQ5ZjZmLi5mYTJkMGQwNjBhZWJjOTZkMmQ3
ZDY1NTA0YzUzYWM0MjY2MzQyMzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZURh
dGFHcmlkTm9kZS5qcwpAQCAtMTAwLDYgKzEwMCw5IEBAIFdJLlNjcmlwdFRpbWVsaW5lRGF0YUdy
aWROb2RlID0gY2xhc3MgU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUgZXh0ZW5kcyBXSS5UaW1l
CiAgICAgICAgICAgICAgICAgdGhpcy5fc3VidGl0bGUgPSBXSS5VSVN0cmluZygiJXMgaW50ZXJ2
YWwiKS5mb3JtYXQodGltZW91dFN0cmluZyk7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAg
ICAgICAgdGhpcy5fc3VidGl0bGUgPSBXSS5VSVN0cmluZygiJXMgZGVsYXkiKS5mb3JtYXQodGlt
ZW91dFN0cmluZyk7CisgICAgICAgIH0gZWxzZSBpZiAodGhpcy5fcmVjb3JkLmV2ZW50VHlwZSA9
PT0gV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkV2ZW50RGlzcGF0Y2hlZCkgewor
ICAgICAgICAgICAgaWYgKHRoaXMuX3JlY29yZC5leHRyYURldGFpbHMgJiYgdGhpcy5fcmVjb3Jk
LmV4dHJhRGV0YWlscy5kZWZhdWx0UHJldmVudGVkKQorICAgICAgICAgICAgICAgIHRoaXMuX3N1
YnRpdGxlID0gV0kuVUlTdHJpbmcoImRlZmF1bHQgcHJldmVudGVkIik7CiAgICAgICAgIH0KIAog
ICAgICAgICByZXR1cm4gdGhpcy5fc3VidGl0bGU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOWY0NDA1NTA1YjU4ZjAyY2Q4
NzFjOTY3ZDc3ZTU0NGJiNTgyMDAzMy4uYTcxZmYyYTA1MzQxMWRiNTkyNjEzYTZhODlkZjUyNjdm
N2M3OTExMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE5LTAzLTE3ICBEZXZpbiBSb3Vzc28g
IDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBUaW1lbGluZSBz
aG91bGQgc2hvdyB3aGVuIGV2ZW50cyBwcmV2ZW50RGVmYXVsdCgpIHdhcyBjYWxsZWQgb24gYW4g
ZXZlbnQgb3Igbm90CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzY4MjQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM0MjkwOTMxPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9yaWdpbmFsIHBhdGNoIGJ5
IEpvc2VwaCBQZWNvcmFybyA8cGVjb3Jhcm9AYXBwbGUuY29tPi4KKworICAgICAgICAqIGluc3Bl
Y3Rvci90aW1lbGluZS9yZXNvdXJjZXMvdGltZWxpbmUtZXZlbnQtdXRpbGl0aWVzLmpzOiBBZGRl
ZC4KKyAgICAgICAgKGZpbmlzaFJlY29yZGluZyk6CisgICAgICAgIChUZXN0UGFnZS5yZWdpc3Rl
ckluaXRpYWxpemVyLkluc3BlY3RvclRlc3QuVGltZWxpbmVFdmVudC5jYXB0dXJlVGltZWxpbmVX
aXRoU2NyaXB0KToKKyAgICAgICAgKFRlc3RQYWdlLnJlZ2lzdGVySW5pdGlhbGl6ZXIpOgorICAg
ICAgICBIZWxwZXIgY29kZSBmb3IgY3JlYXRpbmcgYSByZWNvcmRpbmcgZnJvbSBhIGZ1bmN0aW9u
LgorCisgICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUNhbmNlbEFu
aW1hdGlvbkZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90
aW1lbGluZS1ldmVudC1DYW5jZWxBbmltYXRpb25GcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1FdmVudERpc3BhdGNo
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVu
dC1FdmVudERpc3BhdGNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9y
L3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUZpcmVBbmltYXRpb25GcmFtZS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtRmlyZUFuaW1hdGlv
bkZyYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5l
L3RpbWVsaW5lLWV2ZW50LVJlcXVlc3RBbmltYXRpb25GcmFtZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtUmVxdWVzdEFuaW1hdGlvbkZy
YW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5lL3Rp
bWVsaW5lLWV2ZW50LVRpbWVyRmlyZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Iv
dGltZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJGaXJlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVRpbWVySW5zdGFsbC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQt
VGltZXJJbnN0YWxsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL3Rp
bWVsaW5lL3RpbWVsaW5lLWV2ZW50LVRpbWVyUmVtb3ZlLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1UaW1lclJlbW92ZS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorCiAyMDE5LTAzLTE2ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29t
PgogCiAgICAgICAgIEFkZCBhIG5ldyBNZWRpYUNhcGFiaWxpdGllc0V4dGVuc2lvbnNFbmFibGVk
IHNldHRpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS9yZXNv
dXJjZXMvdGltZWxpbmUtZXZlbnQtdXRpbGl0aWVzLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3RpbWVsaW5lL3Jlc291cmNlcy90aW1lbGluZS1ldmVudC11dGlsaXRpZXMuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOGUyZTEwMzgwMmQ4Y2E0ZTZjN2ZlZTNlNGEyMDlmMmZlNzg0MjIxNQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS9yZXNvdXJjZXMvdGltZWxpbmUt
ZXZlbnQtdXRpbGl0aWVzLmpzCkBAIC0wLDAgKzEsMzEgQEAKK2Z1bmN0aW9uIGZpbmlzaFJlY29y
ZGluZyhkYXRhKSB7CisgICAgVGVzdFBhZ2UuYWRkUmVzdWx0KCJGaW5pc2ggcmVjb3JkaW5nLi4u
Iik7CisgICAgVGVzdFBhZ2UuZGlzcGF0Y2hFdmVudFRvRnJvbnRlbmQoIkZpbmlzaFJlY29yZGlu
ZyIsIGRhdGEpOworfQorCitUZXN0UGFnZS5yZWdpc3RlckluaXRpYWxpemVyKCgpID0+IHsKKyAg
ICBJbnNwZWN0b3JUZXN0LlRpbWVsaW5lRXZlbnQgPSB7fTsKKworICAgIEluc3BlY3RvclRlc3Qu
VGltZWxpbmVFdmVudC5jYXB0dXJlVGltZWxpbmVXaXRoU2NyaXB0ID0gZnVuY3Rpb24oZXhwcmVz
c2lvbikgeworICAgICAgICBsZXQgcGFnZVJlY29yZGluZ0RhdGEgPSBudWxsOworCisgICAgICAg
IEluc3BlY3RvclRlc3QubG9nKCJTdGFydGluZyBDYXB0dXJlLi4uIik7CisgICAgICAgIGNvbnN0
IG5ld1JlY29yZGluZyA9IHRydWU7CisgICAgICAgIFdJLnRpbWVsaW5lTWFuYWdlci5zdGFydENh
cHR1cmluZyhuZXdSZWNvcmRpbmcpOworCisgICAgICAgIGxldCBwcm9taXNlcyA9IFtdOworCisg
ICAgICAgIHByb21pc2VzLnB1c2goV0kudGltZWxpbmVNYW5hZ2VyLmF3YWl0RXZlbnQoV0kuVGlt
ZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0b3BwZWQpKTsKKworICAgICAgICBwcm9taXNl
cy5wdXNoKEluc3BlY3RvclRlc3QuYXdhaXRFdmVudCgiRmluaXNoUmVjb3JkaW5nIikudGhlbigo
ZXZlbnQpID0+IHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJTdG9wcGluZyBDYXB0
dXJlLi4uIik7CisgICAgICAgICAgICBwYWdlUmVjb3JkaW5nRGF0YSA9IGV2ZW50LmRhdGE7Cisg
ICAgICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIuc3RvcENhcHR1cmluZygpOworICAgICAgICB9
KSk7CisKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkV2YWx1YXRpbmcuLi4iKTsKKyAgICAg
ICAgcHJvbWlzZXMucHVzaChJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGV4cHJlc3Npb24p
KTsKKworICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwocHJvbWlzZXMpLnRoZW4oKCkgPT4gcGFn
ZVJlY29yZGluZ0RhdGEpOworICAgIH0KK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUNhbmNlbEFuaW1hdGlvbkZyYW1lLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1D
YW5jZWxBbmltYXRpb25GcmFtZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODA4MjQwYmI3YjZh
NGIxZWJhMWEwZTI5ZDAwZWUyYzE1OWUzMjM5ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1DYW5jZWxBbmltYXRpb25GcmFt
ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGVzdHMgJ0NhbmNlbEFuaW1hdGlvbkZy
YW1lJyBUaW1lbGluZSBldmVudCByZWNvcmRzLgorCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTog
VGltZWxpbmVFdmVudC5DYW5jZWxBbmltYXRpb25GcmFtZQorLS0gUnVubmluZyB0ZXN0IGNhc2U6
IFRpbWVsaW5lRXZlbnQuQ2FuY2VsQW5pbWF0aW9uRnJhbWUucmVxdWVzdEFuaW1hdGlvbkZyYW1l
CitTdGFydGluZyBDYXB0dXJlLi4uCitFdmFsdWF0aW5nLi4uCitGaW5pc2ggcmVjb3JkaW5nLi4u
CitTdG9wcGluZyBDYXB0dXJlLi4uCitQQVNTOiBTaG91bGQgYmUgMSBBbmltYXRpb25GcmFtZUNh
bmNlbGVkIHJlY29yZC4KK0RFVEFJTFM6IG51bWJlcgorUEFTUzogU2NyaXB0VGltZWxpbmVSZWNv
cmQgZGV0YWlscyBzaG91bGQgYmUgdGhlIHJlcXVlc3RBbmltYXRpb25GcmFtZSBpZGVudGlmaWVy
LgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUt
ZXZlbnQtQ2FuY2VsQW5pbWF0aW9uRnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90
aW1lbGluZS90aW1lbGluZS1ldmVudC1DYW5jZWxBbmltYXRpb25GcmFtZS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmM0NzVhZjMwZDY3ZmQ0YTFiMTg4ZDRlZWZlZjgxOWRmM2ZiM2Y5YzUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtQ2Fu
Y2VsQW5pbWF0aW9uRnJhbWUuaHRtbApAQCAtMCwwICsxLDUwIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
cmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy90aW1lbGluZS1ldmVudC11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
KworZnVuY3Rpb24gdGVzdFJlcXVlc3RBbmltYXRpb25GcmFtZSgpIHsKKyAgICBsZXQgcmVxdWVz
dEFuaW1hdGlvbkZyYW1lSWRlbnRpZmllciA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7
CisgICAgICAgIFRlc3RQYWdlLmFkZFJlc3VsdCgiRkFJTDogcmVxdWVzdEFuaW1hdGlvbkZyYW1l
IGZpcmVkIik7CisgICAgfSk7CisKKyAgICBjYW5jZWxBbmltYXRpb25GcmFtZShyZXF1ZXN0QW5p
bWF0aW9uRnJhbWVJZGVudGlmaWVyKTsKKworICAgIHNldFRpbWVvdXQoKCkgPT4geworICAgICAg
ICBmaW5pc2hSZWNvcmRpbmcoe3JlcXVlc3RBbmltYXRpb25GcmFtZUlkZW50aWZpZXJ9KTsKKyAg
ICB9KTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgbGV0IHN1aXRlID0gSW5zcGVjdG9y
VGVzdC5jcmVhdGVBc3luY1N1aXRlKCJUaW1lbGluZUV2ZW50LkNhbmNlbEFuaW1hdGlvbkZyYW1l
Iik7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJUaW1lbGluZUV2
ZW50LkNhbmNlbEFuaW1hdGlvbkZyYW1lLnJlcXVlc3RBbmltYXRpb25GcmFtZSIsCisgICAgICAg
IGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBsZXQgcGFnZVJlY29yZGluZ0RhdGEgPSBhd2Fp
dCBJbnNwZWN0b3JUZXN0LlRpbWVsaW5lRXZlbnQuY2FwdHVyZVRpbWVsaW5lV2l0aFNjcmlwdChg
dGVzdFJlcXVlc3RBbmltYXRpb25GcmFtZSgpYCk7CisKKyAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYXNzZXJ0KHR5cGVvZiBwYWdlUmVjb3JkaW5nRGF0YS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWVJ
ZGVudGlmaWVyID09PSAibnVtYmVyIik7CisKKyAgICAgICAgICAgIGxldCByZWNvcmRpbmcgPSBX
SS50aW1lbGluZU1hbmFnZXIuYWN0aXZlUmVjb3JkaW5nOworICAgICAgICAgICAgbGV0IHNjcmlw
dFRpbWVsaW5lID0gcmVjb3JkaW5nLnRpbWVsaW5lcy5nZXQoV0kuVGltZWxpbmVSZWNvcmQuVHlw
ZS5TY3JpcHQpOworICAgICAgICAgICAgbGV0IHJlY29yZHMgPSBzY3JpcHRUaW1lbGluZS5yZWNv
cmRzLmZpbHRlcigoeCkgPT4geC5ldmVudFR5cGUgPT09IFdJLlNjcmlwdFRpbWVsaW5lUmVjb3Jk
LkV2ZW50VHlwZS5BbmltYXRpb25GcmFtZUNhbmNlbGVkKTsKKyAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuZXhwZWN0RXF1YWwocmVjb3Jkcy5sZW5ndGgsIDEsICJTaG91bGQgYmUgMSBBbmltYXRp
b25GcmFtZUNhbmNlbGVkIHJlY29yZC4iKTsKKyAgICAgICAgICAgIGZvciAobGV0IHJlY29yZCBv
ZiByZWNvcmRzKSB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkRFVEFJTFM6
ICIgKyB0eXBlb2YgcmVjb3JkLmRldGFpbHMpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZXhwZWN0RXF1YWwocmVjb3JkLmRldGFpbHMsIHBhZ2VSZWNvcmRpbmdEYXRhLnJlcXVlc3RB
bmltYXRpb25GcmFtZUlkZW50aWZpZXIsICJTY3JpcHRUaW1lbGluZVJlY29yZCBkZXRhaWxzIHNo
b3VsZCBiZSB0aGUgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIGlkZW50aWZpZXIuIik7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZp
bmlzaCgpOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KKyAgICA8cD5UZXN0cyAnQ2FuY2VsQW5pbWF0aW9uRnJhbWUnIFRpbWVsaW5lIGV2ZW50IHJl
Y29yZHMuPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUV2ZW50RGlzcGF0Y2gtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUV2ZW50RGlz
cGF0Y2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxOGJiMDI5Y2YxMGNhZjJlNzQ1Y2I0N2Nj
YjBjMjIyODY4OGNmYTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
dGltZWxpbmUvdGltZWxpbmUtZXZlbnQtRXZlbnREaXNwYXRjaC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw0NSBAQAorVGVzdHMgJ0V2ZW50RGlzcGF0Y2gnIFRpbWVsaW5lIGV2ZW50IHJlY29yZHMu
CisKKyAgCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogVGltZWxpbmVFdmVudC5FdmVudERpc3Bh
dGNoCistLSBSdW5uaW5nIHRlc3QgY2FzZTogVGltZWxpbmVFdmVudC5FdmVudERpc3BhdGNoLkhh
bmRsZXIuUmVndWxhcgorU3RhcnRpbmcgQ2FwdHVyZS4uLgorRXZhbHVhdGluZy4uLgorUEFTUzog
Y2xpY2sgaGFuZGxlciBmaXJlZAorRmluaXNoIHJlY29yZGluZy4uLgorU3RvcHBpbmcgQ2FwdHVy
ZS4uLgorUEFTUzogU2hvdWxkIGJlIDEgRXZlbnREaXNwYXRjaGVkIHJlY29yZC4KK0RFVEFJTFM6
IHsidHlwZSI6ImNsaWNrIiwiZGVmYXVsdFByZXZlbnRlZCI6ZmFsc2V9CitQQVNTOiBTY3JpcHRU
aW1lbGluZVJlY29yZCBleHRyYURldGFpbHMgc2hvdWxkIHNob3cgZGVmYXVsdCB3YXMgbm90IHBy
ZXZlbnRlZC4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFRpbWVsaW5lRXZlbnQuRXZlbnREaXNw
YXRjaC5IYW5kbGVyLkRlZmF1bHRQcmV2ZW50ZWQKK1N0YXJ0aW5nIENhcHR1cmUuLi4KK0V2YWx1
YXRpbmcuLi4KK1BBU1M6IGNsaWNrIGhhbmRsZXIgZmlyZWQsIHdpbGwgcHJldmVudCBkZWZhdWx0
CitGaW5pc2ggcmVjb3JkaW5nLi4uCitTdG9wcGluZyBDYXB0dXJlLi4uCitQQVNTOiBTaG91bGQg
YmUgMSBFdmVudERpc3BhdGNoZWQgcmVjb3JkLgorREVUQUlMUzogeyJ0eXBlIjoiY2xpY2siLCJk
ZWZhdWx0UHJldmVudGVkIjp0cnVlfQorUEFTUzogU2NyaXB0VGltZWxpbmVSZWNvcmQgZXh0cmFE
ZXRhaWxzIHNob3VsZCBzaG93IGRlZmF1bHQgd2FzIHByZXZlbnRlZC4KKworLS0gUnVubmluZyB0
ZXN0IGNhc2U6IFRpbWVsaW5lRXZlbnQuRXZlbnREaXNwYXRjaC5BdHRyaWJ1dGVIYW5kbGVyLlJl
Z3VsYXIKK1N0YXJ0aW5nIENhcHR1cmUuLi4KK0V2YWx1YXRpbmcuLi4KK1BBU1M6IGIxIG9uY2xp
Y2sgYXR0cmlidXRlIGhhbmRsZXIgZmlyZWQKK0ZpbmlzaCByZWNvcmRpbmcuLi4KK1N0b3BwaW5n
IENhcHR1cmUuLi4KK1BBU1M6IFNob3VsZCBiZSAxIEV2ZW50RGlzcGF0Y2hlZCByZWNvcmQuCitE
RVRBSUxTOiB7InR5cGUiOiJjbGljayIsImRlZmF1bHRQcmV2ZW50ZWQiOmZhbHNlfQorUEFTUzog
U2NyaXB0VGltZWxpbmVSZWNvcmQgZXh0cmFEZXRhaWxzIHNob3VsZCBzaG93IGRlZmF1bHQgd2Fz
IG5vdCBwcmV2ZW50ZWQuCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBUaW1lbGluZUV2ZW50LkV2
ZW50RGlzcGF0Y2guQXR0cmlidXRlSGFuZGxlci5EZWZhdWx0UHJldmVudGVkCitTdGFydGluZyBD
YXB0dXJlLi4uCitFdmFsdWF0aW5nLi4uCitQQVNTOiBiMiBvbmNsaWNrIGF0dHJpYnV0ZSBoYW5k
bGVyIGZpcmVkLCB3aWxsIHByZXZlbnQgZGVmYXVsdAorRmluaXNoIHJlY29yZGluZy4uLgorU3Rv
cHBpbmcgQ2FwdHVyZS4uLgorUEFTUzogU2hvdWxkIGJlIDEgRXZlbnREaXNwYXRjaGVkIHJlY29y
ZC4KK0RFVEFJTFM6IHsidHlwZSI6ImNsaWNrIiwiZGVmYXVsdFByZXZlbnRlZCI6dHJ1ZX0KK1BB
U1M6IFNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4dHJhRGV0YWlscyBzaG91bGQgc2hvdyBkZWZhdWx0
IHdhcyBwcmV2ZW50ZWQuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1l
bGluZS90aW1lbGluZS1ldmVudC1FdmVudERpc3BhdGNoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtRXZlbnREaXNwYXRjaC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmEyYTNhN2NkZWQzMTIwN2VjZGM3ZDcyM2IxZmQ5NzUyMjZiNjIwODEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtRXZl
bnREaXNwYXRjaC5odG1sCkBAIC0wLDAgKzEsMTE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3Vy
Y2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy90aW1lbGluZS1ldmVudC11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVu
Y3Rpb24gdGVzdENsaWNrRXZlbnRIYW5kbGVyKHtwcmV2ZW50RGVmYXVsdH0pIHsKKyAgICBsZXQg
YnV0dG9uID0gZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJidXR0b24iKSk7CisgICAgYnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKGV2ZW50
KSA9PiB7CisgICAgICAgIFRlc3RQYWdlLmFkZFJlc3VsdCgiUEFTUzogY2xpY2sgaGFuZGxlciBm
aXJlZCIgKyAocHJldmVudERlZmF1bHQgPyAiLCB3aWxsIHByZXZlbnQgZGVmYXVsdCIgOiAiIikp
OworCisgICAgICAgIGlmIChwcmV2ZW50RGVmYXVsdCkKKyAgICAgICAgICAgIGV2ZW50LnByZXZl
bnREZWZhdWx0KCk7CisKKyAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CisgICAgICAgICAgICBm
aW5pc2hSZWNvcmRpbmcoe3ByZXZlbnREZWZhdWx0fSk7CisgICAgICAgIH0pOworICAgIH0pOwor
ICAgIGJ1dHRvbi5kaXNwYXRjaEV2ZW50KG5ldyBNb3VzZUV2ZW50KCJjbGljayIsIHtidWJibGVz
OiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlfSkpOworfQorCitmdW5jdGlvbiB0ZXN0Q2xpY2tFdmVu
dEF0dHJpYnV0ZUhhbmRsZXIoaWQsIHtwcmV2ZW50RGVmYXVsdH0pIHsKKyAgICBsZXQgYnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOworICAgIGJ1dHRvbi5kaXNwYXRjaEV2ZW50
KG5ldyBNb3VzZUV2ZW50KCJjbGljayIsIHtidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVl
fSkpOworCisgICAgc2V0VGltZW91dCgoKSA9PiB7CisgICAgICAgIGZpbmlzaFJlY29yZGluZyh7
cHJldmVudERlZmF1bHR9KTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAg
bGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJUaW1lbGluZUV2ZW50
LkV2ZW50RGlzcGF0Y2giKTsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFt
ZTogIlRpbWVsaW5lRXZlbnQuRXZlbnREaXNwYXRjaC5IYW5kbGVyLlJlZ3VsYXIiLAorICAgICAg
ICBhc3luYyB0ZXN0KCkgeworICAgICAgICAgICAgbGV0IHBhZ2VSZWNvcmRpbmdEYXRhID0gYXdh
aXQgSW5zcGVjdG9yVGVzdC5UaW1lbGluZUV2ZW50LmNhcHR1cmVUaW1lbGluZVdpdGhTY3JpcHQo
YHRlc3RDbGlja0V2ZW50SGFuZGxlcih7cHJldmVudERlZmF1bHQ6IGZhbHNlfSlgKTsKKworICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQodHlwZW9mIHBhZ2VSZWNvcmRpbmdEYXRhLnBy
ZXZlbnREZWZhdWx0ID09PSAiYm9vbGVhbiIpOworCisgICAgICAgICAgICBsZXQgcmVjb3JkaW5n
ID0gV0kudGltZWxpbmVNYW5hZ2VyLmFjdGl2ZVJlY29yZGluZzsKKyAgICAgICAgICAgIGxldCBz
Y3JpcHRUaW1lbGluZSA9IHJlY29yZGluZy50aW1lbGluZXMuZ2V0KFdJLlRpbWVsaW5lUmVjb3Jk
LlR5cGUuU2NyaXB0KTsKKyAgICAgICAgICAgIGxldCByZWNvcmRzID0gc2NyaXB0VGltZWxpbmUu
cmVjb3Jkcy5maWx0ZXIoKHgpID0+IHguZXZlbnRUeXBlID09PSBXSS5TY3JpcHRUaW1lbGluZVJl
Y29yZC5FdmVudFR5cGUuRXZlbnREaXNwYXRjaGVkKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZXhwZWN0RXF1YWwocmVjb3Jkcy5sZW5ndGgsIDEsICJTaG91bGQgYmUgMSBFdmVudERpc3Bh
dGNoZWQgcmVjb3JkLiIpOworICAgICAgICAgICAgZm9yIChsZXQgcmVjb3JkIG9mIHJlY29yZHMp
IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiREVUQUlMUzogIiArIEpTT04u
c3RyaW5naWZ5KHJlY29yZC5leHRyYURldGFpbHMpKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29yZC5leHRyYURldGFpbHMuZGVmYXVsdFByZXZlbnRlZCwg
cGFnZVJlY29yZGluZ0RhdGEucHJldmVudERlZmF1bHQsICJTY3JpcHRUaW1lbGluZVJlY29yZCBl
eHRyYURldGFpbHMgc2hvdWxkIHNob3cgZGVmYXVsdCB3YXMgbm90IHByZXZlbnRlZC4iKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUuYWRkVGVzdENhc2Uo
eworICAgICAgICBuYW1lOiAiVGltZWxpbmVFdmVudC5FdmVudERpc3BhdGNoLkhhbmRsZXIuRGVm
YXVsdFByZXZlbnRlZCIsCisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBsZXQg
cGFnZVJlY29yZGluZ0RhdGEgPSBhd2FpdCBJbnNwZWN0b3JUZXN0LlRpbWVsaW5lRXZlbnQuY2Fw
dHVyZVRpbWVsaW5lV2l0aFNjcmlwdChgdGVzdENsaWNrRXZlbnRIYW5kbGVyKHtwcmV2ZW50RGVm
YXVsdDogdHJ1ZX0pYCk7CisKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHR5cGVv
ZiBwYWdlUmVjb3JkaW5nRGF0YS5wcmV2ZW50RGVmYXVsdCA9PT0gImJvb2xlYW4iKTsKKworICAg
ICAgICAgICAgbGV0IHJlY29yZGluZyA9IFdJLnRpbWVsaW5lTWFuYWdlci5hY3RpdmVSZWNvcmRp
bmc7CisgICAgICAgICAgICBsZXQgc2NyaXB0VGltZWxpbmUgPSByZWNvcmRpbmcudGltZWxpbmVz
LmdldChXSS5UaW1lbGluZVJlY29yZC5UeXBlLlNjcmlwdCk7CisgICAgICAgICAgICBsZXQgcmVj
b3JkcyA9IHNjcmlwdFRpbWVsaW5lLnJlY29yZHMuZmlsdGVyKCh4KSA9PiB4LmV2ZW50VHlwZSA9
PT0gV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkV2ZW50RGlzcGF0Y2hlZCk7Cisg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29yZHMubGVuZ3RoLCAxLCAi
U2hvdWxkIGJlIDEgRXZlbnREaXNwYXRjaGVkIHJlY29yZC4iKTsKKyAgICAgICAgICAgIGZvciAo
bGV0IHJlY29yZCBvZiByZWNvcmRzKSB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5s
b2coIkRFVEFJTFM6ICIgKyBKU09OLnN0cmluZ2lmeShyZWNvcmQuZXh0cmFEZXRhaWxzKSk7Cisg
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZWNvcmQuZXh0cmFEZXRh
aWxzLmRlZmF1bHRQcmV2ZW50ZWQsIHBhZ2VSZWNvcmRpbmdEYXRhLnByZXZlbnREZWZhdWx0LCAi
U2NyaXB0VGltZWxpbmVSZWNvcmQgZXh0cmFEZXRhaWxzIHNob3VsZCBzaG93IGRlZmF1bHQgd2Fz
IHByZXZlbnRlZC4iKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0pOworCisgICAg
c3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiVGltZWxpbmVFdmVudC5FdmVudERp
c3BhdGNoLkF0dHJpYnV0ZUhhbmRsZXIuUmVndWxhciIsCisgICAgICAgIGFzeW5jIHRlc3QoKSB7
CisgICAgICAgICAgICBsZXQgcGFnZVJlY29yZGluZ0RhdGEgPSBhd2FpdCBJbnNwZWN0b3JUZXN0
LlRpbWVsaW5lRXZlbnQuY2FwdHVyZVRpbWVsaW5lV2l0aFNjcmlwdChgdGVzdENsaWNrRXZlbnRB
dHRyaWJ1dGVIYW5kbGVyKCJiMSIsIHtwcmV2ZW50RGVmYXVsdDogZmFsc2V9KWApOworCisgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0eXBlb2YgcGFnZVJlY29yZGluZ0RhdGEucHJl
dmVudERlZmF1bHQgPT09ICJib29sZWFuIik7CisKKyAgICAgICAgICAgIGxldCByZWNvcmRpbmcg
PSBXSS50aW1lbGluZU1hbmFnZXIuYWN0aXZlUmVjb3JkaW5nOworICAgICAgICAgICAgbGV0IHNj
cmlwdFRpbWVsaW5lID0gcmVjb3JkaW5nLnRpbWVsaW5lcy5nZXQoV0kuVGltZWxpbmVSZWNvcmQu
VHlwZS5TY3JpcHQpOworICAgICAgICAgICAgbGV0IHJlY29yZHMgPSBzY3JpcHRUaW1lbGluZS5y
ZWNvcmRzLmZpbHRlcigoeCkgPT4geC5ldmVudFR5cGUgPT09IFdJLlNjcmlwdFRpbWVsaW5lUmVj
b3JkLkV2ZW50VHlwZS5FdmVudERpc3BhdGNoZWQpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5leHBlY3RFcXVhbChyZWNvcmRzLmxlbmd0aCwgMSwgIlNob3VsZCBiZSAxIEV2ZW50RGlzcGF0
Y2hlZCByZWNvcmQuIik7CisgICAgICAgICAgICBmb3IgKGxldCByZWNvcmQgb2YgcmVjb3Jkcykg
eworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJERVRBSUxTOiAiICsgSlNPTi5z
dHJpbmdpZnkocmVjb3JkLmV4dHJhRGV0YWlscykpOworICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuZXhwZWN0RXF1YWwocmVjb3JkLmV4dHJhRGV0YWlscy5kZWZhdWx0UHJldmVudGVkLCBw
YWdlUmVjb3JkaW5nRGF0YS5wcmV2ZW50RGVmYXVsdCwgIlNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4
dHJhRGV0YWlscyBzaG91bGQgc2hvdyBkZWZhdWx0IHdhcyBub3QgcHJldmVudGVkLiIpOworICAg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7
CisgICAgICAgIG5hbWU6ICJUaW1lbGluZUV2ZW50LkV2ZW50RGlzcGF0Y2guQXR0cmlidXRlSGFu
ZGxlci5EZWZhdWx0UHJldmVudGVkIiwKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAgICAgICAg
ICAgIGxldCBwYWdlUmVjb3JkaW5nRGF0YSA9IGF3YWl0IEluc3BlY3RvclRlc3QuVGltZWxpbmVF
dmVudC5jYXB0dXJlVGltZWxpbmVXaXRoU2NyaXB0KGB0ZXN0Q2xpY2tFdmVudEF0dHJpYnV0ZUhh
bmRsZXIoImIyIiwge3ByZXZlbnREZWZhdWx0OiB0cnVlfSlgKTsKKworICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hc3NlcnQodHlwZW9mIHBhZ2VSZWNvcmRpbmdEYXRhLnByZXZlbnREZWZhdWx0
ID09PSAiYm9vbGVhbiIpOworCisgICAgICAgICAgICBsZXQgcmVjb3JkaW5nID0gV0kudGltZWxp
bmVNYW5hZ2VyLmFjdGl2ZVJlY29yZGluZzsKKyAgICAgICAgICAgIGxldCBzY3JpcHRUaW1lbGlu
ZSA9IHJlY29yZGluZy50aW1lbGluZXMuZ2V0KFdJLlRpbWVsaW5lUmVjb3JkLlR5cGUuU2NyaXB0
KTsKKyAgICAgICAgICAgIGxldCByZWNvcmRzID0gc2NyaXB0VGltZWxpbmUucmVjb3Jkcy5maWx0
ZXIoKHgpID0+IHguZXZlbnRUeXBlID09PSBXSS5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5
cGUuRXZlbnREaXNwYXRjaGVkKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1
YWwocmVjb3Jkcy5sZW5ndGgsIDEsICJTaG91bGQgYmUgMSBFdmVudERpc3BhdGNoZWQgcmVjb3Jk
LiIpOworICAgICAgICAgICAgZm9yIChsZXQgcmVjb3JkIG9mIHJlY29yZHMpIHsKKyAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiREVUQUlMUzogIiArIEpTT04uc3RyaW5naWZ5KHJl
Y29yZC5leHRyYURldGFpbHMpKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVj
dEVxdWFsKHJlY29yZC5leHRyYURldGFpbHMuZGVmYXVsdFByZXZlbnRlZCwgcGFnZVJlY29yZGlu
Z0RhdGEucHJldmVudERlZmF1bHQsICJTY3JpcHRUaW1lbGluZVJlY29yZCBleHRyYURldGFpbHMg
c2hvdWxkIHNob3cgZGVmYXVsdCB3YXMgcHJldmVudGVkLiIpOworICAgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKK30K
KworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgPHA+
VGVzdHMgJ0V2ZW50RGlzcGF0Y2gnIFRpbWVsaW5lIGV2ZW50IHJlY29yZHMuPC9wPgorICAgIDxi
dXR0b24gaWQ9ImIxIiBvbmNsaWNrPSJUZXN0UGFnZS5hZGRSZXN1bHQoJ1BBU1M6IGIxIG9uY2xp
Y2sgYXR0cmlidXRlIGhhbmRsZXIgZmlyZWQnKTsgcmV0dXJuIHRydWUiPjwvYnV0dG9uPgorICAg
IDxidXR0b24gaWQ9ImIyIiBvbmNsaWNrPSJUZXN0UGFnZS5hZGRSZXN1bHQoJ1BBU1M6IGIyIG9u
Y2xpY2sgYXR0cmlidXRlIGhhbmRsZXIgZmlyZWQsIHdpbGwgcHJldmVudCBkZWZhdWx0Jyk7IHJl
dHVybiBmYWxzZSI+PC9idXR0b24+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtRmlyZUFuaW1hdGlvbkZy
YW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGlu
ZS1ldmVudC1GaXJlQW5pbWF0aW9uRnJhbWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxOTk1
ZGEzNTM3Yzk0NTEwNzEyYzNmZmRkMTRjNjQ4MWFkNjdiNmQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtRmlyZUFuaW1hdGlv
bkZyYW1lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitUZXN0cyAnRmlyZUFuaW1hdGlv
bkZyYW1lJyBUaW1lbGluZSBldmVudCByZWNvcmRzLgorCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0
ZTogVGltZWxpbmVFdmVudC5GaXJlQW5pbWF0aW9uRnJhbWUKKy0tIFJ1bm5pbmcgdGVzdCBjYXNl
OiBUaW1lbGluZUV2ZW50LkZpcmVBbmltYXRpb25GcmFtZS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUK
K1N0YXJ0aW5nIENhcHR1cmUuLi4KK0V2YWx1YXRpbmcuLi4KK1BBU1M6IHJlcXVlc3RBbmltYXRp
b25GcmFtZSBmaXJlZAorRmluaXNoIHJlY29yZGluZy4uLgorU3RvcHBpbmcgQ2FwdHVyZS4uLgor
UEFTUzogU2hvdWxkIGJlIDEgQW5pbWF0aW9uRnJhbWVGaXJlZCByZWNvcmQuCitERVRBSUxTOiBu
dW1iZXIKK1BBU1M6IFNjcmlwdFRpbWVsaW5lUmVjb3JkIGRldGFpbHMgc2hvdWxkIGJlIHRoZSBy
ZXF1ZXN0QW5pbWF0aW9uRnJhbWUgaWRlbnRpZmllci4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUZpcmVBbmltYXRpb25GcmFtZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LUZpcmVB
bmltYXRpb25GcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE3YThmZTM3OTZjMTliZDMwNzVjYmE0MmYx
MDA2YmMyNzlkOWMwNDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
dGltZWxpbmUvdGltZWxpbmUtZXZlbnQtRmlyZUFuaW1hdGlvbkZyYW1lLmh0bWwKQEAgLTAsMCAr
MSw0OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvdGltZWxpbmUtZXZlbnQtdXRpbGl0aWVz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3RSZXF1ZXN0QW5pbWF0aW9u
RnJhbWUoKSB7CisgICAgbGV0IHJlcXVlc3RBbmltYXRpb25GcmFtZUlkZW50aWZpZXIgPSByZXF1
ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICBUZXN0UGFnZS5hZGRSZXN1bHQoIlBB
U1M6IHJlcXVlc3RBbmltYXRpb25GcmFtZSBmaXJlZCIpOworCisgICAgICAgIHNldFRpbWVvdXQo
KCkgPT4geworICAgICAgICAgICAgZmluaXNoUmVjb3JkaW5nKHtyZXF1ZXN0QW5pbWF0aW9uRnJh
bWVJZGVudGlmaWVyfSk7CisgICAgICAgIH0pOworICAgIH0pOworfQorCitmdW5jdGlvbiB0ZXN0
KCkKK3sKKyAgICBsZXQgc3VpdGUgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZUFzeW5jU3VpdGUoIlRp
bWVsaW5lRXZlbnQuRmlyZUFuaW1hdGlvbkZyYW1lIik7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2Fz
ZSh7CisgICAgICAgIG5hbWU6ICJUaW1lbGluZUV2ZW50LkZpcmVBbmltYXRpb25GcmFtZS5yZXF1
ZXN0QW5pbWF0aW9uRnJhbWUiLAorICAgICAgICBhc3luYyB0ZXN0KCkgeworICAgICAgICAgICAg
bGV0IHBhZ2VSZWNvcmRpbmdEYXRhID0gYXdhaXQgSW5zcGVjdG9yVGVzdC5UaW1lbGluZUV2ZW50
LmNhcHR1cmVUaW1lbGluZVdpdGhTY3JpcHQoYHRlc3RSZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKWAp
OworCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0eXBlb2YgcGFnZVJlY29yZGlu
Z0RhdGEucmVxdWVzdEFuaW1hdGlvbkZyYW1lSWRlbnRpZmllciA9PT0gIm51bWJlciIpOworCisg
ICAgICAgICAgICBsZXQgcmVjb3JkaW5nID0gV0kudGltZWxpbmVNYW5hZ2VyLmFjdGl2ZVJlY29y
ZGluZzsKKyAgICAgICAgICAgIGxldCBzY3JpcHRUaW1lbGluZSA9IHJlY29yZGluZy50aW1lbGlu
ZXMuZ2V0KFdJLlRpbWVsaW5lUmVjb3JkLlR5cGUuU2NyaXB0KTsKKyAgICAgICAgICAgIGxldCBy
ZWNvcmRzID0gc2NyaXB0VGltZWxpbmUucmVjb3Jkcy5maWx0ZXIoKHgpID0+IHguZXZlbnRUeXBl
ID09PSBXSS5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuQW5pbWF0aW9uRnJhbWVGaXJl
ZCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29yZHMubGVuZ3Ro
LCAxLCAiU2hvdWxkIGJlIDEgQW5pbWF0aW9uRnJhbWVGaXJlZCByZWNvcmQuIik7CisgICAgICAg
ICAgICBmb3IgKGxldCByZWNvcmQgb2YgcmVjb3JkcykgeworICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QubG9nKCJERVRBSUxTOiAiICsgdHlwZW9mIHJlY29yZC5kZXRhaWxzKTsKKyAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29yZC5kZXRhaWxzLCBwYWdl
UmVjb3JkaW5nRGF0YS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZGVudGlmaWVyLCAiU2NyaXB0VGlt
ZWxpbmVSZWNvcmQgZGV0YWlscyBzaG91bGQgYmUgdGhlIHJlcXVlc3RBbmltYXRpb25GcmFtZSBp
ZGVudGlmaWVyLiIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfSk7CisKKyAgICBz
dWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgPHA+VGVzdHMgJ0ZpcmVBbmltYXRpb25GcmFt
ZScgVGltZWxpbmUgZXZlbnQgcmVjb3Jkcy48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtUmVxdWVz
dEFuaW1hdGlvbkZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1l
bGluZS90aW1lbGluZS1ldmVudC1SZXF1ZXN0QW5pbWF0aW9uRnJhbWUtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjA0NzEzYWRiNzgxZTg4NGQ1NTc1YTE1YmIxNWNiMDY3YWY0ZmMwMTEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZl
bnQtUmVxdWVzdEFuaW1hdGlvbkZyYW1lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitU
ZXN0cyAnUmVxdWVzdEFuaW1hdGlvbkZyYW1lJyBUaW1lbGluZSBldmVudCByZWNvcmRzLgorCisK
Kz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogVGltZWxpbmVFdmVudC5SZXF1ZXN0QW5pbWF0aW9uRnJh
bWUKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBUaW1lbGluZUV2ZW50LlJlcXVlc3RBbmltYXRpb25G
cmFtZS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUKK1N0YXJ0aW5nIENhcHR1cmUuLi4KK0V2YWx1YXRp
bmcuLi4KK1BBU1M6IHJlcXVlc3RBbmltYXRpb25GcmFtZSBmaXJlZAorRmluaXNoIHJlY29yZGlu
Zy4uLgorU3RvcHBpbmcgQ2FwdHVyZS4uLgorUEFTUzogU2hvdWxkIGJlIDEgQW5pbWF0aW9uRnJh
bWVSZXF1ZXN0ZWQgcmVjb3JkLgorREVUQUlMUzogbnVtYmVyCitQQVNTOiBTY3JpcHRUaW1lbGlu
ZVJlY29yZCBkZXRhaWxzIHNob3VsZCBiZSB0aGUgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIGlkZW50
aWZpZXIuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1l
bGluZS1ldmVudC1SZXF1ZXN0QW5pbWF0aW9uRnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1SZXF1ZXN0QW5pbWF0aW9uRnJhbWUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43YjQ0ZjQwMzY2NzEzMjczNTYxOTZmOGJmZjZkODcyZjYzNDIzZmM3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2
ZW50LVJlcXVlc3RBbmltYXRpb25GcmFtZS5odG1sCkBAIC0wLDAgKzEsNDggQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9yZXNvdXJjZXMvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4vcmVzb3VyY2VzL3RpbWVsaW5lLWV2ZW50LXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0UmVxdWVzdEFuaW1hdGlvbkZyYW1lKCkgeworICAgIGxl
dCByZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZGVudGlmaWVyID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1l
KCgpID0+IHsKKyAgICAgICAgVGVzdFBhZ2UuYWRkUmVzdWx0KCJQQVNTOiByZXF1ZXN0QW5pbWF0
aW9uRnJhbWUgZmlyZWQiKTsKKworICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAg
ICAgIGZpbmlzaFJlY29yZGluZyh7cmVxdWVzdEFuaW1hdGlvbkZyYW1lSWRlbnRpZmllcn0pOwor
ICAgICAgICB9KTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgbGV0IHN1
aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJUaW1lbGluZUV2ZW50LlJlcXVl
c3RBbmltYXRpb25GcmFtZSIpOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBu
YW1lOiAiVGltZWxpbmVFdmVudC5SZXF1ZXN0QW5pbWF0aW9uRnJhbWUucmVxdWVzdEFuaW1hdGlv
bkZyYW1lIiwKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAgICAgICAgICAgIGxldCBwYWdlUmVj
b3JkaW5nRGF0YSA9IGF3YWl0IEluc3BlY3RvclRlc3QuVGltZWxpbmVFdmVudC5jYXB0dXJlVGlt
ZWxpbmVXaXRoU2NyaXB0KGB0ZXN0UmVxdWVzdEFuaW1hdGlvbkZyYW1lKClgKTsKKworICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQodHlwZW9mIHBhZ2VSZWNvcmRpbmdEYXRhLnJlcXVl
c3RBbmltYXRpb25GcmFtZUlkZW50aWZpZXIgPT09ICJudW1iZXIiKTsKKworICAgICAgICAgICAg
bGV0IHJlY29yZGluZyA9IFdJLnRpbWVsaW5lTWFuYWdlci5hY3RpdmVSZWNvcmRpbmc7CisgICAg
ICAgICAgICBsZXQgc2NyaXB0VGltZWxpbmUgPSByZWNvcmRpbmcudGltZWxpbmVzLmdldChXSS5U
aW1lbGluZVJlY29yZC5UeXBlLlNjcmlwdCk7CisgICAgICAgICAgICBsZXQgcmVjb3JkcyA9IHNj
cmlwdFRpbWVsaW5lLnJlY29yZHMuZmlsdGVyKCh4KSA9PiB4LmV2ZW50VHlwZSA9PT0gV0kuU2Ny
aXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkFuaW1hdGlvbkZyYW1lUmVxdWVzdGVkKTsKKyAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVjb3Jkcy5sZW5ndGgsIDEsICJT
aG91bGQgYmUgMSBBbmltYXRpb25GcmFtZVJlcXVlc3RlZCByZWNvcmQuIik7CisgICAgICAgICAg
ICBmb3IgKGxldCByZWNvcmQgb2YgcmVjb3JkcykgeworICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QubG9nKCJERVRBSUxTOiAiICsgdHlwZW9mIHJlY29yZC5kZXRhaWxzKTsKKyAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29yZC5kZXRhaWxzLCBwYWdlUmVj
b3JkaW5nRGF0YS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZGVudGlmaWVyLCAiU2NyaXB0VGltZWxp
bmVSZWNvcmQgZGV0YWlscyBzaG91bGQgYmUgdGhlIHJlcXVlc3RBbmltYXRpb25GcmFtZSBpZGVu
dGlmaWVyLiIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0
ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgPHA+VGVzdHMgJ1JlcXVlc3RBbmltYXRpb25GcmFt
ZScgVGltZWxpbmUgZXZlbnQgcmVjb3Jkcy48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJG
aXJlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGlu
ZS1ldmVudC1UaW1lckZpcmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVlMzQ1MWIwMGQ3ZDRj
YmI2ZjkyNzU3YWVjMGJmNWQ3ZjkzN2EwMWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJGaXJlLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDMzIEBACitUZXN0cyAnVGltZXJGaXJlJyBUaW1lbGluZSBldmVudCByZWNv
cmRzLgorCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogVGltZWxpbmVFdmVudC5UaW1lckZpcmUK
Ky0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBUaW1lbGluZUV2ZW50LlRpbWVyRmlyZS5zZXRUaW1lb3V0
CitTdGFydGluZyBDYXB0dXJlLi4uCitFdmFsdWF0aW5nLi4uCitQQVNTOiBzZXRUaW1lb3V0IGZp
cmVkCitGaW5pc2ggcmVjb3JkaW5nLi4uCitTdG9wcGluZyBDYXB0dXJlLi4uCitQQVNTOiBTaG91
bGQgYmUgMSBUaW1lckZpcmVkIHJlY29yZC4KK0RFVEFJTFM6IG51bWJlcgorUEFTUzogU2NyaXB0
VGltZWxpbmVSZWNvcmQgZGV0YWlscyBzaG91bGQgYmUgdGhlIHNldFRpbWVvdXQgaWRlbnRpZmll
ci4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFRpbWVsaW5lRXZlbnQuVGltZXJGaXJlLnNldElu
dGVydmFsCitTdGFydGluZyBDYXB0dXJlLi4uCitFdmFsdWF0aW5nLi4uCitQQVNTOiBzZXRJbnRl
cnZhbCBmaXJlZDogMQorUEFTUzogc2V0SW50ZXJ2YWwgZmlyZWQ6IDIKK1BBU1M6IHNldEludGVy
dmFsIGZpcmVkOiAzCitGaW5pc2ggcmVjb3JkaW5nLi4uCitTdG9wcGluZyBDYXB0dXJlLi4uCitQ
QVNTOiBTaG91bGQgYmUgMyBUaW1lckZpcmVkIHJlY29yZHMuCitERVRBSUxTOiBudW1iZXIKK1BB
U1M6IFNjcmlwdFRpbWVsaW5lUmVjb3JkIGRldGFpbHMgc2hvdWxkIGJlIHRoZSBzZXRJbnRlcnZh
bCBpZGVudGlmaWVyLgorREVUQUlMUzogbnVtYmVyCitQQVNTOiBTY3JpcHRUaW1lbGluZVJlY29y
ZCBkZXRhaWxzIHNob3VsZCBiZSB0aGUgc2V0SW50ZXJ2YWwgaWRlbnRpZmllci4KK0RFVEFJTFM6
IG51bWJlcgorUEFTUzogU2NyaXB0VGltZWxpbmVSZWNvcmQgZGV0YWlscyBzaG91bGQgYmUgdGhl
IHNldEludGVydmFsIGlkZW50aWZpZXIuCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBTYW5pdHlD
aGVjaworUEFTUzogVGhlIHNldFRpbWVvdXQgaWRlbnRpZmllciBhbmQgc2V0SW50ZXJ2YWwgaWRl
bnRpZmllcnMgc2hvdWxkIGJlIGRpZmZlcmVudC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVRpbWVyRmlyZS5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVRpbWVyRmlyZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjA3NWYwYTE4ZTlkMzFlNDYxMGVmNWU3M2M2NTczNzA1OWJmMzcwNjYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZl
bnQtVGltZXJGaXJlLmh0bWwKQEAgLTAsMCArMSw5NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291
cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvdGltZWxpbmUtZXZlbnQtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1
bmN0aW9uIHRlc3RTZXRUaW1lb3V0KCkgeworICAgIGxldCBzZXRUaW1lb3V0SWRlbnRpZmllciA9
IHNldFRpbWVvdXQoKCkgPT4geworICAgICAgICBUZXN0UGFnZS5hZGRSZXN1bHQoIlBBU1M6IHNl
dFRpbWVvdXQgZmlyZWQiKTsKKworICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4g
eworICAgICAgICAgICAgZmluaXNoUmVjb3JkaW5nKHtzZXRUaW1lb3V0SWRlbnRpZmllcn0pOwor
ICAgICAgICB9KTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gdGVzdFNldEludGVydmFsKCkgewor
ICAgIGxldCBjb3VudCA9IDA7CisKKyAgICBsZXQgc2V0SW50ZXJ2YWxJZGVudGlmaWVyID0gc2V0
SW50ZXJ2YWwoKCkgPT4geworICAgICAgICBjb3VudCsrOworCisgICAgICAgIFRlc3RQYWdlLmFk
ZFJlc3VsdCgiUEFTUzogc2V0SW50ZXJ2YWwgZmlyZWQ6ICIgKyBjb3VudCk7CisKKyAgICAgICAg
aWYgKGNvdW50ID09PSAzKSB7CisgICAgICAgICAgICBjbGVhckludGVydmFsKHNldEludGVydmFs
SWRlbnRpZmllcik7CisKKyAgICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7
CisgICAgICAgICAgICAgICAgZmluaXNoUmVjb3JkaW5nKHtzZXRJbnRlcnZhbElkZW50aWZpZXJ9
KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIHRl
c3QoKQoreworICAgIGxldCBzdWl0ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgi
VGltZWxpbmVFdmVudC5UaW1lckZpcmUiKTsKKworICAgIGxldCB0aW1lb3V0SWRlbnRpZmllciA9
IHVuZGVmaW5lZDsKKyAgICBsZXQgaW50ZXJ2YWxJZGVudGlmaWVyID0gdW5kZWZpbmVkOworCisg
ICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiVGltZWxpbmVFdmVudC5UaW1l
ckZpcmUuc2V0VGltZW91dCIsCisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBs
ZXQgcGFnZVJlY29yZGluZ0RhdGEgPSBhd2FpdCBJbnNwZWN0b3JUZXN0LlRpbWVsaW5lRXZlbnQu
Y2FwdHVyZVRpbWVsaW5lV2l0aFNjcmlwdChgdGVzdFNldFRpbWVvdXQoKWApOworCisgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0eXBlb2YgcGFnZVJlY29yZGluZ0RhdGEuc2V0VGlt
ZW91dElkZW50aWZpZXIgPT09ICJudW1iZXIiKTsKKyAgICAgICAgICAgIHRpbWVvdXRJZGVudGlm
aWVyID0gcGFnZVJlY29yZGluZ0RhdGEuc2V0VGltZW91dElkZW50aWZpZXI7CisKKyAgICAgICAg
ICAgIGxldCByZWNvcmRpbmcgPSBXSS50aW1lbGluZU1hbmFnZXIuYWN0aXZlUmVjb3JkaW5nOwor
ICAgICAgICAgICAgbGV0IHNjcmlwdFRpbWVsaW5lID0gcmVjb3JkaW5nLnRpbWVsaW5lcy5nZXQo
V0kuVGltZWxpbmVSZWNvcmQuVHlwZS5TY3JpcHQpOworICAgICAgICAgICAgbGV0IHJlY29yZHMg
PSBzY3JpcHRUaW1lbGluZS5yZWNvcmRzLmZpbHRlcigoeCkgPT4geC5ldmVudFR5cGUgPT09IFdJ
LlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5UaW1lckZpcmVkKTsKKyAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVjb3Jkcy5sZW5ndGgsIDEsICJTaG91bGQgYmUg
MSBUaW1lckZpcmVkIHJlY29yZC4iKTsKKyAgICAgICAgICAgIGZvciAobGV0IHJlY29yZCBvZiBy
ZWNvcmRzKSB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkRFVEFJTFM6ICIg
KyB0eXBlb2YgcmVjb3JkLmRldGFpbHMpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXhwZWN0RXF1YWwocmVjb3JkLmRldGFpbHMsIHRpbWVvdXRJZGVudGlmaWVyLCAiU2NyaXB0VGlt
ZWxpbmVSZWNvcmQgZGV0YWlscyBzaG91bGQgYmUgdGhlIHNldFRpbWVvdXQgaWRlbnRpZmllci4i
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUuYWRkVGVz
dENhc2UoeworICAgICAgICBuYW1lOiAiVGltZWxpbmVFdmVudC5UaW1lckZpcmUuc2V0SW50ZXJ2
YWwiLAorICAgICAgICBhc3luYyB0ZXN0KCkgeworICAgICAgICAgICAgbGV0IHBhZ2VSZWNvcmRp
bmdEYXRhID0gYXdhaXQgSW5zcGVjdG9yVGVzdC5UaW1lbGluZUV2ZW50LmNhcHR1cmVUaW1lbGlu
ZVdpdGhTY3JpcHQoYHRlc3RTZXRJbnRlcnZhbCgpYCk7CisKKyAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYXNzZXJ0KHR5cGVvZiBwYWdlUmVjb3JkaW5nRGF0YS5zZXRJbnRlcnZhbElkZW50aWZp
ZXIgPT09ICJudW1iZXIiKTsKKyAgICAgICAgICAgIGludGVydmFsSWRlbnRpZmllciA9IHBhZ2VS
ZWNvcmRpbmdEYXRhLnNldEludGVydmFsSWRlbnRpZmllcjsKKworICAgICAgICAgICAgbGV0IHJl
Y29yZGluZyA9IFdJLnRpbWVsaW5lTWFuYWdlci5hY3RpdmVSZWNvcmRpbmc7CisgICAgICAgICAg
ICBsZXQgc2NyaXB0VGltZWxpbmUgPSByZWNvcmRpbmcudGltZWxpbmVzLmdldChXSS5UaW1lbGlu
ZVJlY29yZC5UeXBlLlNjcmlwdCk7CisgICAgICAgICAgICBsZXQgcmVjb3JkcyA9IHNjcmlwdFRp
bWVsaW5lLnJlY29yZHMuZmlsdGVyKCh4KSA9PiB4LmV2ZW50VHlwZSA9PT0gV0kuU2NyaXB0VGlt
ZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlRpbWVyRmlyZWQpOworICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5leHBlY3RFcXVhbChyZWNvcmRzLmxlbmd0aCwgMywgIlNob3VsZCBiZSAzIFRpbWVyRmly
ZWQgcmVjb3Jkcy4iKTsKKyAgICAgICAgICAgIGZvciAobGV0IHJlY29yZCBvZiByZWNvcmRzKSB7
CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkRFVEFJTFM6ICIgKyB0eXBlb2Yg
cmVjb3JkLmRldGFpbHMpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1
YWwocmVjb3JkLmRldGFpbHMsIHBhZ2VSZWNvcmRpbmdEYXRhLnNldEludGVydmFsSWRlbnRpZmll
ciwgIlNjcmlwdFRpbWVsaW5lUmVjb3JkIGRldGFpbHMgc2hvdWxkIGJlIHRoZSBzZXRJbnRlcnZh
bCBpZGVudGlmaWVyLiIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfSk7CisKKyAg
ICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJTYW5pdHlDaGVjayIsCisgICAg
ICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQo
dGltZW91dElkZW50aWZpZXIgIT09IGludGVydmFsSWRlbnRpZmllciwgIlRoZSBzZXRUaW1lb3V0
IGlkZW50aWZpZXIgYW5kIHNldEludGVydmFsIGlkZW50aWZpZXJzIHNob3VsZCBiZSBkaWZmZXJl
bnQuIik7CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZp
bmlzaCgpOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KKyAgICA8cD5UZXN0cyAnVGltZXJGaXJlJyBUaW1lbGluZSBldmVudCByZWNvcmRzLjwvcD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1l
bGluZS90aW1lbGluZS1ldmVudC1UaW1lckluc3RhbGwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVRpbWVySW5zdGFsbC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYzAzOWVlNTRiYmRlY2M3YjQ3YjZiNmVlMWFhZjQwZjk0NjUyMWM1
NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1l
bGluZS1ldmVudC1UaW1lckluc3RhbGwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjkgQEAKK1Rl
c3RzICdUaW1lckluc3RhbGwnIFRpbWVsaW5lIGV2ZW50IHJlY29yZHMuCisKKworPT0gUnVubmlu
ZyB0ZXN0IHN1aXRlOiBUaW1lbGluZUV2ZW50LlRpbWVySW5zdGFsbAorLS0gUnVubmluZyB0ZXN0
IGNhc2U6IFRpbWVsaW5lRXZlbnQuVGltZXJJbnN0YWxsLnNldFRpbWVvdXQKK1N0YXJ0aW5nIENh
cHR1cmUuLi4KK0V2YWx1YXRpbmcuLi4KK1BBU1M6IHNldFRpbWVvdXQgZmlyZWQKK0ZpbmlzaCBy
ZWNvcmRpbmcuLi4KK1N0b3BwaW5nIENhcHR1cmUuLi4KK1BBU1M6IFNob3VsZCBiZSAxIFRpbWVy
SW5zdGFsbGVkIHJlY29yZC4KK0RFVEFJTFM6IHsidGltZXJJZCI6IjxmaWx0ZXJlZD4iLCJ0aW1l
b3V0IjoxMCwicmVwZWF0aW5nIjpmYWxzZX0KK1BBU1M6IFNjcmlwdFRpbWVsaW5lUmVjb3JkIGRl
dGFpbHMgc2hvdWxkIGJlIHRoZSBzZXRUaW1lb3V0IGlkZW50aWZpZXIuCisKKy0tIFJ1bm5pbmcg
dGVzdCBjYXNlOiBUaW1lbGluZUV2ZW50LlRpbWVySW5zdGFsbC5zZXRJbnRlcnZhbAorU3RhcnRp
bmcgQ2FwdHVyZS4uLgorRXZhbHVhdGluZy4uLgorUEFTUzogc2V0SW50ZXJ2YWwgZmlyZWQ6IDEK
K1BBU1M6IHNldEludGVydmFsIGZpcmVkOiAyCitQQVNTOiBzZXRJbnRlcnZhbCBmaXJlZDogMwor
RmluaXNoIHJlY29yZGluZy4uLgorU3RvcHBpbmcgQ2FwdHVyZS4uLgorUEFTUzogU2hvdWxkIGJl
IDEgVGltZXJJbnN0YWxsZWQgcmVjb3JkLgorREVUQUlMUzogeyJ0aW1lcklkIjoiPGZpbHRlcmVk
PiIsInRpbWVvdXQiOjUsInJlcGVhdGluZyI6dHJ1ZX0KK1BBU1M6IFNjcmlwdFRpbWVsaW5lUmVj
b3JkIGRldGFpbHMgc2hvdWxkIGJlIHRoZSBzZXRJbnRlcnZhbCBpZGVudGlmaWVyLgorCistLSBS
dW5uaW5nIHRlc3QgY2FzZTogU2FuaXR5Q2hlY2sKK1BBU1M6IFRoZSBzZXRUaW1lb3V0IGlkZW50
aWZpZXIgYW5kIHNldEludGVydmFsIGlkZW50aWZpZXJzIHNob3VsZCBiZSBkaWZmZXJlbnQuCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVu
dC1UaW1lckluc3RhbGwuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1l
bGluZS1ldmVudC1UaW1lckluc3RhbGwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMDY5NGRmZDJmNGQ3M2Jj
YjVlNjcxM2Y2MWM3YjVjNTNkNmZlNGY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVRpbWVySW5zdGFsbC5odG1sCkBAIC0w
LDAgKzEsMTAyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy90aW1lbGluZS1ldmVudC11dGls
aXRpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gdGVzdFNldFRpbWVvdXQo
KSB7CisgICAgbGV0IHNldFRpbWVvdXRJZGVudGlmaWVyID0gc2V0VGltZW91dCgoKSA9PiB7Cisg
ICAgICAgIFRlc3RQYWdlLmFkZFJlc3VsdCgiUEFTUzogc2V0VGltZW91dCBmaXJlZCIpOworCisg
ICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgICAgICBmaW5pc2hS
ZWNvcmRpbmcoe3NldFRpbWVvdXRJZGVudGlmaWVyfSk7CisgICAgICAgIH0pOworICAgIH0sIDEw
KTsKK30KKworZnVuY3Rpb24gdGVzdFNldEludGVydmFsKCkgeworICAgIGxldCBjb3VudCA9IDA7
CisKKyAgICBsZXQgc2V0SW50ZXJ2YWxJZGVudGlmaWVyID0gc2V0SW50ZXJ2YWwoKCkgPT4gewor
ICAgICAgICBjb3VudCsrOworCisgICAgICAgIFRlc3RQYWdlLmFkZFJlc3VsdCgiUEFTUzogc2V0
SW50ZXJ2YWwgZmlyZWQ6ICIgKyBjb3VudCk7CisKKyAgICAgICAgaWYgKGNvdW50ID09PSAzKSB7
CisgICAgICAgICAgICBjbGVhckludGVydmFsKHNldEludGVydmFsSWRlbnRpZmllcik7CisKKyAg
ICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgICAgICAgICAg
ZmluaXNoUmVjb3JkaW5nKHtzZXRJbnRlcnZhbElkZW50aWZpZXJ9KTsKKyAgICAgICAgICAgIH0p
OworICAgICAgICB9CisgICAgfSwgNSk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGxl
dCBzdWl0ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiVGltZWxpbmVFdmVudC5U
aW1lckluc3RhbGwiKTsKKworICAgIGxldCB0aW1lb3V0SWRlbnRpZmllciA9IHVuZGVmaW5lZDsK
KyAgICBsZXQgaW50ZXJ2YWxJZGVudGlmaWVyID0gdW5kZWZpbmVkOworCisgICAgZnVuY3Rpb24g
anNvbkZpbHRlcihrZXksIHZhbHVlKSB7CisgICAgICAgIGlmIChrZXkgPT09ICJ0aW1lcklkIikK
KyAgICAgICAgICAgIHJldHVybiAiPGZpbHRlcmVkPiI7CisgICAgICAgIHJldHVybiB2YWx1ZTsK
KyAgICB9CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJUaW1lbGlu
ZUV2ZW50LlRpbWVySW5zdGFsbC5zZXRUaW1lb3V0IiwKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsK
KyAgICAgICAgICAgIGxldCBwYWdlUmVjb3JkaW5nRGF0YSA9IGF3YWl0IEluc3BlY3RvclRlc3Qu
VGltZWxpbmVFdmVudC5jYXB0dXJlVGltZWxpbmVXaXRoU2NyaXB0KGB0ZXN0U2V0VGltZW91dCgp
YCk7CisKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHR5cGVvZiBwYWdlUmVjb3Jk
aW5nRGF0YS5zZXRUaW1lb3V0SWRlbnRpZmllciA9PT0gIm51bWJlciIpOworICAgICAgICAgICAg
dGltZW91dElkZW50aWZpZXIgPSBwYWdlUmVjb3JkaW5nRGF0YS5zZXRUaW1lb3V0SWRlbnRpZmll
cjsKKworICAgICAgICAgICAgbGV0IHJlY29yZGluZyA9IFdJLnRpbWVsaW5lTWFuYWdlci5hY3Rp
dmVSZWNvcmRpbmc7CisgICAgICAgICAgICBsZXQgc2NyaXB0VGltZWxpbmUgPSByZWNvcmRpbmcu
dGltZWxpbmVzLmdldChXSS5UaW1lbGluZVJlY29yZC5UeXBlLlNjcmlwdCk7CisgICAgICAgICAg
ICBsZXQgcmVjb3JkcyA9IHNjcmlwdFRpbWVsaW5lLnJlY29yZHMuZmlsdGVyKCh4KSA9PiB4LmV2
ZW50VHlwZSA9PT0gV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlRpbWVySW5zdGFs
bGVkKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVjb3Jkcy5sZW5n
dGgsIDEsICJTaG91bGQgYmUgMSBUaW1lckluc3RhbGxlZCByZWNvcmQuIik7CisgICAgICAgICAg
ICBmb3IgKGxldCByZWNvcmQgb2YgcmVjb3JkcykgeworICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QubG9nKCJERVRBSUxTOiAiICsgSlNPTi5zdHJpbmdpZnkocmVjb3JkLmRldGFpbHMsIGpz
b25GaWx0ZXIpKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJl
Y29yZC5kZXRhaWxzLnRpbWVySWQsIHRpbWVvdXRJZGVudGlmaWVyLCAiU2NyaXB0VGltZWxpbmVS
ZWNvcmQgZGV0YWlscyBzaG91bGQgYmUgdGhlIHNldFRpbWVvdXQgaWRlbnRpZmllci4iKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUuYWRkVGVzdENhc2Uo
eworICAgICAgICBuYW1lOiAiVGltZWxpbmVFdmVudC5UaW1lckluc3RhbGwuc2V0SW50ZXJ2YWwi
LAorICAgICAgICBhc3luYyB0ZXN0KCkgeworICAgICAgICAgICAgbGV0IHBhZ2VSZWNvcmRpbmdE
YXRhID0gYXdhaXQgSW5zcGVjdG9yVGVzdC5UaW1lbGluZUV2ZW50LmNhcHR1cmVUaW1lbGluZVdp
dGhTY3JpcHQoYHRlc3RTZXRJbnRlcnZhbCgpYCk7CisKKyAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYXNzZXJ0KHR5cGVvZiBwYWdlUmVjb3JkaW5nRGF0YS5zZXRJbnRlcnZhbElkZW50aWZpZXIg
PT09ICJudW1iZXIiKTsKKyAgICAgICAgICAgIGludGVydmFsSWRlbnRpZmllciA9IHBhZ2VSZWNv
cmRpbmdEYXRhLnNldEludGVydmFsSWRlbnRpZmllcjsKKworICAgICAgICAgICAgbGV0IHJlY29y
ZGluZyA9IFdJLnRpbWVsaW5lTWFuYWdlci5hY3RpdmVSZWNvcmRpbmc7CisgICAgICAgICAgICBs
ZXQgc2NyaXB0VGltZWxpbmUgPSByZWNvcmRpbmcudGltZWxpbmVzLmdldChXSS5UaW1lbGluZVJl
Y29yZC5UeXBlLlNjcmlwdCk7CisgICAgICAgICAgICBsZXQgcmVjb3JkcyA9IHNjcmlwdFRpbWVs
aW5lLnJlY29yZHMuZmlsdGVyKCh4KSA9PiB4LmV2ZW50VHlwZSA9PT0gV0kuU2NyaXB0VGltZWxp
bmVSZWNvcmQuRXZlbnRUeXBlLlRpbWVySW5zdGFsbGVkKTsKKyAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuZXhwZWN0RXF1YWwocmVjb3Jkcy5sZW5ndGgsIDEsICJTaG91bGQgYmUgMSBUaW1lcklu
c3RhbGxlZCByZWNvcmQuIik7CisgICAgICAgICAgICBmb3IgKGxldCByZWNvcmQgb2YgcmVjb3Jk
cykgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJERVRBSUxTOiAiICsgSlNP
Ti5zdHJpbmdpZnkocmVjb3JkLmRldGFpbHMsIGpzb25GaWx0ZXIpKTsKKyAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29yZC5kZXRhaWxzLnRpbWVySWQsIHBhZ2VS
ZWNvcmRpbmdEYXRhLnNldEludGVydmFsSWRlbnRpZmllciwgIlNjcmlwdFRpbWVsaW5lUmVjb3Jk
IGRldGFpbHMgc2hvdWxkIGJlIHRoZSBzZXRJbnRlcnZhbCBpZGVudGlmaWVyLiIpOworICAgICAg
ICAgICAgfQorICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7Cisg
ICAgICAgIG5hbWU6ICJTYW5pdHlDaGVjayIsCisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQodGltZW91dElkZW50aWZpZXIgIT09IGlu
dGVydmFsSWRlbnRpZmllciwgIlRoZSBzZXRUaW1lb3V0IGlkZW50aWZpZXIgYW5kIHNldEludGVy
dmFsIGlkZW50aWZpZXJzIHNob3VsZCBiZSBkaWZmZXJlbnQuIik7CisgICAgICAgIH0KKyAgICB9
KTsKKworICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOworfQorCis8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKyAgICA8cD5UZXN0cyAnVGltZXJJ
bnN0YWxsJyBUaW1lbGluZSBldmVudCByZWNvcmRzLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1U
aW1lclJlbW92ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUv
dGltZWxpbmUtZXZlbnQtVGltZXJSZW1vdmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY0ZmI5
NzM2ZjdiYjg2ODk4OGExYTg5OTdlMTc1ZDU5NWE1OGY5MDMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJSZW1vdmUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjggQEAKK1Rlc3RzICdUaW1lclJlbW92ZScgVGltZWxp
bmUgZXZlbnQgcmVjb3Jkcy4KKworCis9PSBSdW5uaW5nIHRlc3Qgc3VpdGU6IFRpbWVsaW5lRXZl
bnQuVGltZXJSZW1vdmUKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBUaW1lbGluZUV2ZW50LlRpbWVy
UmVtb3ZlLnNldFRpbWVvdXQKK1N0YXJ0aW5nIENhcHR1cmUuLi4KK0V2YWx1YXRpbmcuLi4KK0Zp
bmlzaCByZWNvcmRpbmcuLi4KK1N0b3BwaW5nIENhcHR1cmUuLi4KK1BBU1M6IFNob3VsZCBiZSAx
IFRpbWVyUmVtb3ZlZCByZWNvcmQuCitERVRBSUxTOiBudW1iZXIKK1BBU1M6IFNjcmlwdFRpbWVs
aW5lUmVjb3JkIGRldGFpbHMgc2hvdWxkIGJlIHRoZSBzZXRUaW1lb3V0IGlkZW50aWZpZXIuCisK
Ky0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBUaW1lbGluZUV2ZW50LlRpbWVyUmVtb3ZlLnNldEludGVy
dmFsCitTdGFydGluZyBDYXB0dXJlLi4uCitFdmFsdWF0aW5nLi4uCitQQVNTOiBzZXRJbnRlcnZh
bCBmaXJlZDogMQorUEFTUzogc2V0SW50ZXJ2YWwgZmlyZWQ6IDIKK1BBU1M6IHNldEludGVydmFs
IGZpcmVkOiAzCitGaW5pc2ggcmVjb3JkaW5nLi4uCitTdG9wcGluZyBDYXB0dXJlLi4uCitQQVNT
OiBTaG91bGQgYmUgMSBUaW1lclJlbW92ZWQgcmVjb3JkLgorREVUQUlMUzogbnVtYmVyCitQQVNT
OiBTY3JpcHRUaW1lbGluZVJlY29yZCBkZXRhaWxzIHNob3VsZCBiZSB0aGUgc2V0SW50ZXJ2YWwg
aWRlbnRpZmllci4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFNhbml0eUNoZWNrCitQQVNTOiBU
aGUgc2V0VGltZW91dCBpZGVudGlmaWVyIGFuZCBzZXRJbnRlcnZhbCBpZGVudGlmaWVycyBzaG91
bGQgYmUgZGlmZmVyZW50LgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGlt
ZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJSZW1vdmUuaHRtbCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1UaW1lclJlbW92ZS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjZjNzY1ZmQxZTM4Nzg4YmJmMDY3OWI0OTllZGYwOTNkZDM2M2NjYjIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJS
ZW1vdmUuaHRtbApAQCAtMCwwICsxLDk4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2lu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy90aW1l
bGluZS1ldmVudC11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24g
dGVzdFNldFRpbWVvdXQoKSB7CisgICAgbGV0IHNldFRpbWVvdXRJZGVudGlmaWVyID0gc2V0VGlt
ZW91dCgoKSA9PiB7CisgICAgICAgIFRlc3RQYWdlLmFkZFJlc3VsdCgiRkFJTDogc2V0VGltZW91
dCBmaXJlZCIpOworICAgIH0pOworCisgICAgY2xlYXJUaW1lb3V0KHNldFRpbWVvdXRJZGVudGlm
aWVyKTsKKworICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgIGZpbmlz
aFJlY29yZGluZyh7c2V0VGltZW91dElkZW50aWZpZXJ9KTsKKyAgICB9KTsKK30KKworZnVuY3Rp
b24gdGVzdFNldEludGVydmFsKCkgeworICAgIGxldCBjb3VudCA9IDA7CisKKyAgICBsZXQgc2V0
SW50ZXJ2YWxJZGVudGlmaWVyID0gc2V0SW50ZXJ2YWwoKCkgPT4geworICAgICAgICBjb3VudCsr
OworCisgICAgICAgIFRlc3RQYWdlLmFkZFJlc3VsdCgiUEFTUzogc2V0SW50ZXJ2YWwgZmlyZWQ6
ICIgKyBjb3VudCk7CisKKyAgICAgICAgaWYgKGNvdW50ID09PSAzKSB7CisgICAgICAgICAgICBj
bGVhckludGVydmFsKHNldEludGVydmFsSWRlbnRpZmllcik7CisKKyAgICAgICAgICAgIHJlcXVl
c3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgICAgICAgICAgZmluaXNoUmVjb3JkaW5n
KHtzZXRJbnRlcnZhbElkZW50aWZpZXJ9KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9Cisg
ICAgfSk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGxldCBzdWl0ZSA9IEluc3BlY3Rv
clRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiVGltZWxpbmVFdmVudC5UaW1lclJlbW92ZSIpOworCisg
ICAgbGV0IHRpbWVvdXRJZGVudGlmaWVyID0gdW5kZWZpbmVkOworICAgIGxldCBpbnRlcnZhbElk
ZW50aWZpZXIgPSB1bmRlZmluZWQ7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAg
IG5hbWU6ICJUaW1lbGluZUV2ZW50LlRpbWVyUmVtb3ZlLnNldFRpbWVvdXQiLAorICAgICAgICBh
c3luYyB0ZXN0KCkgeworICAgICAgICAgICAgbGV0IHBhZ2VSZWNvcmRpbmdEYXRhID0gYXdhaXQg
SW5zcGVjdG9yVGVzdC5UaW1lbGluZUV2ZW50LmNhcHR1cmVUaW1lbGluZVdpdGhTY3JpcHQoYHRl
c3RTZXRUaW1lb3V0KClgKTsKKworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQodHlw
ZW9mIHBhZ2VSZWNvcmRpbmdEYXRhLnNldFRpbWVvdXRJZGVudGlmaWVyID09PSAibnVtYmVyIik7
CisgICAgICAgICAgICB0aW1lb3V0SWRlbnRpZmllciA9IHBhZ2VSZWNvcmRpbmdEYXRhLnNldFRp
bWVvdXRJZGVudGlmaWVyOworCisgICAgICAgICAgICBsZXQgcmVjb3JkaW5nID0gV0kudGltZWxp
bmVNYW5hZ2VyLmFjdGl2ZVJlY29yZGluZzsKKyAgICAgICAgICAgIGxldCBzY3JpcHRUaW1lbGlu
ZSA9IHJlY29yZGluZy50aW1lbGluZXMuZ2V0KFdJLlRpbWVsaW5lUmVjb3JkLlR5cGUuU2NyaXB0
KTsKKyAgICAgICAgICAgIGxldCByZWNvcmRzID0gc2NyaXB0VGltZWxpbmUucmVjb3Jkcy5maWx0
ZXIoKHgpID0+IHguZXZlbnRUeXBlID09PSBXSS5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5
cGUuVGltZXJSZW1vdmVkKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwo
cmVjb3Jkcy5sZW5ndGgsIDEsICJTaG91bGQgYmUgMSBUaW1lclJlbW92ZWQgcmVjb3JkLiIpOwor
ICAgICAgICAgICAgZm9yIChsZXQgcmVjb3JkIG9mIHJlY29yZHMpIHsKKyAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmxvZygiREVUQUlMUzogIiArIHR5cGVvZiByZWNvcmQuZGV0YWlscyk7
CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZWNvcmQuZGV0YWls
cywgdGltZW91dElkZW50aWZpZXIsICJTY3JpcHRUaW1lbGluZVJlY29yZCBkZXRhaWxzIHNob3Vs
ZCBiZSB0aGUgc2V0VGltZW91dCBpZGVudGlmaWVyLiIpOworICAgICAgICAgICAgfQorICAgICAg
ICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJU
aW1lbGluZUV2ZW50LlRpbWVyUmVtb3ZlLnNldEludGVydmFsIiwKKyAgICAgICAgYXN5bmMgdGVz
dCgpIHsKKyAgICAgICAgICAgIGxldCBwYWdlUmVjb3JkaW5nRGF0YSA9IGF3YWl0IEluc3BlY3Rv
clRlc3QuVGltZWxpbmVFdmVudC5jYXB0dXJlVGltZWxpbmVXaXRoU2NyaXB0KGB0ZXN0U2V0SW50
ZXJ2YWwoKWApOworCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0eXBlb2YgcGFn
ZVJlY29yZGluZ0RhdGEuc2V0SW50ZXJ2YWxJZGVudGlmaWVyID09PSAibnVtYmVyIik7CisgICAg
ICAgICAgICBpbnRlcnZhbElkZW50aWZpZXIgPSBwYWdlUmVjb3JkaW5nRGF0YS5zZXRJbnRlcnZh
bElkZW50aWZpZXI7CisKKyAgICAgICAgICAgIGxldCByZWNvcmRpbmcgPSBXSS50aW1lbGluZU1h
bmFnZXIuYWN0aXZlUmVjb3JkaW5nOworICAgICAgICAgICAgbGV0IHNjcmlwdFRpbWVsaW5lID0g
cmVjb3JkaW5nLnRpbWVsaW5lcy5nZXQoV0kuVGltZWxpbmVSZWNvcmQuVHlwZS5TY3JpcHQpOwor
ICAgICAgICAgICAgbGV0IHJlY29yZHMgPSBzY3JpcHRUaW1lbGluZS5yZWNvcmRzLmZpbHRlcigo
eCkgPT4geC5ldmVudFR5cGUgPT09IFdJLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5U
aW1lclJlbW92ZWQpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZWNv
cmRzLmxlbmd0aCwgMSwgIlNob3VsZCBiZSAxIFRpbWVyUmVtb3ZlZCByZWNvcmQuIik7CisgICAg
ICAgICAgICBmb3IgKGxldCByZWNvcmQgb2YgcmVjb3JkcykgeworICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QubG9nKCJERVRBSUxTOiAiICsgdHlwZW9mIHJlY29yZC5kZXRhaWxzKTsKKyAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29yZC5kZXRhaWxzLCBw
YWdlUmVjb3JkaW5nRGF0YS5zZXRJbnRlcnZhbElkZW50aWZpZXIsICJTY3JpcHRUaW1lbGluZVJl
Y29yZCBkZXRhaWxzIHNob3VsZCBiZSB0aGUgc2V0SW50ZXJ2YWwgaWRlbnRpZmllci4iKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUuYWRkVGVzdENhc2Uo
eworICAgICAgICBuYW1lOiAiU2FuaXR5Q2hlY2siLAorICAgICAgICBhc3luYyB0ZXN0KCkgewor
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KHRpbWVvdXRJZGVudGlmaWVyICE9
PSBpbnRlcnZhbElkZW50aWZpZXIsICJUaGUgc2V0VGltZW91dCBpZGVudGlmaWVyIGFuZCBzZXRJ
bnRlcnZhbCBpZGVudGlmaWVycyBzaG91bGQgYmUgZGlmZmVyZW50LiIpOworICAgICAgICB9Cisg
ICAgfSk7CisKKyAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKK30KKworPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgPHA+VGVzdHMgJ1Rp
bWVyUmVtb3ZlJyBUaW1lbGluZSBldmVudCByZWNvcmRzLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365390</attachid>
            <date>2019-03-20 13:34:21 -0700</date>
            <delta_ts>2019-03-20 17:55:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-176824-20190320133420.patch</filename>
            <type>text/plain</type>
            <size>56742</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxODQxYjliNDEwZDdiMThjZmM4ZmQwMGM5M2ZhMTZhYzkyNjc3OWRjLi4z
ZTY3OWExZTJhMjcwZTBhNWFjODhjMzk2NjYyZWY5NDM2ZjgwYmVkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDAgQEAKKzIwMTktMDMtMjAgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFRpbWVsaW5lIHNob3VsZCBzaG93IHdoZW4gZXZl
bnRzIHByZXZlbnREZWZhdWx0KCkgd2FzIGNhbGxlZCBvbiBhbiBldmVudCBvciBub3QKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjgyNAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMzQyOTA5MzE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3Ro
eSBIYXRjaGVyLgorCisgICAgICAgIE9yaWdpbmFsIHBhdGNoIGJ5IEpvc2VwaCBQZWNvcmFybyA8
cGVjb3Jhcm9AYXBwbGUuY29tPi4KKworICAgICAgICBUZXN0czogaW5zcGVjdG9yL3RpbWVsaW5l
L3RpbWVsaW5lLWV2ZW50LUNhbmNlbEFuaW1hdGlvbkZyYW1lLmh0bWwKKyAgICAgICAgICAgICAg
IGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1FdmVudERpc3BhdGNoLmh0bWwKKyAg
ICAgICAgICAgICAgIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1GaXJlQW5pbWF0
aW9uRnJhbWUuaHRtbAorICAgICAgICAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5l
LWV2ZW50LVJlcXVlc3RBbmltYXRpb25GcmFtZS5odG1sCisgICAgICAgICAgICAgICBpbnNwZWN0
b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJGaXJlLmh0bWwKKyAgICAgICAgICAgICAg
IGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1UaW1lckluc3RhbGwuaHRtbAorICAg
ICAgICAgICAgICAgaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVRpbWVyUmVtb3Zl
Lmh0bWwKKworICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpFdmVudFRhcmdldDo6aW5uZXJJbnZva2VFdmVudExpc3RlbmVycyk6CisgICAgICAgICogcGFn
ZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpkaXNwYXRjaEV2
ZW50KToKKyAgICAgICAgSW5jbHVkZSBgZGVmYXVsdFByZXZlbnRlZGAgd2hlbiBub3RpZnlpbmcg
aW5zcGVjdG9yLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5oOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNw
YXRjaEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkRGlzcGF0Y2hFdmVudE9uV2luZG93KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudEltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50T25XaW5kb3dJbXBsKToKKyAgICAg
ICAgUGFzcyBgZGVmYXVsdFByZXZlbnRlZGAgb24gdG8gYWdlbnQuCisKKyAgICAgICAgKiBpbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvYWdlbnRzL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkRGlzcGF0Y2hFdmVudCk6CisgICAgICAgIEFwcGVu
ZCBhIGJvb2xlYW4gYGRlZmF1bHRQcmV2ZW50ZWRgIHByb3BlcnR5IG9uIHRoZSBgRXZlbnREaXNw
YXRjaGAgdGltZWxpbmUgcmVjb3JkJ3MgZGF0YS4KKwogMjAxOS0wMy0xOSAgUnlvc3VrZSBOaXdh
ICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBhcHBlbmRDaGlsZCBzaG91bGQgdGhyb3cg
d2hlbiBpbnNlcnRpbmcgYW4gYW5jZXN0b3Igb2YgYSB0ZW1wbGF0ZSBpbnRvIGl0cyBjb250ZW50
IGFkb3B0ZWQgdG8gYW5vdGhlciBkb2N1bWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5kZXgg
ZTRjZmQxZWZjNDY0OGU2NjEzMmI2Y2UyZTMzNzE4MGQ0NWVhZmNiNC4uODM2NmU5M2IwYjk5ZGUw
MTUwYzYwMjFmOTdjMmE4NWNlODIyNGE1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzUgQEAKKzIwMTktMDMtMjAgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFRpbWVsaW5lIHNob3VsZCBzaG93IHdoZW4gZXZl
bnRzIHByZXZlbnREZWZhdWx0KCkgd2FzIGNhbGxlZCBvbiBhbiBldmVudCBvciBub3QKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjgyNAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMzQyOTA5MzE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3Ro
eSBIYXRjaGVyLgorCisgICAgICAgIE9yaWdpbmFsIHBhdGNoIGJ5IEpvc2VwaCBQZWNvcmFybyA8
cGVjb3Jhcm9AYXBwbGUuY29tPi4KKworICAgICAgICAqIExvY2FsaXphdGlvbnMvZW4ubHByb2ov
bG9jYWxpemVkU3RyaW5ncy5qczoKKyAgICAgICAgTmV3IHN0cmluZy4KKworICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGltZWxpbmVNYW5hZ2VyLmpzOgorICAgICAgICAoV0ku
VGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5fcHJvY2Vzc1JlY29yZCk6CisgICAgICAgIEluY2x1
ZGUgdGhlIHdob2xlIGRhdGEgb2JqZWN0IGFzIGV4dHJhIGRldGFpbHMuCisKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL01vZGVscy9TY3JpcHRUaW1lbGluZVJlY29yZC5qczoKKyAgICAgICAgKFdJ
LlNjcmlwdFRpbWVsaW5lUmVjb3JkKToKKyAgICAgICAgKFdJLlNjcmlwdFRpbWVsaW5lUmVjb3Jk
LnByb3RvdHlwZS5nZXQgZXZlbnRUeXBlKToKKyAgICAgICAgV2hvbGVzYWxlIGNvcHkgb2YgdGhl
IGV4dHJhIGRhdGEgaW5zdGVhZCBvZiBqdXN0IGEgc2luZ2xlIHByb3BlcnR5LgorCisgICAgICAg
ICogVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHREZXRhaWxzVGltZWxpbmVWaWV3LmpzOgorICAg
ICAgICAoV0kuU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldyk6CisgICAgICAgIEdpdmUgdGhlIG5h
bWUgY29sdW1uIG1vcmUgaW5pdGlhbCBzcGFjZSwgdGhlcmUgaXMgc3RpbGwgZXh0cmEgc3BhY2UK
KyAgICAgICAgYWZ0ZXIgdGhpcyBhZGp1c3RtZW50IGJ1dCBuYW1lIGlzIGNvbWZvcnRhYmx5IGxh
cmdlciAoYW5kIHRoZSBtb3N0CisgICAgICAgIGxpa2VseSB0byBiZSBleHBhbmRlZCkuCisKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlLmpz
OgorICAgICAgICAoV0kuU2NyaXB0VGltZWxpbmVEYXRhR3JpZE5vZGUucHJvdG90eXBlLmdldCBz
dWJ0aXRsZSk6CisgICAgICAgIEluY2x1ZGUgImRlZmF1bHQgcHJldmVudGVkIiBhcyB0aGUgZXZl
bnQncyBzdWJ0aXRsZSBpZiBpdCB3YXMgcHJldmVudGVkLgorCiAyMDE5LTAzLTIwICBEZXZpbiBS
b3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBEZWJ1
Z2dlcjogbW92ZSBicmVha3BvaW50IHN0b3JhZ2UgdG8gdXNlIGBXSS5PYmplY3RTdG9yZWAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnRUYXJnZXQuY3BwCmluZGV4IDllYmUxZGQ1MTRhNDgxZGI5MjAzMGQzNDYx
YWQxOGU2OTI1NTEwYWUuLjQ2ODg2ZGVkZDM4YmZkYzQ0YjVjMjhhZGZlMmNmMmNjZjZhM2VhYzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcApAQCAtMzE2LDcgKzMxNiw3IEBAIHZvaWQg
RXZlbnRUYXJnZXQ6OmlubmVySW52b2tlRXZlbnRMaXN0ZW5lcnMoRXZlbnQmIGV2ZW50LCBFdmVu
dExpc3RlbmVyVmVjdG9yIGxpCiAgICAgfQogCiAgICAgaWYgKGNvbnRleHRJc0RvY3VtZW50KQot
ICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERpc3BhdGNoRXZlbnQod2lsbERp
c3BhdGNoRXZlbnRDb29raWUpOworICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZERpc3BhdGNoRXZlbnQod2lsbERpc3BhdGNoRXZlbnRDb29raWUsIGV2ZW50LmRlZmF1bHRQcmV2
ZW50ZWQoKSk7CiB9CiAKIFZlY3RvcjxBdG9taWNTdHJpbmc+IEV2ZW50VGFyZ2V0OjpldmVudFR5
cGVzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5jcHAKaW5kZXggNzU4YWRkMDYxN2E2OGNlMWFkZmY1Mjk1NzQxMjZiZGY2NTI1
MThlYi4uYTUzYTkxMDQyZTg1MjE0NDc0ODJiOGIwYzNhMGYyYzI2MWYxZGYwOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5j
cHAKQEAgLTQxMywxMCArNDEzLDEwIEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpk
aWRIYW5kbGVFdmVudEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVuCiAgICAgICAg
IGRvbURlYnVnZ2VyQWdlbnQtPmRpZEhhbmRsZUV2ZW50KCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb25Db29raWUmIGNvb2tpZSkKK3ZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWREaXNwYXRjaEV2ZW50SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29r
aWUmIGNvb2tpZSwgYm9vbCBkZWZhdWx0UHJldmVudGVkKQogewogICAgIGlmIChJbnNwZWN0b3JU
aW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50ID0gcmV0cmlldmVUaW1lbGluZUFnZW50KGNvb2tp
ZSkpCi0gICAgICAgIHRpbWVsaW5lQWdlbnQtPmRpZERpc3BhdGNoRXZlbnQoKTsKKyAgICAgICAg
dGltZWxpbmVBZ2VudC0+ZGlkRGlzcGF0Y2hFdmVudChkZWZhdWx0UHJldmVudGVkKTsKIH0KIAog
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
d2lsbERpc3BhdGNoRXZlbnRPbldpbmRvd0ltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1
bWVudGluZ0FnZW50cywgY29uc3QgRXZlbnQmIGV2ZW50LCBET01XaW5kb3cmIHdpbmRvdykKQEAg
LTQzMSwxMCArNDMxLDEwIEBAIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OndpbGxEaXNwYXRjaEV2ZW50T25XaW5kCiAgICAgcmV0dXJuIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZShpbnN0cnVtZW50aW5nQWdlbnRzLCB0aW1lbGlu
ZUFnZW50SWQpOwogfQogCi12b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0
Y2hFdmVudE9uV2luZG93SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUm
IGNvb2tpZSkKK3ZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50
T25XaW5kb3dJbXBsKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYgY29va2ll
LCBib29sIGRlZmF1bHRQcmV2ZW50ZWQpCiB7CiAgICAgaWYgKEluc3BlY3RvclRpbWVsaW5lQWdl
bnQqIHRpbWVsaW5lQWdlbnQgPSByZXRyaWV2ZVRpbWVsaW5lQWdlbnQoY29va2llKSkKLSAgICAg
ICAgdGltZWxpbmVBZ2VudC0+ZGlkRGlzcGF0Y2hFdmVudCgpOworICAgICAgICB0aW1lbGluZUFn
ZW50LT5kaWREaXNwYXRjaEV2ZW50KGRlZmF1bHRQcmV2ZW50ZWQpOwogfQogCiB2b2lkIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6ZXZlbnREaWRSZXNldEFmdGVyRGlzcGF0Y2hJbXBsKEluc3Ry
dW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbnRpbmdBZ2VudHMsIGNvbnN0IEV2ZW50JiBldmVudCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uaAppbmRleCBmZDllZDBkMjVkNTZkMzJmZTQ4NmM5ZTk1N2Y5YWMyNWE2NzNiYmM1Li4zY2U2
ZTE0YTJiMjExZTk1N2I5ZTUzMDEzNjlmOGQxZDBlYmU2NGYwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC0xNTIsMTEg
KzE1MiwxMSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgd2lsbFJlbW92ZUV2ZW50TGlzdGVu
ZXIoRXZlbnRUYXJnZXQmLCBjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0
ZW5lciYsIGJvb2wgY2FwdHVyZSk7CiAgICAgc3RhdGljIGJvb2wgaXNFdmVudExpc3RlbmVyRGlz
YWJsZWQoRXZlbnRUYXJnZXQmLCBjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRM
aXN0ZW5lciYsIGJvb2wgY2FwdHVyZSk7CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbkNvb2tpZSB3aWxsRGlzcGF0Y2hFdmVudChEb2N1bWVudCYsIGNvbnN0IEV2ZW50JiwgYm9v
bCBoYXNFdmVudExpc3RlbmVycyk7Ci0gICAgc3RhdGljIHZvaWQgZGlkRGlzcGF0Y2hFdmVudChj
b25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmKTsKKyAgICBzdGF0aWMgdm9pZCBk
aWREaXNwYXRjaEV2ZW50KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYsIGJv
b2wgZGVmYXVsdFByZXZlbnRlZCk7CiAgICAgc3RhdGljIHZvaWQgd2lsbEhhbmRsZUV2ZW50KFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBFdmVudCYsIGNvbnN0IFJlZ2lzdGVyZWRFdmVudExpc3Rl
bmVyJik7CiAgICAgc3RhdGljIHZvaWQgZGlkSGFuZGxlRXZlbnQoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYpOwogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbERp
c3BhdGNoRXZlbnRPbldpbmRvdyhGcmFtZSosIGNvbnN0IEV2ZW50JiwgRE9NV2luZG93Jik7Ci0g
ICAgc3RhdGljIHZvaWQgZGlkRGlzcGF0Y2hFdmVudE9uV2luZG93KGNvbnN0IEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbkNvb2tpZSYpOworICAgIHN0YXRpYyB2b2lkIGRpZERpc3BhdGNoRXZlbnRP
bldpbmRvdyhjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmLCBib29sIGRlZmF1
bHRQcmV2ZW50ZWQpOwogICAgIHN0YXRpYyB2b2lkIGV2ZW50RGlkUmVzZXRBZnRlckRpc3BhdGNo
KGNvbnN0IEV2ZW50Jik7CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tp
ZSB3aWxsRXZhbHVhdGVTY3JpcHQoRnJhbWUmLCBjb25zdCBTdHJpbmcmIHVybCwgaW50IGxpbmVO
dW1iZXIsIGludCBjb2x1bW5OdW1iZXIpOwogICAgIHN0YXRpYyB2b2lkIGRpZEV2YWx1YXRlU2Ny
aXB0KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYsIEZyYW1lJik7CkBAIC0z
NDcsOSArMzQ3LDkgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uQ29va2llIHdpbGxEaXNwYXRjaEV2ZW50SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgRG9j
dW1lbnQmLCBjb25zdCBFdmVudCYsIGJvb2wgaGFzRXZlbnRMaXN0ZW5lcnMpOwogICAgIHN0YXRp
YyB2b2lkIHdpbGxIYW5kbGVFdmVudEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYsIEV2ZW50Jiwg
Y29uc3QgUmVnaXN0ZXJlZEV2ZW50TGlzdGVuZXImKTsKICAgICBzdGF0aWMgdm9pZCBkaWRIYW5k
bGVFdmVudEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYpOwotICAgIHN0YXRpYyB2b2lkIGRpZERp
c3BhdGNoRXZlbnRJbXBsKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYpOwor
ICAgIHN0YXRpYyB2b2lkIGRpZERpc3BhdGNoRXZlbnRJbXBsKGNvbnN0IEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbkNvb2tpZSYsIGJvb2wgZGVmYXVsdFByZXZlbnRlZCk7CiAgICAgc3RhdGljIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsRGlzcGF0Y2hFdmVudE9uV2luZG93SW1w
bChJbnN0cnVtZW50aW5nQWdlbnRzJiwgY29uc3QgRXZlbnQmLCBET01XaW5kb3cmKTsKLSAgICBz
dGF0aWMgdm9pZCBkaWREaXNwYXRjaEV2ZW50T25XaW5kb3dJbXBsKGNvbnN0IEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbkNvb2tpZSYpOworICAgIHN0YXRpYyB2b2lkIGRpZERpc3BhdGNoRXZlbnRP
bldpbmRvd0ltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiwgYm9vbCBk
ZWZhdWx0UHJldmVudGVkKTsKICAgICBzdGF0aWMgdm9pZCBldmVudERpZFJlc2V0QWZ0ZXJEaXNw
YXRjaEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYsIGNvbnN0IEV2ZW50Jik7CiAgICAgc3RhdGlj
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsRXZhbHVhdGVTY3JpcHRJbXBsKElu
c3RydW1lbnRpbmdBZ2VudHMmLCBGcmFtZSYsIGNvbnN0IFN0cmluZyYgdXJsLCBpbnQgbGluZU51
bWJlciwgaW50IGNvbHVtbk51bWJlcik7CiAgICAgc3RhdGljIHZvaWQgZGlkRXZhbHVhdGVTY3Jp
cHRJbXBsKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYsIEZyYW1lJik7CkBA
IC03OTMsMTEgKzc5MywxMSBAQCBpbmxpbmUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2ll
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbERpc3BhdGNoRXZlbgogICAgIHJldHVybiBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUoKTsKIH0KIAotaW5saW5lIHZvaWQgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50KGNvbnN0IEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbkNvb2tpZSYgY29va2llKQoraW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNv
b2tpZSYgY29va2llLCBib29sIGRlZmF1bHRQcmV2ZW50ZWQpCiB7CiAgICAgRkFTVF9SRVRVUk5f
SUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKGNvb2tpZS5pc1ZhbGlkKCkpCi0gICAg
ICAgIGRpZERpc3BhdGNoRXZlbnRJbXBsKGNvb2tpZSk7CisgICAgICAgIGRpZERpc3BhdGNoRXZl
bnRJbXBsKGNvb2tpZSwgZGVmYXVsdFByZXZlbnRlZCk7CiB9CiAKIGlubGluZSB2b2lkIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbEhhbmRsZUV2ZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIEV2ZW50JiBldmVudCwgY29uc3QgUmVnaXN0ZXJlZEV2ZW50TGlzdGVuZXIm
IGxpc3RlbmVyKQpAQCAtODIyLDExICs4MjIsMTEgQEAgaW5saW5lIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbkNvb2tpZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxEaXNwYXRjaEV2ZW4K
ICAgICByZXR1cm4gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKCk7CiB9CiAKLWlubGlu
ZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0Y2hFdmVudE9uV2luZG93
KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYgY29va2llKQoraW5saW5lIHZv
aWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaEV2ZW50T25XaW5kb3coY29u
c3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiBjb29raWUsIGJvb2wgZGVmYXVsdFBy
ZXZlbnRlZCkKIHsKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAg
ICBpZiAoY29va2llLmlzVmFsaWQoKSkKLSAgICAgICAgZGlkRGlzcGF0Y2hFdmVudE9uV2luZG93
SW1wbChjb29raWUpOworICAgICAgICBkaWREaXNwYXRjaEV2ZW50T25XaW5kb3dJbXBsKGNvb2tp
ZSwgZGVmYXVsdFByZXZlbnRlZCk7CiB9CiAKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZXZlbnREaWRSZXNldEFmdGVyRGlzcGF0Y2goY29uc3QgRXZlbnQmIGV2ZW50KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JUaW1l
bGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9y
VGltZWxpbmVBZ2VudC5jcHAKaW5kZXggNmIyYjU2YTJjNWNkZWUwZDY0MjZhMzYyYjRmNGY4MDBm
MWRlNWNjZi4uODFkZWRjZWU3ZmM0ZDNkNmJkZmM5ZmRhZWY5ZDcyN2FiOTRhNmQyYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JUaW1lbGluZUFn
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclRp
bWVsaW5lQWdlbnQuY3BwCkBAIC0zMDYsOCArMzA2LDEyIEBAIHZvaWQgSW5zcGVjdG9yVGltZWxp
bmVBZ2VudDo6d2lsbERpc3BhdGNoRXZlbnQoY29uc3QgRXZlbnQmIGV2ZW50LCBGcmFtZSogZnJh
bWUpCiAgICAgcHVzaEN1cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVF
dmVudERpc3BhdGNoRGF0YShldmVudCksIFRpbWVsaW5lUmVjb3JkVHlwZTo6RXZlbnREaXNwYXRj
aCwgZmFsc2UsIGZyYW1lKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRE
aXNwYXRjaEV2ZW50KCkKK3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkRGlzcGF0Y2hF
dmVudChib29sIGRlZmF1bHRQcmV2ZW50ZWQpCiB7CisgICAgYXV0byYgZW50cnkgPSBtX3JlY29y
ZFN0YWNrLmxhc3QoKTsKKyAgICBBU1NFUlQoZW50cnkudHlwZSA9PSBUaW1lbGluZVJlY29yZFR5
cGU6OkV2ZW50RGlzcGF0Y2gpOworICAgIGVudHJ5LmRhdGEtPnNldEJvb2xlYW4oImRlZmF1bHRQ
cmV2ZW50ZWQiX3MsIGRlZmF1bHRQcmV2ZW50ZWQpOworCiAgICAgZGlkQ29tcGxldGVDdXJyZW50
UmVjb3JkKFRpbWVsaW5lUmVjb3JkVHlwZTo6RXZlbnREaXNwYXRjaCk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JUaW1lbGluZUFn
ZW50LmgKaW5kZXggOTBhMzk2ZjRiOWM4ODU2NmQwNmQ0MWY2OTgxMmZkY2IwYmJlYzExYS4uYWFj
MzhmZjkyMjRmNzVjZmQ3ODZlODg2MzQ5MGEwYWY4OGVjOGZmZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgK
QEAgLTExNSw3ICsxMTUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB3aWxsQ2FsbEZ1bmN0aW9uKGNv
bnN0IFN0cmluZyYgc2NyaXB0TmFtZSwgaW50IHNjcmlwdExpbmUsIGludCBzY3JpcHRDb2x1bW4s
IEZyYW1lKik7CiAgICAgdm9pZCBkaWRDYWxsRnVuY3Rpb24oRnJhbWUqKTsKICAgICB2b2lkIHdp
bGxEaXNwYXRjaEV2ZW50KGNvbnN0IEV2ZW50JiwgRnJhbWUqKTsKLSAgICB2b2lkIGRpZERpc3Bh
dGNoRXZlbnQoKTsKKyAgICB2b2lkIGRpZERpc3BhdGNoRXZlbnQoYm9vbCBkZWZhdWx0UHJldmVu
dGVkKTsKICAgICB2b2lkIHdpbGxFdmFsdWF0ZVNjcmlwdChjb25zdCBTdHJpbmcmLCBpbnQgbGlu
ZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgRnJhbWUmKTsKICAgICB2b2lkIGRpZEV2YWx1YXRl
U2NyaXB0KEZyYW1lJik7CiAgICAgdm9pZCBkaWRJbnZhbGlkYXRlTGF5b3V0KEZyYW1lJik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggZDBiZTc5Y2ZlZTE3MWQzZGY2MDdjN2QzZWFl
NTEzYzhlNjk3NGQyMy4uZjEwYWFlODBmNGZkMGMyMTdjZGE1NmQ3NDNkOTE4MTlmNThhYzMxYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtMjEwOSw3ICsyMTA5LDcgQEAgdm9pZCBE
T01XaW5kb3c6OmRpc3BhdGNoRXZlbnQoRXZlbnQmIGV2ZW50LCBFdmVudFRhcmdldCogdGFyZ2V0
KQogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgdXNlIEV2ZW50RGlzcGF0Y2hlciBldmVyeXdoZXJl
LgogICAgIGZpcmVFdmVudExpc3RlbmVycyhldmVudCwgRXZlbnRJbnZva2VQaGFzZTo6Q2FwdHVy
aW5nKTsKICAgICBmaXJlRXZlbnRMaXN0ZW5lcnMoZXZlbnQsIEV2ZW50SW52b2tlUGhhc2U6OkJ1
YmJsaW5nKTsKLSAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERpc3BhdGNoRXZlbnRP
bldpbmRvdyhjb29raWUpOworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRGlzcGF0
Y2hFdmVudE9uV2luZG93KGNvb2tpZSwgZXZlbnQuZGVmYXVsdFByZXZlbnRlZCgpKTsKICAgICBl
dmVudC5yZXNldEFmdGVyRGlzcGF0Y2goKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmlu
Z3MuanMKaW5kZXggMWFiNjdlMjBjMzA4MWIyNjg1OGJhODAxNTU5Zjk5Yjg2ODk3ZjRlYy4uMzM3
MTBjNGI2ZWI0ZDA2MzI4YTRlNzE2NzI4ZWU2MjgxNjkzMDIxOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5q
cworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2Nh
bGl6ZWRTdHJpbmdzLmpzCkBAIC0xMTc4LDYgKzExNzgsNyBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJc
dTIwMUMlc1x1MjAxRCBFdmVudCBGaXJlZCJdID0gIlx1MjAxQyVzXHUyMDFEIEV2ZW50IEZpcmVk
IjsKIGxvY2FsaXplZFN0cmluZ3NbIlx1MjAxQyVzXHUyMDFEIFByb2ZpbGUgUmVjb3JkZWQiXSA9
ICJcdTIwMUMlc1x1MjAxRCBQcm9maWxlIFJlY29yZGVkIjsKIGxvY2FsaXplZFN0cmluZ3NbImNv
bXB1dGVkIl0gPSAiY29tcHV0ZWQiOwogbG9jYWxpemVkU3RyaW5nc1siZGVmYXVsdCJdID0gImRl
ZmF1bHQiOworbG9jYWxpemVkU3RyaW5nc1siZGVmYXVsdCBwcmV2ZW50ZWQiXSA9ICJkZWZhdWx0
IHByZXZlbnRlZCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJmb3IgY2hhbmdlcyB0byB0YWtlIGVmZmVj
dCJdID0gImZvciBjaGFuZ2VzIHRvIHRha2UgZWZmZWN0IjsKIGxvY2FsaXplZFN0cmluZ3NbImlu
dmFsaWQgSEFSIl0gPSAiaW52YWxpZCBIQVIiOwogbG9jYWxpemVkU3RyaW5nc1siaW52YWxpZCBK
U09OIl0gPSAiaW52YWxpZCBKU09OIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdlci5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1RpbWVsaW5lTWFuYWdlci5q
cwppbmRleCBkOGE1Mzg5ZTEyNDU2YzY4OWQ2ZjMyMjZhMGUzMDA5NWJiNzAwODRhLi5lNGI3MmVj
ZGUzYmViMzEwODZhMjA5Y2JhYzM1ODhlNDFlODE5Yjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9UaW1lbGluZU1hbmFnZXIuanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVGlt
ZWxpbmVNYW5hZ2VyLmpzCkBAIC02OTcsNyArNjk3LDcgQEAgV0kuVGltZWxpbmVNYW5hZ2VyID0g
Y2xhc3MgVGltZWxpbmVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICAgICAg
cmVjb3JkID0gbmV3IFdJLlNjcmlwdFRpbWVsaW5lUmVjb3JkKFdJLlNjcmlwdFRpbWVsaW5lUmVj
b3JkLkV2ZW50VHlwZS5UaW1lckZpcmVkLCBzdGFydFRpbWUsIGVuZFRpbWUsIGNhbGxGcmFtZXMs
IHNvdXJjZUNvZGVMb2NhdGlvbiwgcGFyZW50UmVjb3JkUGF5bG9hZC5kYXRhLnRpbWVySWQsIHBy
b2ZpbGVEYXRhKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgVGlt
ZWxpbmVBZ2VudC5FdmVudFR5cGUuRXZlbnREaXNwYXRjaDoKLSAgICAgICAgICAgICAgICByZWNv
cmQgPSBuZXcgV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQoV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQu
RXZlbnRUeXBlLkV2ZW50RGlzcGF0Y2hlZCwgc3RhcnRUaW1lLCBlbmRUaW1lLCBjYWxsRnJhbWVz
LCBzb3VyY2VDb2RlTG9jYXRpb24sIHBhcmVudFJlY29yZFBheWxvYWQuZGF0YS50eXBlLCBwcm9m
aWxlRGF0YSk7CisgICAgICAgICAgICAgICAgcmVjb3JkID0gbmV3IFdJLlNjcmlwdFRpbWVsaW5l
UmVjb3JkKFdJLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5FdmVudERpc3BhdGNoZWQs
IHN0YXJ0VGltZSwgZW5kVGltZSwgY2FsbEZyYW1lcywgc291cmNlQ29kZUxvY2F0aW9uLCBwYXJl
bnRSZWNvcmRQYXlsb2FkLmRhdGEudHlwZSwgcHJvZmlsZURhdGEsIHBhcmVudFJlY29yZFBheWxv
YWQuZGF0YSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIFRpbWVs
aW5lQWdlbnQuRXZlbnRUeXBlLk9ic2VydmVyQ2FsbGJhY2s6CiAgICAgICAgICAgICAgICAgcmVj
b3JkID0gbmV3IFdJLlNjcmlwdFRpbWVsaW5lUmVjb3JkKFdJLlNjcmlwdFRpbWVsaW5lUmVjb3Jk
LkV2ZW50VHlwZS5PYnNlcnZlckNhbGxiYWNrLCBzdGFydFRpbWUsIGVuZFRpbWUsIGNhbGxGcmFt
ZXMsIHNvdXJjZUNvZGVMb2NhdGlvbiwgcGFyZW50UmVjb3JkUGF5bG9hZC5kYXRhLnR5cGUsIHBy
b2ZpbGVEYXRhKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL01vZGVscy9TY3JpcHRUaW1lbGluZVJlY29yZC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL01vZGVscy9TY3JpcHRUaW1lbGluZVJlY29yZC5qcwppbmRleCA3N2Jj
YTAwNDNhMmM3MTIzZjIyMjgwZjRlNDI4YjE5NDZjOWFlODc4Li4xYjMyOGYzYTdhODkzOGI5OWFl
NmU1ZDE5MmJhODU1Y2Q2NzcwMTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Nb2RlbHMvU2NyaXB0VGltZWxpbmVSZWNvcmQuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdFRpbWVsaW5lUmVjb3Jk
LmpzCkBAIC0yNSw3ICsyNSw3IEBACiAKIFdJLlNjcmlwdFRpbWVsaW5lUmVjb3JkID0gY2xhc3Mg
U2NyaXB0VGltZWxpbmVSZWNvcmQgZXh0ZW5kcyBXSS5UaW1lbGluZVJlY29yZAogewotICAgIGNv
bnN0cnVjdG9yKGV2ZW50VHlwZSwgc3RhcnRUaW1lLCBlbmRUaW1lLCBjYWxsRnJhbWVzLCBzb3Vy
Y2VDb2RlTG9jYXRpb24sIGRldGFpbHMsIHByb2ZpbGVQYXlsb2FkKQorICAgIGNvbnN0cnVjdG9y
KGV2ZW50VHlwZSwgc3RhcnRUaW1lLCBlbmRUaW1lLCBjYWxsRnJhbWVzLCBzb3VyY2VDb2RlTG9j
YXRpb24sIGRldGFpbHMsIHByb2ZpbGVQYXlsb2FkLCBleHRyYURldGFpbHMpCiAgICAgewogICAg
ICAgICBzdXBlcihXSS5UaW1lbGluZVJlY29yZC5UeXBlLlNjcmlwdCwgc3RhcnRUaW1lLCBlbmRU
aW1lLCBjYWxsRnJhbWVzLCBzb3VyY2VDb2RlTG9jYXRpb24pOwogCkBAIC0zOCw2ICszOCw3IEBA
IFdJLlNjcmlwdFRpbWVsaW5lUmVjb3JkID0gY2xhc3MgU2NyaXB0VGltZWxpbmVSZWNvcmQgZXh0
ZW5kcyBXSS5UaW1lbGluZVJlY29yZAogICAgICAgICB0aGlzLl9kZXRhaWxzID0gZGV0YWlscyB8
fCAiIjsKICAgICAgICAgdGhpcy5fcHJvZmlsZVBheWxvYWQgPSBwcm9maWxlUGF5bG9hZCB8fCBu
dWxsOwogICAgICAgICB0aGlzLl9wcm9maWxlID0gbnVsbDsKKyAgICAgICAgdGhpcy5fZXh0cmFE
ZXRhaWxzID0gZXh0cmFEZXRhaWxzIHx8IG51bGw7CiAKICAgICAgICAgLy8gQ09NUEFUSUJJTElU
WShpT1MgOSk6IEJlZm9yZSB0aGUgU2NyaXB0UHJvZmlsZXJBZ2VudCB3ZSBkaWQgbm90IGhhdmUg
c2FtcGxlIGRhdGEuIFJldHVybiBOYU4gdG8gbWF0Y2ggb2xkIGJlaGF2aW9yLgogICAgICAgICBp
ZiAoIXdpbmRvdy5TY3JpcHRQcm9maWxlckFnZW50KQpAQCAtNzYsMTUgKzc3LDEwIEBAIFdJLlNj
cmlwdFRpbWVsaW5lUmVjb3JkID0gY2xhc3MgU2NyaXB0VGltZWxpbmVSZWNvcmQgZXh0ZW5kcyBX
SS5UaW1lbGluZVJlY29yZAogCiAgICAgLy8gUHVibGljCiAKLSAgICBnZXQgZXZlbnRUeXBlKCkK
LSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9ldmVudFR5cGU7Ci0gICAgfQotCi0gICAgZ2V0
IGRldGFpbHMoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2RldGFpbHM7Ci0gICAgfQor
ICAgIGdldCBldmVudFR5cGUoKSB7IHJldHVybiB0aGlzLl9ldmVudFR5cGU7IH0KKyAgICBnZXQg
ZGV0YWlscygpIHsgcmV0dXJuIHRoaXMuX2RldGFpbHM7IH0KKyAgICBnZXQgZXh0cmFEZXRhaWxz
KCkgeyByZXR1cm4gdGhpcy5fZXh0cmFEZXRhaWxzOyB9CisgICAgZ2V0IGNhbGxDb3VudE9yU2Ft
cGxlcygpIHsgcmV0dXJuIHRoaXMuX2NhbGxDb3VudE9yU2FtcGxlczsgfQogCiAgICAgZ2V0IHBy
b2ZpbGUoKQogICAgIHsKQEAgLTkyLDExICs4OCw2IEBAIFdJLlNjcmlwdFRpbWVsaW5lUmVjb3Jk
ID0gY2xhc3MgU2NyaXB0VGltZWxpbmVSZWNvcmQgZXh0ZW5kcyBXSS5UaW1lbGluZVJlY29yZAog
ICAgICAgICByZXR1cm4gdGhpcy5fcHJvZmlsZTsKICAgICB9CiAKLSAgICBnZXQgY2FsbENvdW50
T3JTYW1wbGVzKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9jYWxsQ291bnRPclNhbXBs
ZXM7Ci0gICAgfQotCiAgICAgaXNHYXJiYWdlQ29sbGVjdGlvbigpCiAgICAgewogICAgICAgICBy
ZXR1cm4gdGhpcy5fZXZlbnRUeXBlID09PSBXSS5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5
cGUuR2FyYmFnZUNvbGxlY3RlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdERldGFpbHNUaW1lbGluZVZpZXcuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHREZXRhaWxzVGltZWxpbmVW
aWV3LmpzCmluZGV4IDZkOGRiM2E5NGU4ZDk3NzdlNWZhZjQzNzhkOGNjNTM0MDllN2YzNDcuLmMy
YzA5MjQ0ZDRiNTQzMThhOGE5YzMyZDA1YTBiYWE1ZmE0OWFjZTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdERldGFpbHNUaW1lbGlu
ZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
U2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldy5qcwpAQCAtMzQsNyArMzQsNyBAQCBXSS5TY3JpcHRE
ZXRhaWxzVGltZWxpbmVWaWV3ID0gY2xhc3MgU2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldyBleHRl
bmRzIFdJLlRpbWVsaQogICAgICAgICBsZXQgY29sdW1ucyA9IHtuYW1lOiB7fSwgbG9jYXRpb246
IHt9LCBjYWxsQ291bnQ6IHt9LCBzdGFydFRpbWU6IHt9LCB0b3RhbFRpbWU6IHt9LCBzZWxmVGlt
ZToge30sIGF2ZXJhZ2VUaW1lOiB7fX07CiAKICAgICAgICAgY29sdW1ucy5uYW1lLnRpdGxlID0g
V0kuVUlTdHJpbmcoIk5hbWUiKTsKLSAgICAgICAgY29sdW1ucy5uYW1lLndpZHRoID0gIjEwJSI7
CisgICAgICAgIGNvbHVtbnMubmFtZS53aWR0aCA9ICIzMCUiOwogICAgICAgICBjb2x1bW5zLm5h
bWUuaWNvbiA9IHRydWU7CiAgICAgICAgIGNvbHVtbnMubmFtZS5kaXNjbG9zdXJlID0gdHJ1ZTsK
ICAgICAgICAgY29sdW1ucy5uYW1lLmxvY2tlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY3JpcHRUaW1lbGluZURhdGFHcmlk
Tm9kZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Njcmlw
dFRpbWVsaW5lRGF0YUdyaWROb2RlLmpzCmluZGV4IDQ1NjViZWUxNDI5ZmRlZjEzNTk2Y2EwMzNi
MDc3OTI0YjY4MjA2OGMuLjk2ODk2ZjQyODQyNTU1MmRiYzAwOGVmYzkzMDA5OTlhN2I5MWM5Zjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Nj
cmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1NjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlLmpzCkBAIC04Niw2
ICs4Niw5IEBAIFdJLlNjcmlwdFRpbWVsaW5lRGF0YUdyaWROb2RlID0gY2xhc3MgU2NyaXB0VGlt
ZWxpbmVEYXRhR3JpZE5vZGUgZXh0ZW5kcyBXSS5UaW1lCiAgICAgICAgICAgICAgICAgdGhpcy5f
c3VidGl0bGUgPSBXSS5VSVN0cmluZygiJXMgaW50ZXJ2YWwiKS5mb3JtYXQodGltZW91dFN0cmlu
Zyk7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgdGhpcy5fc3VidGl0bGUgPSBX
SS5VSVN0cmluZygiJXMgZGVsYXkiKS5mb3JtYXQodGltZW91dFN0cmluZyk7CisgICAgICAgIH0g
ZWxzZSBpZiAodGhpcy5fcmVjb3JkLmV2ZW50VHlwZSA9PT0gV0kuU2NyaXB0VGltZWxpbmVSZWNv
cmQuRXZlbnRUeXBlLkV2ZW50RGlzcGF0Y2hlZCkgeworICAgICAgICAgICAgaWYgKHRoaXMuX3Jl
Y29yZC5leHRyYURldGFpbHMgJiYgdGhpcy5fcmVjb3JkLmV4dHJhRGV0YWlscy5kZWZhdWx0UHJl
dmVudGVkKQorICAgICAgICAgICAgICAgIHRoaXMuX3N1YnRpdGxlID0gV0kuVUlTdHJpbmcoImRl
ZmF1bHQgcHJldmVudGVkIik7CiAgICAgICAgIH0KIAogICAgICAgICByZXR1cm4gdGhpcy5fc3Vi
dGl0bGU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggMTZjMmUyMGYzOWVmNjliY2FjOGU0ZTAxODE4YjY4ODM2MTE1ZjViNS4u
NDIyZWYxMWYwNGYwNTAwYzZmOTY3ZDhhYjA5ZDdiNDIyZmJkNTg1MSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDM0IEBACisyMDE5LTAzLTIwICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBUaW1lbGluZSBzaG91bGQgc2hvdyB3aGVuIGV2ZW50cyBw
cmV2ZW50RGVmYXVsdCgpIHdhcyBjYWxsZWQgb24gYW4gZXZlbnQgb3Igbm90CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzY4MjQKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzM0MjkwOTMxPgorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbW90aHkgSGF0
Y2hlci4KKworICAgICAgICBPcmlnaW5hbCBwYXRjaCBieSBKb3NlcGggUGVjb3Jhcm8gPHBlY29y
YXJvQGFwcGxlLmNvbT4uCisKKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvcmVzb3VyY2Vz
L3RpbWVsaW5lLWV2ZW50LXV0aWxpdGllcy5qczogQWRkZWQuCisgICAgICAgIChmaW5pc2hSZWNv
cmRpbmcpOgorICAgICAgICAoVGVzdFBhZ2UucmVnaXN0ZXJJbml0aWFsaXplci5JbnNwZWN0b3JU
ZXN0LlRpbWVsaW5lRXZlbnQuY2FwdHVyZVRpbWVsaW5lV2l0aFNjcmlwdCk6CisgICAgICAgIChU
ZXN0UGFnZS5yZWdpc3RlckluaXRpYWxpemVyKToKKyAgICAgICAgSGVscGVyIGNvZGUgZm9yIGNy
ZWF0aW5nIGEgcmVjb3JkaW5nIGZyb20gYSBmdW5jdGlvbi4KKworICAgICAgICAqIGluc3BlY3Rv
ci90aW1lbGluZS90aW1lbGluZS1ldmVudC1DYW5jZWxBbmltYXRpb25GcmFtZS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtQ2FuY2VsQW5p
bWF0aW9uRnJhbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvdGlt
ZWxpbmUvdGltZWxpbmUtZXZlbnQtRXZlbnREaXNwYXRjaC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtRXZlbnREaXNwYXRjaC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVu
dC1GaXJlQW5pbWF0aW9uRnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL3Rp
bWVsaW5lL3RpbWVsaW5lLWV2ZW50LUZpcmVBbmltYXRpb25GcmFtZS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1SZXF1ZXN0
QW5pbWF0aW9uRnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5l
L3RpbWVsaW5lLWV2ZW50LVJlcXVlc3RBbmltYXRpb25GcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1UaW1lckZpcmUu
aHRtbDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50
LVRpbWVyRmlyZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci90aW1l
bGluZS90aW1lbGluZS1ldmVudC1UaW1lckluc3RhbGwuaHRtbDogQWRkZWQuCisgICAgICAgICog
aW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVRpbWVySW5zdGFsbC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1U
aW1lclJlbW92ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGlt
ZWxpbmUtZXZlbnQtVGltZXJSZW1vdmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAxOS0wMy0y
MCAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCwgZml4IHRlc3QgZmFpbHVyZXMgYWZ0ZXIgcjI0MzE2MS4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci90aW1lbGluZS9yZXNvdXJjZXMvdGltZWxpbmUtZXZlbnQtdXRpbGl0aWVz
LmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3Jlc291cmNlcy90aW1lbGluZS1l
dmVudC11dGlsaXRpZXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGUyZTEwMzgwMmQ4Y2E0ZTZjN2ZlZTNlNGEy
MDlmMmZlNzg0MjIxNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90
aW1lbGluZS9yZXNvdXJjZXMvdGltZWxpbmUtZXZlbnQtdXRpbGl0aWVzLmpzCkBAIC0wLDAgKzEs
MzEgQEAKK2Z1bmN0aW9uIGZpbmlzaFJlY29yZGluZyhkYXRhKSB7CisgICAgVGVzdFBhZ2UuYWRk
UmVzdWx0KCJGaW5pc2ggcmVjb3JkaW5nLi4uIik7CisgICAgVGVzdFBhZ2UuZGlzcGF0Y2hFdmVu
dFRvRnJvbnRlbmQoIkZpbmlzaFJlY29yZGluZyIsIGRhdGEpOworfQorCitUZXN0UGFnZS5yZWdp
c3RlckluaXRpYWxpemVyKCgpID0+IHsKKyAgICBJbnNwZWN0b3JUZXN0LlRpbWVsaW5lRXZlbnQg
PSB7fTsKKworICAgIEluc3BlY3RvclRlc3QuVGltZWxpbmVFdmVudC5jYXB0dXJlVGltZWxpbmVX
aXRoU2NyaXB0ID0gZnVuY3Rpb24oZXhwcmVzc2lvbikgeworICAgICAgICBsZXQgcGFnZVJlY29y
ZGluZ0RhdGEgPSBudWxsOworCisgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJTdGFydGluZyBD
YXB0dXJlLi4uIik7CisgICAgICAgIGNvbnN0IG5ld1JlY29yZGluZyA9IHRydWU7CisgICAgICAg
IFdJLnRpbWVsaW5lTWFuYWdlci5zdGFydENhcHR1cmluZyhuZXdSZWNvcmRpbmcpOworCisgICAg
ICAgIGxldCBwcm9taXNlcyA9IFtdOworCisgICAgICAgIHByb21pc2VzLnB1c2goV0kudGltZWxp
bmVNYW5hZ2VyLmF3YWl0RXZlbnQoV0kuVGltZWxpbmVNYW5hZ2VyLkV2ZW50LkNhcHR1cmluZ1N0
b3BwZWQpKTsKKworICAgICAgICBwcm9taXNlcy5wdXNoKEluc3BlY3RvclRlc3QuYXdhaXRFdmVu
dCgiRmluaXNoUmVjb3JkaW5nIikudGhlbigoZXZlbnQpID0+IHsKKyAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QubG9nKCJTdG9wcGluZyBDYXB0dXJlLi4uIik7CisgICAgICAgICAgICBwYWdlUmVj
b3JkaW5nRGF0YSA9IGV2ZW50LmRhdGE7CisgICAgICAgICAgICBXSS50aW1lbGluZU1hbmFnZXIu
c3RvcENhcHR1cmluZygpOworICAgICAgICB9KSk7CisKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5s
b2coIkV2YWx1YXRpbmcuLi4iKTsKKyAgICAgICAgcHJvbWlzZXMucHVzaChJbnNwZWN0b3JUZXN0
LmV2YWx1YXRlSW5QYWdlKGV4cHJlc3Npb24pKTsKKworICAgICAgICByZXR1cm4gUHJvbWlzZS5h
bGwocHJvbWlzZXMpLnRoZW4oKCkgPT4gcGFnZVJlY29yZGluZ0RhdGEpOworICAgIH0KK30pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50
LUNhbmNlbEFuaW1hdGlvbkZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS90aW1lbGluZS1ldmVudC1DYW5jZWxBbmltYXRpb25GcmFtZS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODA4MjQwYmI3YjZhNGIxZWJhMWEwZTI5ZDAwZWUyYzE1OWUzMjM5ZAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGlu
ZS1ldmVudC1DYW5jZWxBbmltYXRpb25GcmFtZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGVzdHMgJ0NhbmNlbEFuaW1hdGlvbkZyYW1lJyBUaW1lbGluZSBldmVudCByZWNvcmRzLgor
CisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogVGltZWxpbmVFdmVudC5DYW5jZWxBbmltYXRpb25G
cmFtZQorLS0gUnVubmluZyB0ZXN0IGNhc2U6IFRpbWVsaW5lRXZlbnQuQ2FuY2VsQW5pbWF0aW9u
RnJhbWUucmVxdWVzdEFuaW1hdGlvbkZyYW1lCitTdGFydGluZyBDYXB0dXJlLi4uCitFdmFsdWF0
aW5nLi4uCitGaW5pc2ggcmVjb3JkaW5nLi4uCitTdG9wcGluZyBDYXB0dXJlLi4uCitQQVNTOiBT
aG91bGQgYmUgMSBBbmltYXRpb25GcmFtZUNhbmNlbGVkIHJlY29yZC4KK0RFVEFJTFM6IG51bWJl
cgorUEFTUzogU2NyaXB0VGltZWxpbmVSZWNvcmQgZGV0YWlscyBzaG91bGQgYmUgdGhlIHJlcXVl
c3RBbmltYXRpb25GcmFtZSBpZGVudGlmaWVyLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtQ2FuY2VsQW5pbWF0aW9uRnJhbWUuaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1DYW5jZWxB
bmltYXRpb25GcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM0NzVhZjMwZDY3ZmQ0YTFiMTg4ZDRlZWZl
ZjgxOWRmM2ZiM2Y5YzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
dGltZWxpbmUvdGltZWxpbmUtZXZlbnQtQ2FuY2VsQW5pbWF0aW9uRnJhbWUuaHRtbApAQCAtMCww
ICsxLDUwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy90aW1lbGluZS1ldmVudC11dGlsaXRp
ZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gdGVzdFJlcXVlc3RBbmltYXRp
b25GcmFtZSgpIHsKKyAgICBsZXQgcmVxdWVzdEFuaW1hdGlvbkZyYW1lSWRlbnRpZmllciA9IHJl
cXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgIFRlc3RQYWdlLmFkZFJlc3VsdCgi
RkFJTDogcmVxdWVzdEFuaW1hdGlvbkZyYW1lIGZpcmVkIik7CisgICAgfSk7CisKKyAgICBjYW5j
ZWxBbmltYXRpb25GcmFtZShyZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZGVudGlmaWVyKTsKKworICAg
IHNldFRpbWVvdXQoKCkgPT4geworICAgICAgICBmaW5pc2hSZWNvcmRpbmcoe3JlcXVlc3RBbmlt
YXRpb25GcmFtZUlkZW50aWZpZXJ9KTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7
CisgICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJUaW1lbGlu
ZUV2ZW50LkNhbmNlbEFuaW1hdGlvbkZyYW1lIik7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7
CisgICAgICAgIG5hbWU6ICJUaW1lbGluZUV2ZW50LkNhbmNlbEFuaW1hdGlvbkZyYW1lLnJlcXVl
c3RBbmltYXRpb25GcmFtZSIsCisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBs
ZXQgcGFnZVJlY29yZGluZ0RhdGEgPSBhd2FpdCBJbnNwZWN0b3JUZXN0LlRpbWVsaW5lRXZlbnQu
Y2FwdHVyZVRpbWVsaW5lV2l0aFNjcmlwdChgdGVzdFJlcXVlc3RBbmltYXRpb25GcmFtZSgpYCk7
CisKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHR5cGVvZiBwYWdlUmVjb3JkaW5n
RGF0YS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZGVudGlmaWVyID09PSAibnVtYmVyIik7CisKKyAg
ICAgICAgICAgIGxldCByZWNvcmRpbmcgPSBXSS50aW1lbGluZU1hbmFnZXIuYWN0aXZlUmVjb3Jk
aW5nOworICAgICAgICAgICAgbGV0IHNjcmlwdFRpbWVsaW5lID0gcmVjb3JkaW5nLnRpbWVsaW5l
cy5nZXQoV0kuVGltZWxpbmVSZWNvcmQuVHlwZS5TY3JpcHQpOworICAgICAgICAgICAgbGV0IHJl
Y29yZHMgPSBzY3JpcHRUaW1lbGluZS5yZWNvcmRzLmZpbHRlcigoeCkgPT4geC5ldmVudFR5cGUg
PT09IFdJLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5BbmltYXRpb25GcmFtZUNhbmNl
bGVkKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVjb3Jkcy5sZW5n
dGgsIDEsICJTaG91bGQgYmUgMSBBbmltYXRpb25GcmFtZUNhbmNlbGVkIHJlY29yZC4iKTsKKyAg
ICAgICAgICAgIGZvciAobGV0IHJlY29yZCBvZiByZWNvcmRzKSB7CisgICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5sb2coIkRFVEFJTFM6ICIgKyB0eXBlb2YgcmVjb3JkLmRldGFpbHMpOwor
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVjb3JkLmRldGFpbHMs
IHBhZ2VSZWNvcmRpbmdEYXRhLnJlcXVlc3RBbmltYXRpb25GcmFtZUlkZW50aWZpZXIsICJTY3Jp
cHRUaW1lbGluZVJlY29yZCBkZXRhaWxzIHNob3VsZCBiZSB0aGUgcmVxdWVzdEFuaW1hdGlvbkZy
YW1lIGlkZW50aWZpZXIuIik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9KTsKKwor
ICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOworfQorCis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKyAgICA8cD5UZXN0cyAnQ2FuY2VsQW5pbWF0
aW9uRnJhbWUnIFRpbWVsaW5lIGV2ZW50IHJlY29yZHMuPC9wPgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50
LUV2ZW50RGlzcGF0Y2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVs
aW5lL3RpbWVsaW5lLWV2ZW50LUV2ZW50RGlzcGF0Y2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxOGJiMDI5Y2YxMGNhZjJlNzQ1Y2I0N2NjYjBjMjIyODY4OGNmYTEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtRXZlbnRE
aXNwYXRjaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0NSBAQAorVGVzdHMgJ0V2ZW50RGlzcGF0
Y2gnIFRpbWVsaW5lIGV2ZW50IHJlY29yZHMuCisKKyAgCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0
ZTogVGltZWxpbmVFdmVudC5FdmVudERpc3BhdGNoCistLSBSdW5uaW5nIHRlc3QgY2FzZTogVGlt
ZWxpbmVFdmVudC5FdmVudERpc3BhdGNoLkhhbmRsZXIuUmVndWxhcgorU3RhcnRpbmcgQ2FwdHVy
ZS4uLgorRXZhbHVhdGluZy4uLgorUEFTUzogY2xpY2sgaGFuZGxlciBmaXJlZAorRmluaXNoIHJl
Y29yZGluZy4uLgorU3RvcHBpbmcgQ2FwdHVyZS4uLgorUEFTUzogU2hvdWxkIGJlIDEgRXZlbnRE
aXNwYXRjaGVkIHJlY29yZC4KK0RFVEFJTFM6IHsidHlwZSI6ImNsaWNrIiwiZGVmYXVsdFByZXZl
bnRlZCI6ZmFsc2V9CitQQVNTOiBTY3JpcHRUaW1lbGluZVJlY29yZCBleHRyYURldGFpbHMgc2hv
dWxkIHNob3cgZGVmYXVsdCB3YXMgbm90IHByZXZlbnRlZC4KKworLS0gUnVubmluZyB0ZXN0IGNh
c2U6IFRpbWVsaW5lRXZlbnQuRXZlbnREaXNwYXRjaC5IYW5kbGVyLkRlZmF1bHRQcmV2ZW50ZWQK
K1N0YXJ0aW5nIENhcHR1cmUuLi4KK0V2YWx1YXRpbmcuLi4KK1BBU1M6IGNsaWNrIGhhbmRsZXIg
ZmlyZWQsIHdpbGwgcHJldmVudCBkZWZhdWx0CitGaW5pc2ggcmVjb3JkaW5nLi4uCitTdG9wcGlu
ZyBDYXB0dXJlLi4uCitQQVNTOiBTaG91bGQgYmUgMSBFdmVudERpc3BhdGNoZWQgcmVjb3JkLgor
REVUQUlMUzogeyJ0eXBlIjoiY2xpY2siLCJkZWZhdWx0UHJldmVudGVkIjp0cnVlfQorUEFTUzog
U2NyaXB0VGltZWxpbmVSZWNvcmQgZXh0cmFEZXRhaWxzIHNob3VsZCBzaG93IGRlZmF1bHQgd2Fz
IHByZXZlbnRlZC4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFRpbWVsaW5lRXZlbnQuRXZlbnRE
aXNwYXRjaC5BdHRyaWJ1dGVIYW5kbGVyLlJlZ3VsYXIKK1N0YXJ0aW5nIENhcHR1cmUuLi4KK0V2
YWx1YXRpbmcuLi4KK1BBU1M6IGIxIG9uY2xpY2sgYXR0cmlidXRlIGhhbmRsZXIgZmlyZWQKK0Zp
bmlzaCByZWNvcmRpbmcuLi4KK1N0b3BwaW5nIENhcHR1cmUuLi4KK1BBU1M6IFNob3VsZCBiZSAx
IEV2ZW50RGlzcGF0Y2hlZCByZWNvcmQuCitERVRBSUxTOiB7InR5cGUiOiJjbGljayIsImRlZmF1
bHRQcmV2ZW50ZWQiOmZhbHNlfQorUEFTUzogU2NyaXB0VGltZWxpbmVSZWNvcmQgZXh0cmFEZXRh
aWxzIHNob3VsZCBzaG93IGRlZmF1bHQgd2FzIG5vdCBwcmV2ZW50ZWQuCisKKy0tIFJ1bm5pbmcg
dGVzdCBjYXNlOiBUaW1lbGluZUV2ZW50LkV2ZW50RGlzcGF0Y2guQXR0cmlidXRlSGFuZGxlci5E
ZWZhdWx0UHJldmVudGVkCitTdGFydGluZyBDYXB0dXJlLi4uCitFdmFsdWF0aW5nLi4uCitQQVNT
OiBiMiBvbmNsaWNrIGF0dHJpYnV0ZSBoYW5kbGVyIGZpcmVkLCB3aWxsIHByZXZlbnQgZGVmYXVs
dAorRmluaXNoIHJlY29yZGluZy4uLgorU3RvcHBpbmcgQ2FwdHVyZS4uLgorUEFTUzogU2hvdWxk
IGJlIDEgRXZlbnREaXNwYXRjaGVkIHJlY29yZC4KK0RFVEFJTFM6IHsidHlwZSI6ImNsaWNrIiwi
ZGVmYXVsdFByZXZlbnRlZCI6dHJ1ZX0KK1BBU1M6IFNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4dHJh
RGV0YWlscyBzaG91bGQgc2hvdyBkZWZhdWx0IHdhcyBwcmV2ZW50ZWQuCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1FdmVudERpc3Bh
dGNoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQt
RXZlbnREaXNwYXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEyYTNhN2NkZWQzMTIwN2VjZGM3ZDcyM2Ix
ZmQ5NzUyMjZiNjIwODEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
dGltZWxpbmUvdGltZWxpbmUtZXZlbnQtRXZlbnREaXNwYXRjaC5odG1sCkBAIC0wLDAgKzEsMTE4
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy90aW1lbGluZS1ldmVudC11dGlsaXRpZXMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gdGVzdENsaWNrRXZlbnRIYW5kbGVyKHtw
cmV2ZW50RGVmYXVsdH0pIHsKKyAgICBsZXQgYnV0dG9uID0gZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKSk7CisgICAgYnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgKGV2ZW50KSA9PiB7CisgICAgICAgIFRlc3RQYWdlLmFkZFJl
c3VsdCgiUEFTUzogY2xpY2sgaGFuZGxlciBmaXJlZCIgKyAocHJldmVudERlZmF1bHQgPyAiLCB3
aWxsIHByZXZlbnQgZGVmYXVsdCIgOiAiIikpOworCisgICAgICAgIGlmIChwcmV2ZW50RGVmYXVs
dCkKKyAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CisKKyAgICAgICAgc2V0VGlt
ZW91dCgoKSA9PiB7CisgICAgICAgICAgICBmaW5pc2hSZWNvcmRpbmcoe3ByZXZlbnREZWZhdWx0
fSk7CisgICAgICAgIH0pOworICAgIH0pOworICAgIGJ1dHRvbi5kaXNwYXRjaEV2ZW50KG5ldyBN
b3VzZUV2ZW50KCJjbGljayIsIHtidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlfSkpOwor
fQorCitmdW5jdGlvbiB0ZXN0Q2xpY2tFdmVudEF0dHJpYnV0ZUhhbmRsZXIoaWQsIHtwcmV2ZW50
RGVmYXVsdH0pIHsKKyAgICBsZXQgYnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQp
OworICAgIGJ1dHRvbi5kaXNwYXRjaEV2ZW50KG5ldyBNb3VzZUV2ZW50KCJjbGljayIsIHtidWJi
bGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlfSkpOworCisgICAgc2V0VGltZW91dCgoKSA9PiB7
CisgICAgICAgIGZpbmlzaFJlY29yZGluZyh7cHJldmVudERlZmF1bHR9KTsKKyAgICB9KTsKK30K
KworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVh
dGVBc3luY1N1aXRlKCJUaW1lbGluZUV2ZW50LkV2ZW50RGlzcGF0Y2giKTsKKworICAgIHN1aXRl
LmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogIlRpbWVsaW5lRXZlbnQuRXZlbnREaXNwYXRj
aC5IYW5kbGVyLlJlZ3VsYXIiLAorICAgICAgICBhc3luYyB0ZXN0KCkgeworICAgICAgICAgICAg
bGV0IHBhZ2VSZWNvcmRpbmdEYXRhID0gYXdhaXQgSW5zcGVjdG9yVGVzdC5UaW1lbGluZUV2ZW50
LmNhcHR1cmVUaW1lbGluZVdpdGhTY3JpcHQoYHRlc3RDbGlja0V2ZW50SGFuZGxlcih7cHJldmVu
dERlZmF1bHQ6IGZhbHNlfSlgKTsKKworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQo
dHlwZW9mIHBhZ2VSZWNvcmRpbmdEYXRhLnByZXZlbnREZWZhdWx0ID09PSAiYm9vbGVhbiIpOwor
CisgICAgICAgICAgICBsZXQgcmVjb3JkaW5nID0gV0kudGltZWxpbmVNYW5hZ2VyLmFjdGl2ZVJl
Y29yZGluZzsKKyAgICAgICAgICAgIGxldCBzY3JpcHRUaW1lbGluZSA9IHJlY29yZGluZy50aW1l
bGluZXMuZ2V0KFdJLlRpbWVsaW5lUmVjb3JkLlR5cGUuU2NyaXB0KTsKKyAgICAgICAgICAgIGxl
dCByZWNvcmRzID0gc2NyaXB0VGltZWxpbmUucmVjb3Jkcy5maWx0ZXIoKHgpID0+IHguZXZlbnRU
eXBlID09PSBXSS5TY3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuRXZlbnREaXNwYXRjaGVk
KTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVjb3Jkcy5sZW5ndGgs
IDEsICJTaG91bGQgYmUgMSBFdmVudERpc3BhdGNoZWQgcmVjb3JkLiIpOworICAgICAgICAgICAg
Zm9yIChsZXQgcmVjb3JkIG9mIHJlY29yZHMpIHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmxvZygiREVUQUlMUzogIiArIEpTT04uc3RyaW5naWZ5KHJlY29yZC5leHRyYURldGFpbHMp
KTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29yZC5leHRy
YURldGFpbHMuZGVmYXVsdFByZXZlbnRlZCwgcGFnZVJlY29yZGluZ0RhdGEucHJldmVudERlZmF1
bHQsICJTY3JpcHRUaW1lbGluZVJlY29yZCBleHRyYURldGFpbHMgc2hvdWxkIHNob3cgZGVmYXVs
dCB3YXMgbm90IHByZXZlbnRlZC4iKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0p
OworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiVGltZWxpbmVFdmVu
dC5FdmVudERpc3BhdGNoLkhhbmRsZXIuRGVmYXVsdFByZXZlbnRlZCIsCisgICAgICAgIGFzeW5j
IHRlc3QoKSB7CisgICAgICAgICAgICBsZXQgcGFnZVJlY29yZGluZ0RhdGEgPSBhd2FpdCBJbnNw
ZWN0b3JUZXN0LlRpbWVsaW5lRXZlbnQuY2FwdHVyZVRpbWVsaW5lV2l0aFNjcmlwdChgdGVzdENs
aWNrRXZlbnRIYW5kbGVyKHtwcmV2ZW50RGVmYXVsdDogdHJ1ZX0pYCk7CisKKyAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYXNzZXJ0KHR5cGVvZiBwYWdlUmVjb3JkaW5nRGF0YS5wcmV2ZW50RGVm
YXVsdCA9PT0gImJvb2xlYW4iKTsKKworICAgICAgICAgICAgbGV0IHJlY29yZGluZyA9IFdJLnRp
bWVsaW5lTWFuYWdlci5hY3RpdmVSZWNvcmRpbmc7CisgICAgICAgICAgICBsZXQgc2NyaXB0VGlt
ZWxpbmUgPSByZWNvcmRpbmcudGltZWxpbmVzLmdldChXSS5UaW1lbGluZVJlY29yZC5UeXBlLlNj
cmlwdCk7CisgICAgICAgICAgICBsZXQgcmVjb3JkcyA9IHNjcmlwdFRpbWVsaW5lLnJlY29yZHMu
ZmlsdGVyKCh4KSA9PiB4LmV2ZW50VHlwZSA9PT0gV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZl
bnRUeXBlLkV2ZW50RGlzcGF0Y2hlZCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVj
dEVxdWFsKHJlY29yZHMubGVuZ3RoLCAxLCAiU2hvdWxkIGJlIDEgRXZlbnREaXNwYXRjaGVkIHJl
Y29yZC4iKTsKKyAgICAgICAgICAgIGZvciAobGV0IHJlY29yZCBvZiByZWNvcmRzKSB7CisgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkRFVEFJTFM6ICIgKyBKU09OLnN0cmluZ2lm
eShyZWNvcmQuZXh0cmFEZXRhaWxzKSk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5l
eHBlY3RFcXVhbChyZWNvcmQuZXh0cmFEZXRhaWxzLmRlZmF1bHRQcmV2ZW50ZWQsIHBhZ2VSZWNv
cmRpbmdEYXRhLnByZXZlbnREZWZhdWx0LCAiU2NyaXB0VGltZWxpbmVSZWNvcmQgZXh0cmFEZXRh
aWxzIHNob3VsZCBzaG93IGRlZmF1bHQgd2FzIHByZXZlbnRlZC4iKTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBu
YW1lOiAiVGltZWxpbmVFdmVudC5FdmVudERpc3BhdGNoLkF0dHJpYnV0ZUhhbmRsZXIuUmVndWxh
ciIsCisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBsZXQgcGFnZVJlY29yZGlu
Z0RhdGEgPSBhd2FpdCBJbnNwZWN0b3JUZXN0LlRpbWVsaW5lRXZlbnQuY2FwdHVyZVRpbWVsaW5l
V2l0aFNjcmlwdChgdGVzdENsaWNrRXZlbnRBdHRyaWJ1dGVIYW5kbGVyKCJiMSIsIHtwcmV2ZW50
RGVmYXVsdDogZmFsc2V9KWApOworCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0
eXBlb2YgcGFnZVJlY29yZGluZ0RhdGEucHJldmVudERlZmF1bHQgPT09ICJib29sZWFuIik7CisK
KyAgICAgICAgICAgIGxldCByZWNvcmRpbmcgPSBXSS50aW1lbGluZU1hbmFnZXIuYWN0aXZlUmVj
b3JkaW5nOworICAgICAgICAgICAgbGV0IHNjcmlwdFRpbWVsaW5lID0gcmVjb3JkaW5nLnRpbWVs
aW5lcy5nZXQoV0kuVGltZWxpbmVSZWNvcmQuVHlwZS5TY3JpcHQpOworICAgICAgICAgICAgbGV0
IHJlY29yZHMgPSBzY3JpcHRUaW1lbGluZS5yZWNvcmRzLmZpbHRlcigoeCkgPT4geC5ldmVudFR5
cGUgPT09IFdJLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5FdmVudERpc3BhdGNoZWQp
OworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZWNvcmRzLmxlbmd0aCwg
MSwgIlNob3VsZCBiZSAxIEV2ZW50RGlzcGF0Y2hlZCByZWNvcmQuIik7CisgICAgICAgICAgICBm
b3IgKGxldCByZWNvcmQgb2YgcmVjb3JkcykgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QubG9nKCJERVRBSUxTOiAiICsgSlNPTi5zdHJpbmdpZnkocmVjb3JkLmV4dHJhRGV0YWlscykp
OworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVjb3JkLmV4dHJh
RGV0YWlscy5kZWZhdWx0UHJldmVudGVkLCBwYWdlUmVjb3JkaW5nRGF0YS5wcmV2ZW50RGVmYXVs
dCwgIlNjcmlwdFRpbWVsaW5lUmVjb3JkIGV4dHJhRGV0YWlscyBzaG91bGQgc2hvdyBkZWZhdWx0
IHdhcyBub3QgcHJldmVudGVkLiIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfSk7
CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJUaW1lbGluZUV2ZW50
LkV2ZW50RGlzcGF0Y2guQXR0cmlidXRlSGFuZGxlci5EZWZhdWx0UHJldmVudGVkIiwKKyAgICAg
ICAgYXN5bmMgdGVzdCgpIHsKKyAgICAgICAgICAgIGxldCBwYWdlUmVjb3JkaW5nRGF0YSA9IGF3
YWl0IEluc3BlY3RvclRlc3QuVGltZWxpbmVFdmVudC5jYXB0dXJlVGltZWxpbmVXaXRoU2NyaXB0
KGB0ZXN0Q2xpY2tFdmVudEF0dHJpYnV0ZUhhbmRsZXIoImIyIiwge3ByZXZlbnREZWZhdWx0OiB0
cnVlfSlgKTsKKworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQodHlwZW9mIHBhZ2VS
ZWNvcmRpbmdEYXRhLnByZXZlbnREZWZhdWx0ID09PSAiYm9vbGVhbiIpOworCisgICAgICAgICAg
ICBsZXQgcmVjb3JkaW5nID0gV0kudGltZWxpbmVNYW5hZ2VyLmFjdGl2ZVJlY29yZGluZzsKKyAg
ICAgICAgICAgIGxldCBzY3JpcHRUaW1lbGluZSA9IHJlY29yZGluZy50aW1lbGluZXMuZ2V0KFdJ
LlRpbWVsaW5lUmVjb3JkLlR5cGUuU2NyaXB0KTsKKyAgICAgICAgICAgIGxldCByZWNvcmRzID0g
c2NyaXB0VGltZWxpbmUucmVjb3Jkcy5maWx0ZXIoKHgpID0+IHguZXZlbnRUeXBlID09PSBXSS5T
Y3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuRXZlbnREaXNwYXRjaGVkKTsKKyAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVjb3Jkcy5sZW5ndGgsIDEsICJTaG91bGQg
YmUgMSBFdmVudERpc3BhdGNoZWQgcmVjb3JkLiIpOworICAgICAgICAgICAgZm9yIChsZXQgcmVj
b3JkIG9mIHJlY29yZHMpIHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiREVU
QUlMUzogIiArIEpTT04uc3RyaW5naWZ5KHJlY29yZC5leHRyYURldGFpbHMpKTsKKyAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29yZC5leHRyYURldGFpbHMuZGVm
YXVsdFByZXZlbnRlZCwgcGFnZVJlY29yZGluZ0RhdGEucHJldmVudERlZmF1bHQsICJTY3JpcHRU
aW1lbGluZVJlY29yZCBleHRyYURldGFpbHMgc2hvdWxkIHNob3cgZGVmYXVsdCB3YXMgcHJldmVu
dGVkLiIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5y
dW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBv
bmxvYWQ9InJ1blRlc3QoKSI+CisgICAgPHA+VGVzdHMgJ0V2ZW50RGlzcGF0Y2gnIFRpbWVsaW5l
IGV2ZW50IHJlY29yZHMuPC9wPgorICAgIDxidXR0b24gaWQ9ImIxIiBvbmNsaWNrPSJUZXN0UGFn
ZS5hZGRSZXN1bHQoJ1BBU1M6IGIxIG9uY2xpY2sgYXR0cmlidXRlIGhhbmRsZXIgZmlyZWQnKTsg
cmV0dXJuIHRydWUiPjwvYnV0dG9uPgorICAgIDxidXR0b24gaWQ9ImIyIiBvbmNsaWNrPSJUZXN0
UGFnZS5hZGRSZXN1bHQoJ1BBU1M6IGIyIG9uY2xpY2sgYXR0cmlidXRlIGhhbmRsZXIgZmlyZWQs
IHdpbGwgcHJldmVudCBkZWZhdWx0Jyk7IHJldHVybiBmYWxzZSI+PC9idXR0b24+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGlt
ZWxpbmUtZXZlbnQtRmlyZUFuaW1hdGlvbkZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1GaXJlQW5pbWF0aW9uRnJhbWUtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxOTk1ZGEzNTM3Yzk0NTEwNzEyYzNmZmRkMTRjNjQ4MWFk
NjdiNmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUv
dGltZWxpbmUtZXZlbnQtRmlyZUFuaW1hdGlvbkZyYW1lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE0IEBACitUZXN0cyAnRmlyZUFuaW1hdGlvbkZyYW1lJyBUaW1lbGluZSBldmVudCByZWNvcmRz
LgorCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogVGltZWxpbmVFdmVudC5GaXJlQW5pbWF0aW9u
RnJhbWUKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBUaW1lbGluZUV2ZW50LkZpcmVBbmltYXRpb25G
cmFtZS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUKK1N0YXJ0aW5nIENhcHR1cmUuLi4KK0V2YWx1YXRp
bmcuLi4KK1BBU1M6IHJlcXVlc3RBbmltYXRpb25GcmFtZSBmaXJlZAorRmluaXNoIHJlY29yZGlu
Zy4uLgorU3RvcHBpbmcgQ2FwdHVyZS4uLgorUEFTUzogU2hvdWxkIGJlIDEgQW5pbWF0aW9uRnJh
bWVGaXJlZCByZWNvcmQuCitERVRBSUxTOiBudW1iZXIKK1BBU1M6IFNjcmlwdFRpbWVsaW5lUmVj
b3JkIGRldGFpbHMgc2hvdWxkIGJlIHRoZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgaWRlbnRpZmll
ci4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5l
LWV2ZW50LUZpcmVBbmltYXRpb25GcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Rp
bWVsaW5lL3RpbWVsaW5lLWV2ZW50LUZpcmVBbmltYXRpb25GcmFtZS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmE3YThmZTM3OTZjMTliZDMwNzVjYmE0MmYxMDA2YmMyNzlkOWMwNDYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtRmlyZUFu
aW1hdGlvbkZyYW1lLmh0bWwKQEAgLTAsMCArMSw0OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291
cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvdGltZWxpbmUtZXZlbnQtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1
bmN0aW9uIHRlc3RSZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKSB7CisgICAgbGV0IHJlcXVlc3RBbmlt
YXRpb25GcmFtZUlkZW50aWZpZXIgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAg
ICAgICBUZXN0UGFnZS5hZGRSZXN1bHQoIlBBU1M6IHJlcXVlc3RBbmltYXRpb25GcmFtZSBmaXJl
ZCIpOworCisgICAgICAgIHNldFRpbWVvdXQoKCkgPT4geworICAgICAgICAgICAgZmluaXNoUmVj
b3JkaW5nKHtyZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZGVudGlmaWVyfSk7CisgICAgICAgIH0pOwor
ICAgIH0pOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBsZXQgc3VpdGUgPSBJbnNwZWN0
b3JUZXN0LmNyZWF0ZUFzeW5jU3VpdGUoIlRpbWVsaW5lRXZlbnQuRmlyZUFuaW1hdGlvbkZyYW1l
Iik7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJUaW1lbGluZUV2
ZW50LkZpcmVBbmltYXRpb25GcmFtZS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLAorICAgICAgICBh
c3luYyB0ZXN0KCkgeworICAgICAgICAgICAgbGV0IHBhZ2VSZWNvcmRpbmdEYXRhID0gYXdhaXQg
SW5zcGVjdG9yVGVzdC5UaW1lbGluZUV2ZW50LmNhcHR1cmVUaW1lbGluZVdpdGhTY3JpcHQoYHRl
c3RSZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKWApOworCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFzc2VydCh0eXBlb2YgcGFnZVJlY29yZGluZ0RhdGEucmVxdWVzdEFuaW1hdGlvbkZyYW1lSWRl
bnRpZmllciA9PT0gIm51bWJlciIpOworCisgICAgICAgICAgICBsZXQgcmVjb3JkaW5nID0gV0ku
dGltZWxpbmVNYW5hZ2VyLmFjdGl2ZVJlY29yZGluZzsKKyAgICAgICAgICAgIGxldCBzY3JpcHRU
aW1lbGluZSA9IHJlY29yZGluZy50aW1lbGluZXMuZ2V0KFdJLlRpbWVsaW5lUmVjb3JkLlR5cGUu
U2NyaXB0KTsKKyAgICAgICAgICAgIGxldCByZWNvcmRzID0gc2NyaXB0VGltZWxpbmUucmVjb3Jk
cy5maWx0ZXIoKHgpID0+IHguZXZlbnRUeXBlID09PSBXSS5TY3JpcHRUaW1lbGluZVJlY29yZC5F
dmVudFR5cGUuQW5pbWF0aW9uRnJhbWVGaXJlZCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmV4cGVjdEVxdWFsKHJlY29yZHMubGVuZ3RoLCAxLCAiU2hvdWxkIGJlIDEgQW5pbWF0aW9uRnJh
bWVGaXJlZCByZWNvcmQuIik7CisgICAgICAgICAgICBmb3IgKGxldCByZWNvcmQgb2YgcmVjb3Jk
cykgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJERVRBSUxTOiAiICsgdHlw
ZW9mIHJlY29yZC5kZXRhaWxzKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVj
dEVxdWFsKHJlY29yZC5kZXRhaWxzLCBwYWdlUmVjb3JkaW5nRGF0YS5yZXF1ZXN0QW5pbWF0aW9u
RnJhbWVJZGVudGlmaWVyLCAiU2NyaXB0VGltZWxpbmVSZWNvcmQgZGV0YWlscyBzaG91bGQgYmUg
dGhlIHJlcXVlc3RBbmltYXRpb25GcmFtZSBpZGVudGlmaWVyLiIpOworICAgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsK
K30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAg
PHA+VGVzdHMgJ0ZpcmVBbmltYXRpb25GcmFtZScgVGltZWxpbmUgZXZlbnQgcmVjb3Jkcy48L3A+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGlt
ZWxpbmUvdGltZWxpbmUtZXZlbnQtUmVxdWVzdEFuaW1hdGlvbkZyYW1lLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1SZXF1ZXN0QW5p
bWF0aW9uRnJhbWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA0NzEzYWRiNzgxZTg4NGQ1NTc1
YTE1YmIxNWNiMDY3YWY0ZmMwMTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtUmVxdWVzdEFuaW1hdGlvbkZyYW1lLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitUZXN0cyAnUmVxdWVzdEFuaW1hdGlvbkZyYW1lJyBU
aW1lbGluZSBldmVudCByZWNvcmRzLgorCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogVGltZWxp
bmVFdmVudC5SZXF1ZXN0QW5pbWF0aW9uRnJhbWUKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBUaW1l
bGluZUV2ZW50LlJlcXVlc3RBbmltYXRpb25GcmFtZS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUKK1N0
YXJ0aW5nIENhcHR1cmUuLi4KK0V2YWx1YXRpbmcuLi4KK1BBU1M6IHJlcXVlc3RBbmltYXRpb25G
cmFtZSBmaXJlZAorRmluaXNoIHJlY29yZGluZy4uLgorU3RvcHBpbmcgQ2FwdHVyZS4uLgorUEFT
UzogU2hvdWxkIGJlIDEgQW5pbWF0aW9uRnJhbWVSZXF1ZXN0ZWQgcmVjb3JkLgorREVUQUlMUzog
bnVtYmVyCitQQVNTOiBTY3JpcHRUaW1lbGluZVJlY29yZCBkZXRhaWxzIHNob3VsZCBiZSB0aGUg
cmVxdWVzdEFuaW1hdGlvbkZyYW1lIGlkZW50aWZpZXIuCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1SZXF1ZXN0QW5pbWF0aW9uRnJh
bWUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1S
ZXF1ZXN0QW5pbWF0aW9uRnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQ0ZjQwMzY2NzEzMjczNTYx
OTZmOGJmZjZkODcyZjYzNDIzZmM3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2ZW50LVJlcXVlc3RBbmltYXRpb25GcmFtZS5odG1s
CkBAIC0wLDAgKzEsNDggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvaW5zcGVjdG9yLXRl
c3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3RpbWVsaW5lLWV2ZW50
LXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0UmVxdWVz
dEFuaW1hdGlvbkZyYW1lKCkgeworICAgIGxldCByZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZGVudGlm
aWVyID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgVGVzdFBhZ2UuYWRk
UmVzdWx0KCJQQVNTOiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgZmlyZWQiKTsKKworICAgICAgICBz
ZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAgICAgIGZpbmlzaFJlY29yZGluZyh7cmVxdWVzdEFu
aW1hdGlvbkZyYW1lSWRlbnRpZmllcn0pOworICAgICAgICB9KTsKKyAgICB9KTsKK30KKworZnVu
Y3Rpb24gdGVzdCgpCit7CisgICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVBc3lu
Y1N1aXRlKCJUaW1lbGluZUV2ZW50LlJlcXVlc3RBbmltYXRpb25GcmFtZSIpOworCisgICAgc3Vp
dGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiVGltZWxpbmVFdmVudC5SZXF1ZXN0QW5p
bWF0aW9uRnJhbWUucmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwKKyAgICAgICAgYXN5bmMgdGVzdCgp
IHsKKyAgICAgICAgICAgIGxldCBwYWdlUmVjb3JkaW5nRGF0YSA9IGF3YWl0IEluc3BlY3RvclRl
c3QuVGltZWxpbmVFdmVudC5jYXB0dXJlVGltZWxpbmVXaXRoU2NyaXB0KGB0ZXN0UmVxdWVzdEFu
aW1hdGlvbkZyYW1lKClgKTsKKworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQodHlw
ZW9mIHBhZ2VSZWNvcmRpbmdEYXRhLnJlcXVlc3RBbmltYXRpb25GcmFtZUlkZW50aWZpZXIgPT09
ICJudW1iZXIiKTsKKworICAgICAgICAgICAgbGV0IHJlY29yZGluZyA9IFdJLnRpbWVsaW5lTWFu
YWdlci5hY3RpdmVSZWNvcmRpbmc7CisgICAgICAgICAgICBsZXQgc2NyaXB0VGltZWxpbmUgPSBy
ZWNvcmRpbmcudGltZWxpbmVzLmdldChXSS5UaW1lbGluZVJlY29yZC5UeXBlLlNjcmlwdCk7Cisg
ICAgICAgICAgICBsZXQgcmVjb3JkcyA9IHNjcmlwdFRpbWVsaW5lLnJlY29yZHMuZmlsdGVyKCh4
KSA9PiB4LmV2ZW50VHlwZSA9PT0gV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLkFu
aW1hdGlvbkZyYW1lUmVxdWVzdGVkKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0
RXF1YWwocmVjb3Jkcy5sZW5ndGgsIDEsICJTaG91bGQgYmUgMSBBbmltYXRpb25GcmFtZVJlcXVl
c3RlZCByZWNvcmQuIik7CisgICAgICAgICAgICBmb3IgKGxldCByZWNvcmQgb2YgcmVjb3Jkcykg
eworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJERVRBSUxTOiAiICsgdHlwZW9m
IHJlY29yZC5kZXRhaWxzKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVx
dWFsKHJlY29yZC5kZXRhaWxzLCBwYWdlUmVjb3JkaW5nRGF0YS5yZXF1ZXN0QW5pbWF0aW9uRnJh
bWVJZGVudGlmaWVyLCAiU2NyaXB0VGltZWxpbmVSZWNvcmQgZGV0YWlscyBzaG91bGQgYmUgdGhl
IHJlcXVlc3RBbmltYXRpb25GcmFtZSBpZGVudGlmaWVyLiIpOworICAgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKK30K
KworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgPHA+
VGVzdHMgJ1JlcXVlc3RBbmltYXRpb25GcmFtZScgVGltZWxpbmUgZXZlbnQgcmVjb3Jkcy48L3A+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGlt
ZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJGaXJlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1UaW1lckZpcmUtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmVlMzQ1MWIwMGQ3ZDRjYmI2ZjkyNzU3YWVjMGJmNWQ3ZjkzN2EwMWQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUt
ZXZlbnQtVGltZXJGaXJlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMzIEBACitUZXN0cyAnVGlt
ZXJGaXJlJyBUaW1lbGluZSBldmVudCByZWNvcmRzLgorCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0
ZTogVGltZWxpbmVFdmVudC5UaW1lckZpcmUKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBUaW1lbGlu
ZUV2ZW50LlRpbWVyRmlyZS5zZXRUaW1lb3V0CitTdGFydGluZyBDYXB0dXJlLi4uCitFdmFsdWF0
aW5nLi4uCitQQVNTOiBzZXRUaW1lb3V0IGZpcmVkCitGaW5pc2ggcmVjb3JkaW5nLi4uCitTdG9w
cGluZyBDYXB0dXJlLi4uCitQQVNTOiBTaG91bGQgYmUgMSBUaW1lckZpcmVkIHJlY29yZC4KK0RF
VEFJTFM6IG51bWJlcgorUEFTUzogU2NyaXB0VGltZWxpbmVSZWNvcmQgZGV0YWlscyBzaG91bGQg
YmUgdGhlIHNldFRpbWVvdXQgaWRlbnRpZmllci4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFRp
bWVsaW5lRXZlbnQuVGltZXJGaXJlLnNldEludGVydmFsCitTdGFydGluZyBDYXB0dXJlLi4uCitF
dmFsdWF0aW5nLi4uCitQQVNTOiBzZXRJbnRlcnZhbCBmaXJlZDogMQorUEFTUzogc2V0SW50ZXJ2
YWwgZmlyZWQ6IDIKK1BBU1M6IHNldEludGVydmFsIGZpcmVkOiAzCitGaW5pc2ggcmVjb3JkaW5n
Li4uCitTdG9wcGluZyBDYXB0dXJlLi4uCitQQVNTOiBTaG91bGQgYmUgMyBUaW1lckZpcmVkIHJl
Y29yZHMuCitERVRBSUxTOiBudW1iZXIKK1BBU1M6IFNjcmlwdFRpbWVsaW5lUmVjb3JkIGRldGFp
bHMgc2hvdWxkIGJlIHRoZSBzZXRJbnRlcnZhbCBpZGVudGlmaWVyLgorREVUQUlMUzogbnVtYmVy
CitQQVNTOiBTY3JpcHRUaW1lbGluZVJlY29yZCBkZXRhaWxzIHNob3VsZCBiZSB0aGUgc2V0SW50
ZXJ2YWwgaWRlbnRpZmllci4KK0RFVEFJTFM6IG51bWJlcgorUEFTUzogU2NyaXB0VGltZWxpbmVS
ZWNvcmQgZGV0YWlscyBzaG91bGQgYmUgdGhlIHNldEludGVydmFsIGlkZW50aWZpZXIuCisKKy0t
IFJ1bm5pbmcgdGVzdCBjYXNlOiBTYW5pdHlDaGVjaworUEFTUzogVGhlIHNldFRpbWVvdXQgaWRl
bnRpZmllciBhbmQgc2V0SW50ZXJ2YWwgaWRlbnRpZmllcnMgc2hvdWxkIGJlIGRpZmZlcmVudC4K
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2
ZW50LVRpbWVyRmlyZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVs
aW5lLWV2ZW50LVRpbWVyRmlyZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA3NWYwYTE4ZTlkMzFlNDYxMGVm
NWU3M2M2NTczNzA1OWJmMzcwNjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJGaXJlLmh0bWwKQEAgLTAsMCArMSw5
NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvdGltZWxpbmUtZXZlbnQtdXRpbGl0aWVzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3RTZXRUaW1lb3V0KCkgeworICAg
IGxldCBzZXRUaW1lb3V0SWRlbnRpZmllciA9IHNldFRpbWVvdXQoKCkgPT4geworICAgICAgICBU
ZXN0UGFnZS5hZGRSZXN1bHQoIlBBU1M6IHNldFRpbWVvdXQgZmlyZWQiKTsKKworICAgICAgICBy
ZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICAgICAgZmluaXNoUmVjb3JkaW5n
KHtzZXRUaW1lb3V0SWRlbnRpZmllcn0pOworICAgICAgICB9KTsKKyAgICB9KTsKK30KKworZnVu
Y3Rpb24gdGVzdFNldEludGVydmFsKCkgeworICAgIGxldCBjb3VudCA9IDA7CisKKyAgICBsZXQg
c2V0SW50ZXJ2YWxJZGVudGlmaWVyID0gc2V0SW50ZXJ2YWwoKCkgPT4geworICAgICAgICBjb3Vu
dCsrOworCisgICAgICAgIFRlc3RQYWdlLmFkZFJlc3VsdCgiUEFTUzogc2V0SW50ZXJ2YWwgZmly
ZWQ6ICIgKyBjb3VudCk7CisKKyAgICAgICAgaWYgKGNvdW50ID09PSAzKSB7CisgICAgICAgICAg
ICBjbGVhckludGVydmFsKHNldEludGVydmFsSWRlbnRpZmllcik7CisKKyAgICAgICAgICAgIHJl
cXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgICAgICAgICAgZmluaXNoUmVjb3Jk
aW5nKHtzZXRJbnRlcnZhbElkZW50aWZpZXJ9KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9
CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGxldCBzdWl0ZSA9IEluc3Bl
Y3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiVGltZWxpbmVFdmVudC5UaW1lckZpcmUiKTsKKwor
ICAgIGxldCB0aW1lb3V0SWRlbnRpZmllciA9IHVuZGVmaW5lZDsKKyAgICBsZXQgaW50ZXJ2YWxJ
ZGVudGlmaWVyID0gdW5kZWZpbmVkOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAg
ICBuYW1lOiAiVGltZWxpbmVFdmVudC5UaW1lckZpcmUuc2V0VGltZW91dCIsCisgICAgICAgIGFz
eW5jIHRlc3QoKSB7CisgICAgICAgICAgICBsZXQgcGFnZVJlY29yZGluZ0RhdGEgPSBhd2FpdCBJ
bnNwZWN0b3JUZXN0LlRpbWVsaW5lRXZlbnQuY2FwdHVyZVRpbWVsaW5lV2l0aFNjcmlwdChgdGVz
dFNldFRpbWVvdXQoKWApOworCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0eXBl
b2YgcGFnZVJlY29yZGluZ0RhdGEuc2V0VGltZW91dElkZW50aWZpZXIgPT09ICJudW1iZXIiKTsK
KyAgICAgICAgICAgIHRpbWVvdXRJZGVudGlmaWVyID0gcGFnZVJlY29yZGluZ0RhdGEuc2V0VGlt
ZW91dElkZW50aWZpZXI7CisKKyAgICAgICAgICAgIGxldCByZWNvcmRpbmcgPSBXSS50aW1lbGlu
ZU1hbmFnZXIuYWN0aXZlUmVjb3JkaW5nOworICAgICAgICAgICAgbGV0IHNjcmlwdFRpbWVsaW5l
ID0gcmVjb3JkaW5nLnRpbWVsaW5lcy5nZXQoV0kuVGltZWxpbmVSZWNvcmQuVHlwZS5TY3JpcHQp
OworICAgICAgICAgICAgbGV0IHJlY29yZHMgPSBzY3JpcHRUaW1lbGluZS5yZWNvcmRzLmZpbHRl
cigoeCkgPT4geC5ldmVudFR5cGUgPT09IFdJLlNjcmlwdFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlw
ZS5UaW1lckZpcmVkKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVj
b3Jkcy5sZW5ndGgsIDEsICJTaG91bGQgYmUgMSBUaW1lckZpcmVkIHJlY29yZC4iKTsKKyAgICAg
ICAgICAgIGZvciAobGV0IHJlY29yZCBvZiByZWNvcmRzKSB7CisgICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5sb2coIkRFVEFJTFM6ICIgKyB0eXBlb2YgcmVjb3JkLmRldGFpbHMpOworICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVjb3JkLmRldGFpbHMsIHRp
bWVvdXRJZGVudGlmaWVyLCAiU2NyaXB0VGltZWxpbmVSZWNvcmQgZGV0YWlscyBzaG91bGQgYmUg
dGhlIHNldFRpbWVvdXQgaWRlbnRpZmllci4iKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQor
ICAgIH0pOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiVGltZWxp
bmVFdmVudC5UaW1lckZpcmUuc2V0SW50ZXJ2YWwiLAorICAgICAgICBhc3luYyB0ZXN0KCkgewor
ICAgICAgICAgICAgbGV0IHBhZ2VSZWNvcmRpbmdEYXRhID0gYXdhaXQgSW5zcGVjdG9yVGVzdC5U
aW1lbGluZUV2ZW50LmNhcHR1cmVUaW1lbGluZVdpdGhTY3JpcHQoYHRlc3RTZXRJbnRlcnZhbCgp
YCk7CisKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHR5cGVvZiBwYWdlUmVjb3Jk
aW5nRGF0YS5zZXRJbnRlcnZhbElkZW50aWZpZXIgPT09ICJudW1iZXIiKTsKKyAgICAgICAgICAg
IGludGVydmFsSWRlbnRpZmllciA9IHBhZ2VSZWNvcmRpbmdEYXRhLnNldEludGVydmFsSWRlbnRp
ZmllcjsKKworICAgICAgICAgICAgbGV0IHJlY29yZGluZyA9IFdJLnRpbWVsaW5lTWFuYWdlci5h
Y3RpdmVSZWNvcmRpbmc7CisgICAgICAgICAgICBsZXQgc2NyaXB0VGltZWxpbmUgPSByZWNvcmRp
bmcudGltZWxpbmVzLmdldChXSS5UaW1lbGluZVJlY29yZC5UeXBlLlNjcmlwdCk7CisgICAgICAg
ICAgICBsZXQgcmVjb3JkcyA9IHNjcmlwdFRpbWVsaW5lLnJlY29yZHMuZmlsdGVyKCh4KSA9PiB4
LmV2ZW50VHlwZSA9PT0gV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlRpbWVyRmly
ZWQpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZWNvcmRzLmxlbmd0
aCwgMywgIlNob3VsZCBiZSAzIFRpbWVyRmlyZWQgcmVjb3Jkcy4iKTsKKyAgICAgICAgICAgIGZv
ciAobGV0IHJlY29yZCBvZiByZWNvcmRzKSB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5sb2coIkRFVEFJTFM6ICIgKyB0eXBlb2YgcmVjb3JkLmRldGFpbHMpOworICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVjb3JkLmRldGFpbHMsIHBhZ2VSZWNvcmRp
bmdEYXRhLnNldEludGVydmFsSWRlbnRpZmllciwgIlNjcmlwdFRpbWVsaW5lUmVjb3JkIGRldGFp
bHMgc2hvdWxkIGJlIHRoZSBzZXRJbnRlcnZhbCBpZGVudGlmaWVyLiIpOworICAgICAgICAgICAg
fQorICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAg
IG5hbWU6ICJTYW5pdHlDaGVjayIsCisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQodGltZW91dElkZW50aWZpZXIgIT09IGludGVydmFs
SWRlbnRpZmllciwgIlRoZSBzZXRUaW1lb3V0IGlkZW50aWZpZXIgYW5kIHNldEludGVydmFsIGlk
ZW50aWZpZXJzIHNob3VsZCBiZSBkaWZmZXJlbnQuIik7CisgICAgICAgIH0KKyAgICB9KTsKKwor
ICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOworfQorCis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKyAgICA8cD5UZXN0cyAnVGltZXJGaXJlJyBU
aW1lbGluZSBldmVudCByZWNvcmRzLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1UaW1lckluc3Rh
bGwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5l
LWV2ZW50LVRpbWVySW5zdGFsbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzAzOWVlNTRiYmRl
Y2M3YjQ3YjZiNmVlMWFhZjQwZjk0NjUyMWM1NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1UaW1lckluc3RhbGwtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMjkgQEAKK1Rlc3RzICdUaW1lckluc3RhbGwnIFRpbWVsaW5lIGV2
ZW50IHJlY29yZHMuCisKKworPT0gUnVubmluZyB0ZXN0IHN1aXRlOiBUaW1lbGluZUV2ZW50LlRp
bWVySW5zdGFsbAorLS0gUnVubmluZyB0ZXN0IGNhc2U6IFRpbWVsaW5lRXZlbnQuVGltZXJJbnN0
YWxsLnNldFRpbWVvdXQKK1N0YXJ0aW5nIENhcHR1cmUuLi4KK0V2YWx1YXRpbmcuLi4KK1BBU1M6
IHNldFRpbWVvdXQgZmlyZWQKK0ZpbmlzaCByZWNvcmRpbmcuLi4KK1N0b3BwaW5nIENhcHR1cmUu
Li4KK1BBU1M6IFNob3VsZCBiZSAxIFRpbWVySW5zdGFsbGVkIHJlY29yZC4KK0RFVEFJTFM6IHsi
dGltZXJJZCI6IjxmaWx0ZXJlZD4iLCJ0aW1lb3V0IjoxMCwicmVwZWF0aW5nIjpmYWxzZX0KK1BB
U1M6IFNjcmlwdFRpbWVsaW5lUmVjb3JkIGRldGFpbHMgc2hvdWxkIGJlIHRoZSBzZXRUaW1lb3V0
IGlkZW50aWZpZXIuCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBUaW1lbGluZUV2ZW50LlRpbWVy
SW5zdGFsbC5zZXRJbnRlcnZhbAorU3RhcnRpbmcgQ2FwdHVyZS4uLgorRXZhbHVhdGluZy4uLgor
UEFTUzogc2V0SW50ZXJ2YWwgZmlyZWQ6IDEKK1BBU1M6IHNldEludGVydmFsIGZpcmVkOiAyCitQ
QVNTOiBzZXRJbnRlcnZhbCBmaXJlZDogMworRmluaXNoIHJlY29yZGluZy4uLgorU3RvcHBpbmcg
Q2FwdHVyZS4uLgorUEFTUzogU2hvdWxkIGJlIDEgVGltZXJJbnN0YWxsZWQgcmVjb3JkLgorREVU
QUlMUzogeyJ0aW1lcklkIjoiPGZpbHRlcmVkPiIsInRpbWVvdXQiOjUsInJlcGVhdGluZyI6dHJ1
ZX0KK1BBU1M6IFNjcmlwdFRpbWVsaW5lUmVjb3JkIGRldGFpbHMgc2hvdWxkIGJlIHRoZSBzZXRJ
bnRlcnZhbCBpZGVudGlmaWVyLgorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogU2FuaXR5Q2hlY2sK
K1BBU1M6IFRoZSBzZXRUaW1lb3V0IGlkZW50aWZpZXIgYW5kIHNldEludGVydmFsIGlkZW50aWZp
ZXJzIHNob3VsZCBiZSBkaWZmZXJlbnQuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1UaW1lckluc3RhbGwuaHRtbCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1UaW1lckluc3RhbGwuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5lMDY5NGRmZDJmNGQ3M2JjYjVlNjcxM2Y2MWM3YjVjNTNkNmZlNGY2Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWV2
ZW50LVRpbWVySW5zdGFsbC5odG1sCkBAIC0wLDAgKzEsMTAyIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
cmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy90aW1lbGluZS1ldmVudC11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
KworZnVuY3Rpb24gdGVzdFNldFRpbWVvdXQoKSB7CisgICAgbGV0IHNldFRpbWVvdXRJZGVudGlm
aWVyID0gc2V0VGltZW91dCgoKSA9PiB7CisgICAgICAgIFRlc3RQYWdlLmFkZFJlc3VsdCgiUEFT
Uzogc2V0VGltZW91dCBmaXJlZCIpOworCisgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgo
KSA9PiB7CisgICAgICAgICAgICBmaW5pc2hSZWNvcmRpbmcoe3NldFRpbWVvdXRJZGVudGlmaWVy
fSk7CisgICAgICAgIH0pOworICAgIH0sIDEwKTsKK30KKworZnVuY3Rpb24gdGVzdFNldEludGVy
dmFsKCkgeworICAgIGxldCBjb3VudCA9IDA7CisKKyAgICBsZXQgc2V0SW50ZXJ2YWxJZGVudGlm
aWVyID0gc2V0SW50ZXJ2YWwoKCkgPT4geworICAgICAgICBjb3VudCsrOworCisgICAgICAgIFRl
c3RQYWdlLmFkZFJlc3VsdCgiUEFTUzogc2V0SW50ZXJ2YWwgZmlyZWQ6ICIgKyBjb3VudCk7CisK
KyAgICAgICAgaWYgKGNvdW50ID09PSAzKSB7CisgICAgICAgICAgICBjbGVhckludGVydmFsKHNl
dEludGVydmFsSWRlbnRpZmllcik7CisKKyAgICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFt
ZSgoKSA9PiB7CisgICAgICAgICAgICAgICAgZmluaXNoUmVjb3JkaW5nKHtzZXRJbnRlcnZhbElk
ZW50aWZpZXJ9KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9CisgICAgfSwgNSk7Cit9CisK
K2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGxldCBzdWl0ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRl
QXN5bmNTdWl0ZSgiVGltZWxpbmVFdmVudC5UaW1lckluc3RhbGwiKTsKKworICAgIGxldCB0aW1l
b3V0SWRlbnRpZmllciA9IHVuZGVmaW5lZDsKKyAgICBsZXQgaW50ZXJ2YWxJZGVudGlmaWVyID0g
dW5kZWZpbmVkOworCisgICAgZnVuY3Rpb24ganNvbkZpbHRlcihrZXksIHZhbHVlKSB7CisgICAg
ICAgIGlmIChrZXkgPT09ICJ0aW1lcklkIikKKyAgICAgICAgICAgIHJldHVybiAiPGZpbHRlcmVk
PiI7CisgICAgICAgIHJldHVybiB2YWx1ZTsKKyAgICB9CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2Fz
ZSh7CisgICAgICAgIG5hbWU6ICJUaW1lbGluZUV2ZW50LlRpbWVySW5zdGFsbC5zZXRUaW1lb3V0
IiwKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAgICAgICAgICAgIGxldCBwYWdlUmVjb3JkaW5n
RGF0YSA9IGF3YWl0IEluc3BlY3RvclRlc3QuVGltZWxpbmVFdmVudC5jYXB0dXJlVGltZWxpbmVX
aXRoU2NyaXB0KGB0ZXN0U2V0VGltZW91dCgpYCk7CisKKyAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYXNzZXJ0KHR5cGVvZiBwYWdlUmVjb3JkaW5nRGF0YS5zZXRUaW1lb3V0SWRlbnRpZmllciA9
PT0gIm51bWJlciIpOworICAgICAgICAgICAgdGltZW91dElkZW50aWZpZXIgPSBwYWdlUmVjb3Jk
aW5nRGF0YS5zZXRUaW1lb3V0SWRlbnRpZmllcjsKKworICAgICAgICAgICAgbGV0IHJlY29yZGlu
ZyA9IFdJLnRpbWVsaW5lTWFuYWdlci5hY3RpdmVSZWNvcmRpbmc7CisgICAgICAgICAgICBsZXQg
c2NyaXB0VGltZWxpbmUgPSByZWNvcmRpbmcudGltZWxpbmVzLmdldChXSS5UaW1lbGluZVJlY29y
ZC5UeXBlLlNjcmlwdCk7CisgICAgICAgICAgICBsZXQgcmVjb3JkcyA9IHNjcmlwdFRpbWVsaW5l
LnJlY29yZHMuZmlsdGVyKCh4KSA9PiB4LmV2ZW50VHlwZSA9PT0gV0kuU2NyaXB0VGltZWxpbmVS
ZWNvcmQuRXZlbnRUeXBlLlRpbWVySW5zdGFsbGVkKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZXhwZWN0RXF1YWwocmVjb3Jkcy5sZW5ndGgsIDEsICJTaG91bGQgYmUgMSBUaW1lckluc3Rh
bGxlZCByZWNvcmQuIik7CisgICAgICAgICAgICBmb3IgKGxldCByZWNvcmQgb2YgcmVjb3Jkcykg
eworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJERVRBSUxTOiAiICsgSlNPTi5z
dHJpbmdpZnkocmVjb3JkLmRldGFpbHMsIGpzb25GaWx0ZXIpKTsKKyAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJlY29yZC5kZXRhaWxzLnRpbWVySWQsIHRpbWVvdXRJ
ZGVudGlmaWVyLCAiU2NyaXB0VGltZWxpbmVSZWNvcmQgZGV0YWlscyBzaG91bGQgYmUgdGhlIHNl
dFRpbWVvdXQgaWRlbnRpZmllci4iKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0p
OworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiVGltZWxpbmVFdmVu
dC5UaW1lckluc3RhbGwuc2V0SW50ZXJ2YWwiLAorICAgICAgICBhc3luYyB0ZXN0KCkgeworICAg
ICAgICAgICAgbGV0IHBhZ2VSZWNvcmRpbmdEYXRhID0gYXdhaXQgSW5zcGVjdG9yVGVzdC5UaW1l
bGluZUV2ZW50LmNhcHR1cmVUaW1lbGluZVdpdGhTY3JpcHQoYHRlc3RTZXRJbnRlcnZhbCgpYCk7
CisKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHR5cGVvZiBwYWdlUmVjb3JkaW5n
RGF0YS5zZXRJbnRlcnZhbElkZW50aWZpZXIgPT09ICJudW1iZXIiKTsKKyAgICAgICAgICAgIGlu
dGVydmFsSWRlbnRpZmllciA9IHBhZ2VSZWNvcmRpbmdEYXRhLnNldEludGVydmFsSWRlbnRpZmll
cjsKKworICAgICAgICAgICAgbGV0IHJlY29yZGluZyA9IFdJLnRpbWVsaW5lTWFuYWdlci5hY3Rp
dmVSZWNvcmRpbmc7CisgICAgICAgICAgICBsZXQgc2NyaXB0VGltZWxpbmUgPSByZWNvcmRpbmcu
dGltZWxpbmVzLmdldChXSS5UaW1lbGluZVJlY29yZC5UeXBlLlNjcmlwdCk7CisgICAgICAgICAg
ICBsZXQgcmVjb3JkcyA9IHNjcmlwdFRpbWVsaW5lLnJlY29yZHMuZmlsdGVyKCh4KSA9PiB4LmV2
ZW50VHlwZSA9PT0gV0kuU2NyaXB0VGltZWxpbmVSZWNvcmQuRXZlbnRUeXBlLlRpbWVySW5zdGFs
bGVkKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVjb3Jkcy5sZW5n
dGgsIDEsICJTaG91bGQgYmUgMSBUaW1lckluc3RhbGxlZCByZWNvcmQuIik7CisgICAgICAgICAg
ICBmb3IgKGxldCByZWNvcmQgb2YgcmVjb3JkcykgeworICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QubG9nKCJERVRBSUxTOiAiICsgSlNPTi5zdHJpbmdpZnkocmVjb3JkLmRldGFpbHMsIGpz
b25GaWx0ZXIpKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHJl
Y29yZC5kZXRhaWxzLnRpbWVySWQsIHBhZ2VSZWNvcmRpbmdEYXRhLnNldEludGVydmFsSWRlbnRp
ZmllciwgIlNjcmlwdFRpbWVsaW5lUmVjb3JkIGRldGFpbHMgc2hvdWxkIGJlIHRoZSBzZXRJbnRl
cnZhbCBpZGVudGlmaWVyLiIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfSk7CisK
KyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJTYW5pdHlDaGVjayIsCisg
ICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRo
YXQodGltZW91dElkZW50aWZpZXIgIT09IGludGVydmFsSWRlbnRpZmllciwgIlRoZSBzZXRUaW1l
b3V0IGlkZW50aWZpZXIgYW5kIHNldEludGVydmFsIGlkZW50aWZpZXJzIHNob3VsZCBiZSBkaWZm
ZXJlbnQuIik7CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLnJ1blRlc3RDYXNlc0Fu
ZEZpbmlzaCgpOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVz
dCgpIj4KKyAgICA8cD5UZXN0cyAnVGltZXJJbnN0YWxsJyBUaW1lbGluZSBldmVudCByZWNvcmRz
LjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS90aW1lbGluZS1ldmVudC1UaW1lclJlbW92ZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJSZW1vdmUtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY0ZmI5NzM2ZjdiYjg2ODk4OGExYTg5OTdlMTc1ZDU5NWE1
OGY5MDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUv
dGltZWxpbmUtZXZlbnQtVGltZXJSZW1vdmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjggQEAK
K1Rlc3RzICdUaW1lclJlbW92ZScgVGltZWxpbmUgZXZlbnQgcmVjb3Jkcy4KKworCis9PSBSdW5u
aW5nIHRlc3Qgc3VpdGU6IFRpbWVsaW5lRXZlbnQuVGltZXJSZW1vdmUKKy0tIFJ1bm5pbmcgdGVz
dCBjYXNlOiBUaW1lbGluZUV2ZW50LlRpbWVyUmVtb3ZlLnNldFRpbWVvdXQKK1N0YXJ0aW5nIENh
cHR1cmUuLi4KK0V2YWx1YXRpbmcuLi4KK0ZpbmlzaCByZWNvcmRpbmcuLi4KK1N0b3BwaW5nIENh
cHR1cmUuLi4KK1BBU1M6IFNob3VsZCBiZSAxIFRpbWVyUmVtb3ZlZCByZWNvcmQuCitERVRBSUxT
OiBudW1iZXIKK1BBU1M6IFNjcmlwdFRpbWVsaW5lUmVjb3JkIGRldGFpbHMgc2hvdWxkIGJlIHRo
ZSBzZXRUaW1lb3V0IGlkZW50aWZpZXIuCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBUaW1lbGlu
ZUV2ZW50LlRpbWVyUmVtb3ZlLnNldEludGVydmFsCitTdGFydGluZyBDYXB0dXJlLi4uCitFdmFs
dWF0aW5nLi4uCitQQVNTOiBzZXRJbnRlcnZhbCBmaXJlZDogMQorUEFTUzogc2V0SW50ZXJ2YWwg
ZmlyZWQ6IDIKK1BBU1M6IHNldEludGVydmFsIGZpcmVkOiAzCitGaW5pc2ggcmVjb3JkaW5nLi4u
CitTdG9wcGluZyBDYXB0dXJlLi4uCitQQVNTOiBTaG91bGQgYmUgMSBUaW1lclJlbW92ZWQgcmVj
b3JkLgorREVUQUlMUzogbnVtYmVyCitQQVNTOiBTY3JpcHRUaW1lbGluZVJlY29yZCBkZXRhaWxz
IHNob3VsZCBiZSB0aGUgc2V0SW50ZXJ2YWwgaWRlbnRpZmllci4KKworLS0gUnVubmluZyB0ZXN0
IGNhc2U6IFNhbml0eUNoZWNrCitQQVNTOiBUaGUgc2V0VGltZW91dCBpZGVudGlmaWVyIGFuZCBz
ZXRJbnRlcnZhbCBpZGVudGlmaWVycyBzaG91bGQgYmUgZGlmZmVyZW50LgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJSZW1v
dmUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1ldmVudC1U
aW1lclJlbW92ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjNzY1ZmQxZTM4Nzg4YmJmMDY3OWI0OTllZGYw
OTNkZDM2M2NjYjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGlt
ZWxpbmUvdGltZWxpbmUtZXZlbnQtVGltZXJSZW1vdmUuaHRtbApAQCAtMCwwICsxLDk4IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuL3Jlc291cmNlcy90aW1lbGluZS1ldmVudC11dGlsaXRpZXMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gdGVzdFNldFRpbWVvdXQoKSB7CisgICAgbGV0IHNl
dFRpbWVvdXRJZGVudGlmaWVyID0gc2V0VGltZW91dCgoKSA9PiB7CisgICAgICAgIFRlc3RQYWdl
LmFkZFJlc3VsdCgiRkFJTDogc2V0VGltZW91dCBmaXJlZCIpOworICAgIH0pOworCisgICAgY2xl
YXJUaW1lb3V0KHNldFRpbWVvdXRJZGVudGlmaWVyKTsKKworICAgIHJlcXVlc3RBbmltYXRpb25G
cmFtZSgoKSA9PiB7CisgICAgICAgIGZpbmlzaFJlY29yZGluZyh7c2V0VGltZW91dElkZW50aWZp
ZXJ9KTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gdGVzdFNldEludGVydmFsKCkgeworICAgIGxl
dCBjb3VudCA9IDA7CisKKyAgICBsZXQgc2V0SW50ZXJ2YWxJZGVudGlmaWVyID0gc2V0SW50ZXJ2
YWwoKCkgPT4geworICAgICAgICBjb3VudCsrOworCisgICAgICAgIFRlc3RQYWdlLmFkZFJlc3Vs
dCgiUEFTUzogc2V0SW50ZXJ2YWwgZmlyZWQ6ICIgKyBjb3VudCk7CisKKyAgICAgICAgaWYgKGNv
dW50ID09PSAzKSB7CisgICAgICAgICAgICBjbGVhckludGVydmFsKHNldEludGVydmFsSWRlbnRp
Zmllcik7CisKKyAgICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAg
ICAgICAgICAgICAgZmluaXNoUmVjb3JkaW5nKHtzZXRJbnRlcnZhbElkZW50aWZpZXJ9KTsKKyAg
ICAgICAgICAgIH0pOworICAgICAgICB9CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQor
eworICAgIGxldCBzdWl0ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiVGltZWxp
bmVFdmVudC5UaW1lclJlbW92ZSIpOworCisgICAgbGV0IHRpbWVvdXRJZGVudGlmaWVyID0gdW5k
ZWZpbmVkOworICAgIGxldCBpbnRlcnZhbElkZW50aWZpZXIgPSB1bmRlZmluZWQ7CisKKyAgICBz
dWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJUaW1lbGluZUV2ZW50LlRpbWVyUmVt
b3ZlLnNldFRpbWVvdXQiLAorICAgICAgICBhc3luYyB0ZXN0KCkgeworICAgICAgICAgICAgbGV0
IHBhZ2VSZWNvcmRpbmdEYXRhID0gYXdhaXQgSW5zcGVjdG9yVGVzdC5UaW1lbGluZUV2ZW50LmNh
cHR1cmVUaW1lbGluZVdpdGhTY3JpcHQoYHRlc3RTZXRUaW1lb3V0KClgKTsKKworICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQodHlwZW9mIHBhZ2VSZWNvcmRpbmdEYXRhLnNldFRpbWVv
dXRJZGVudGlmaWVyID09PSAibnVtYmVyIik7CisgICAgICAgICAgICB0aW1lb3V0SWRlbnRpZmll
ciA9IHBhZ2VSZWNvcmRpbmdEYXRhLnNldFRpbWVvdXRJZGVudGlmaWVyOworCisgICAgICAgICAg
ICBsZXQgcmVjb3JkaW5nID0gV0kudGltZWxpbmVNYW5hZ2VyLmFjdGl2ZVJlY29yZGluZzsKKyAg
ICAgICAgICAgIGxldCBzY3JpcHRUaW1lbGluZSA9IHJlY29yZGluZy50aW1lbGluZXMuZ2V0KFdJ
LlRpbWVsaW5lUmVjb3JkLlR5cGUuU2NyaXB0KTsKKyAgICAgICAgICAgIGxldCByZWNvcmRzID0g
c2NyaXB0VGltZWxpbmUucmVjb3Jkcy5maWx0ZXIoKHgpID0+IHguZXZlbnRUeXBlID09PSBXSS5T
Y3JpcHRUaW1lbGluZVJlY29yZC5FdmVudFR5cGUuVGltZXJSZW1vdmVkKTsKKyAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocmVjb3Jkcy5sZW5ndGgsIDEsICJTaG91bGQgYmUg
MSBUaW1lclJlbW92ZWQgcmVjb3JkLiIpOworICAgICAgICAgICAgZm9yIChsZXQgcmVjb3JkIG9m
IHJlY29yZHMpIHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiREVUQUlMUzog
IiArIHR5cGVvZiByZWNvcmQuZGV0YWlscyk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5leHBlY3RFcXVhbChyZWNvcmQuZGV0YWlscywgdGltZW91dElkZW50aWZpZXIsICJTY3JpcHRU
aW1lbGluZVJlY29yZCBkZXRhaWxzIHNob3VsZCBiZSB0aGUgc2V0VGltZW91dCBpZGVudGlmaWVy
LiIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5hZGRU
ZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJUaW1lbGluZUV2ZW50LlRpbWVyUmVtb3ZlLnNldElu
dGVydmFsIiwKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAgICAgICAgICAgIGxldCBwYWdlUmVj
b3JkaW5nRGF0YSA9IGF3YWl0IEluc3BlY3RvclRlc3QuVGltZWxpbmVFdmVudC5jYXB0dXJlVGlt
ZWxpbmVXaXRoU2NyaXB0KGB0ZXN0U2V0SW50ZXJ2YWwoKWApOworCisgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFzc2VydCh0eXBlb2YgcGFnZVJlY29yZGluZ0RhdGEuc2V0SW50ZXJ2YWxJZGVu
dGlmaWVyID09PSAibnVtYmVyIik7CisgICAgICAgICAgICBpbnRlcnZhbElkZW50aWZpZXIgPSBw
YWdlUmVjb3JkaW5nRGF0YS5zZXRJbnRlcnZhbElkZW50aWZpZXI7CisKKyAgICAgICAgICAgIGxl
dCByZWNvcmRpbmcgPSBXSS50aW1lbGluZU1hbmFnZXIuYWN0aXZlUmVjb3JkaW5nOworICAgICAg
ICAgICAgbGV0IHNjcmlwdFRpbWVsaW5lID0gcmVjb3JkaW5nLnRpbWVsaW5lcy5nZXQoV0kuVGlt
ZWxpbmVSZWNvcmQuVHlwZS5TY3JpcHQpOworICAgICAgICAgICAgbGV0IHJlY29yZHMgPSBzY3Jp
cHRUaW1lbGluZS5yZWNvcmRzLmZpbHRlcigoeCkgPT4geC5ldmVudFR5cGUgPT09IFdJLlNjcmlw
dFRpbWVsaW5lUmVjb3JkLkV2ZW50VHlwZS5UaW1lclJlbW92ZWQpOworICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5leHBlY3RFcXVhbChyZWNvcmRzLmxlbmd0aCwgMSwgIlNob3VsZCBiZSAxIFRp
bWVyUmVtb3ZlZCByZWNvcmQuIik7CisgICAgICAgICAgICBmb3IgKGxldCByZWNvcmQgb2YgcmVj
b3JkcykgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJERVRBSUxTOiAiICsg
dHlwZW9mIHJlY29yZC5kZXRhaWxzKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4
cGVjdEVxdWFsKHJlY29yZC5kZXRhaWxzLCBwYWdlUmVjb3JkaW5nRGF0YS5zZXRJbnRlcnZhbElk
ZW50aWZpZXIsICJTY3JpcHRUaW1lbGluZVJlY29yZCBkZXRhaWxzIHNob3VsZCBiZSB0aGUgc2V0
SW50ZXJ2YWwgaWRlbnRpZmllci4iKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0p
OworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiU2FuaXR5Q2hlY2si
LAorICAgICAgICBhc3luYyB0ZXN0KCkgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBl
Y3RUaGF0KHRpbWVvdXRJZGVudGlmaWVyICE9PSBpbnRlcnZhbElkZW50aWZpZXIsICJUaGUgc2V0
VGltZW91dCBpZGVudGlmaWVyIGFuZCBzZXRJbnRlcnZhbCBpZGVudGlmaWVycyBzaG91bGQgYmUg
ZGlmZmVyZW50LiIpOworICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5ydW5UZXN0Q2Fz
ZXNBbmRGaW5pc2goKTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1
blRlc3QoKSI+CisgICAgPHA+VGVzdHMgJ1RpbWVyUmVtb3ZlJyBUaW1lbGluZSBldmVudCByZWNv
cmRzLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>