<?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>200285</bug_id>
          
          <creation_ts>2019-07-30 15:56:42 -0700</creation_ts>
          <short_desc>Web Inspector: DOM: add a special breakpoint for &quot;All Events&quot;</short_desc>
          <delta_ts>2019-08-03 12:01:22 -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>
          
          
          <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="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1557112</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-07-30 15:56:42 -0700</bug_when>
    <thetext>Rather than have to create an event breakpoint per event, there should be a way to enable/disable a special breakpoint for all events (just like &quot;All Requests&quot;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557202</commentid>
    <comment_count>1</comment_count>
      <attachid>375212</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-07-31 00:02:24 -0700</bug_when>
    <thetext>Created attachment 375212
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557204</commentid>
    <comment_count>2</comment_count>
      <attachid>375213</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-07-31 00:03:31 -0700</bug_when>
    <thetext>Created attachment 375213
[Image] After Patch is applied (context menu)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557205</commentid>
    <comment_count>3</comment_count>
      <attachid>375214</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-07-31 00:03:43 -0700</bug_when>
    <thetext>Created attachment 375214
[Image] After Patch is applied</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557206</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-07-31 00:04:17 -0700</bug_when>
    <thetext>This patch modifies the inspector protocol. Please ensure that any frontend changes appropriately use feature checks for new protocol features.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1557208</commentid>
    <comment_count>5</comment_count>
      <attachid>375215</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-07-31 00:11:10 -0700</bug_when>
    <thetext>Created attachment 375215
Patch

Adjust [I] icon to be slightly thinner.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558272</commentid>
    <comment_count>6</comment_count>
      <attachid>375215</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-08-03 01:19:18 -0700</bug_when>
    <thetext>Comment on attachment 375215
Patch

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

r=me. Nice tests!

&gt; Source/JavaScriptCore/ChangeLog:10
&gt; +        situations where the event name isn&apos;t known, or where one simply want&apos;s to pause on the next

Typo: &quot;want&apos;s&quot; =&gt; &quot;wants&quot;

&gt; Source/WebCore/inspector/agents/InspectorDOMDebuggerAgent.cpp:501
&gt; +    m_debuggerAgent-&gt;schedulePauseOnNextStatement(oneShot ? Inspector::DebuggerFrontendDispatcher::Reason::Timeout : Inspector::DebuggerFrontendDispatcher::Reason::Interval, nullptr);

Style: Pull `reason` out into a local to make the line easier to read.

&gt; Source/WebCore/inspector/agents/InspectorDOMDebuggerAgent.h:109
&gt; +    HashSet&lt;String&gt; m_listenerBreakpoints;

Much better!

&gt; Source/WebCore/inspector/agents/InspectorDOMDebuggerAgent.h:118
&gt; +

Style: Remove this empty line to sidle it up against the other pauseOnAll bool!

&gt; Source/WebInspectorUI/UserInterface/Controllers/DOMDebuggerManager.js:35
&gt; +        this._listenerBreakpoints = [];

Style: Put `this._urlBreakpoints` next to this? I&apos;d find readability better.

&gt; Source/WebInspectorUI/UserInterface/Controllers/DOMDebuggerManager.js:107
&gt; +                switch (breakpoint.type) {

This switch looks like migration code. It should have a comment as such.

&gt; Source/WebInspectorUI/UserInterface/Controllers/DOMDebuggerManager.js:176
&gt; +            if (!this._allRequestsBreakpoint.disabled)

Again with the order. It seems more logical to me to group these as:

    • Special Breakpoints
    • Listener Breakpoints list
    * URL Breakpoints list

&gt; Source/WebInspectorUI/UserInterface/Controllers/DOMDebuggerManager.js:657
&gt; +            if (!DOMDebuggerManager.supportsAllListenersBreakpoint())
&gt; +                return;

I suspect this shouldn&apos;t happen and could be an assert? Or maybe if you have this set on trunk and then open the inspector for an older device?

&gt; Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js:552
&gt; +            else if (breakpoint === WI.domDebuggerManager.allListenersBreakpoint)
&gt; +                options.title = WI.UIString(&quot;All Events&quot;);

This just admits how weird it is to call this `Listeners` when we show &quot;Events&quot; to the user. &quot;All Events&quot; might be a little generic. It could be &quot;All Event Listeners&quot; because it technically doesn&apos;t pause on events that don&apos;t have handlers. But &quot;All Events&quot; sounds good to me.

&gt; Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js:1594
&gt; +            contextMenu.appendSeparator();

I&apos;d remove this separate and keep the various timers together.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558295</commentid>
    <comment_count>7</comment_count>
      <attachid>375215</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-08-03 10:53:46 -0700</bug_when>
    <thetext>Comment on attachment 375215
Patch

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Controllers/DOMDebuggerManager.js:657
&gt;&gt; +                return;
&gt; 
&gt; I suspect this shouldn&apos;t happen and could be an assert? Or maybe if you have this set on trunk and then open the inspector for an older device?

The case you described is exactly the case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558296</commentid>
    <comment_count>8</comment_count>
      <attachid>375487</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-08-03 10:54:34 -0700</bug_when>
    <thetext>Created attachment 375487
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558302</commentid>
    <comment_count>9</comment_count>
      <attachid>375487</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-03 12:00:07 -0700</bug_when>
    <thetext>Comment on attachment 375487
Patch

Clearing flags on attachment: 375487

Committed r248201: &lt;https://trac.webkit.org/changeset/248201&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558303</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-03 12:00:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558304</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-03 12:01:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/53903843&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375212</attachid>
            <date>2019-07-31 00:02:24 -0700</date>
            <delta_ts>2019-07-31 00:11:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200285-20190731000223.patch</filename>
            <type>text/plain</type>
            <size>165958</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGM1ZmQzMTgxYjgyNzFlY2M2NjEyNzNmY2ZhYTI3
N2RjNTYwYjY2YzMuLjg3ZjJjZTdhMWJkYzMyYTU1OTdhYmFmYWVlZjViODU3NDRlMGUzNDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE5LTA3LTMxICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBE
T006IGFkZCBhIHNwZWNpYWwgYnJlYWtwb2ludCBmb3IgIkFsbCBFdmVudHMiCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDAyODUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaW1pbGFyIHRvIHRoZSBleGlz
dGluZyAiQWxsIFJlcXVlc3RzIiBicmVha3BvaW50LCB0aGVyZSBzaG91bGQgYmUgYSB3YXkgdG8g
c2V0IGEgYnJlYWtwb2ludAorICAgICAgICB0aGF0IHdvdWxkIHBhdXNlIGZvciBhbnkgRE9NIGV2
ZW50LCByZWdhcmRsZXNzIG9mIHRoZSBldmVudCdzIG5hbWUuIFRoaXMgaXMgdXNlZnVsIGZvcgor
ICAgICAgICBzaXR1YXRpb25zIHdoZXJlIHRoZSBldmVudCBuYW1lIGlzbid0IGtub3duLCBvciB3
aGVyZSBvbmUgc2ltcGx5IHdhbnQncyB0byBwYXVzZSBvbiB0aGUgbmV4dAorICAgICAgICBlbnRy
eSB0byB0aGUgZXZlbnQgbG9vcC4KKworICAgICAgICBBbG9uZyB0aGVzZSBsaW5lcywgbWFrZSB0
aGUgInJlcXVlc3RBbmltYXRpb25GcmFtZSIsICJzZXRUaW1lb3V0IiwgYW5kICJzZXRJbnRlcnZh
bCIKKyAgICAgICAgZXZlbnQgYnJlYWtwb2ludHMgaW50byBzcGVjaWFsIGJyZWFrcG9pbnRzIHRo
YXQgY2FuIGJlIGFkZGVkL3JlbW92ZWQgdmlhIHRoZSBjcmVhdGUKKyAgICAgICAgYnJlYWtwb2lu
dCBjb250ZXh0IG1lbnUuIFRoaXMgc2ltcGxpZmllcyB0aGUgcHJvY2VzcyBmb3Igc2V0dGluZyB0
aGVzZSBicmVha3BvaW50cywgYW5kIGFsc28KKyAgICAgICAgbWFrZXMgdGhlbSBtb3JlIGRpc2Nv
dmVyYWJsZSAobW9zdCBwZW9wbGUgd291bGRuJ3QgY29uc2lkZXIgdGhlbSB0byBiZSAiZXZlbnRz
IikuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvdG9jb2wvRGVidWdnZXIuanNvbjoKKyAgICAg
ICAgIC0gUmVuYW1lIHRoZSBgRXZlbnRMaXN0ZW5lcmAgcGF1c2UgcmVhc29uIHRvIGBMaXN0ZW5l
cmAuCisgICAgICAgICAtIFNwbGl0IHRoZSBgVGltZXJgIHBhdXNlIHJlYXNvbiBpbnRvIGBJbnRl
cnZhbGAgYW5kIGBUaW1lb3V0YC4KKworICAgICAgICAqIGluc3BlY3Rvci9wcm90b2NvbC9ET01E
ZWJ1Z2dlci5qc29uOgorICAgICAgICAgLSBTcGxpdCB0aGUgYHRpbWVyYCB0eXBlIGludG8gYGlu
dGVydmFsYCBhbmQgYHRpbWVvdXRgLgorICAgICAgICAgLSBNYWtlIGBldmVudE5hbWVgIG9wdGlv
bmFsIGZvciBgYWRkRXZlbnRCcmVha3BvaW50YC9gcmVtb3ZlRXZlbnRCcmVha3BvaW50YC4gV2hl
biBvbWl0dGVkLAorICAgICAgICAgICB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHRoYXQg
aXMgYWRkZWQvcmVtb3ZlZCBpcyB0cmVhdGVkIGFzIGEgZ2xvYmFsIGJyZWFrcG9pbnQgdGhhdAor
ICAgICAgICAgICBhcHBsaWVzIHRvIGFsbCBldmVudHMgb2YgdGhhdCB0eXBlIChlLmcuIGEgZ2xv
YmFsIGBsaXN0ZW5lcmAgYnJlYWtwb2ludCB3b3VsZCBwYXVzZSBmb3IKKyAgICAgICAgICAgYW55
IGV2ZW50IHRoYXQgaXMgZmlyZWQpLgorCiAyMDE5LTA3LTI5ICBZdXN1a2UgU3V6dWtpICA8eXN1
enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gSW5jcmVtZW50IGJ5dGVjb2RlIGFnZSBv
bmx5IHdoZW4gU2xvdFZpc2l0b3IgaXMgZmlyc3QtdmlzaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzMzE2NDdl
YzE1ZmYxYjUwZTEwZWI3OGRkMWY2NDAzMTlkMDc0YjUxLi5iYmM1MmM5ZmE4M2ViMWVlOTU2ZjU2
ZTQxMWVmMDg2NWJhMzM5NTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTktMDct
MzEgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IERPTTogYWRkIGEgc3BlY2lhbCBicmVha3BvaW50IGZvciAiQWxsIEV2ZW50cyIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDI4NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNpbWlsYXIgdG8g
dGhlIGV4aXN0aW5nICJBbGwgUmVxdWVzdHMiIGJyZWFrcG9pbnQsIHRoZXJlIHNob3VsZCBiZSBh
IHdheSB0byBzZXQgYSBicmVha3BvaW50CisgICAgICAgIHRoYXQgd291bGQgcGF1c2UgZm9yIGFu
eSBET00gZXZlbnQsIHJlZ2FyZGxlc3Mgb2YgdGhlIGV2ZW50J3MgbmFtZS4gVGhpcyBpcyB1c2Vm
dWwgZm9yCisgICAgICAgIHNpdHVhdGlvbnMgd2hlcmUgdGhlIGV2ZW50IG5hbWUgaXNuJ3Qga25v
d24sIG9yIHdoZXJlIG9uZSBzaW1wbHkgd2FudCdzIHRvIHBhdXNlIG9uIHRoZSBuZXh0CisgICAg
ICAgIGVudHJ5IHRvIHRoZSBldmVudCBsb29wLgorCisgICAgICAgIEFsb25nIHRoZXNlIGxpbmVz
LCBtYWtlIHRoZSAicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwgInNldFRpbWVvdXQiLCBhbmQgInNl
dEludGVydmFsIgorICAgICAgICBldmVudCBicmVha3BvaW50cyBpbnRvIHNwZWNpYWwgYnJlYWtw
b2ludHMgdGhhdCBjYW4gYmUgYWRkZWQvcmVtb3ZlZCB2aWEgdGhlIGNyZWF0ZQorICAgICAgICBi
cmVha3BvaW50IGNvbnRleHQgbWVudS4gVGhpcyBzaW1wbGlmaWVzIHRoZSBwcm9jZXNzIGZvciBz
ZXR0aW5nIHRoZXNlIGJyZWFrcG9pbnRzLCBhbmQgYWxzbworICAgICAgICBtYWtlcyB0aGVtIG1v
cmUgZGlzY292ZXJhYmxlIChtb3N0IHBlb3BsZSB3b3VsZG4ndCBjb25zaWRlciB0aGVtIHRvIGJl
ICJldmVudHMiKS4KKworICAgICAgICBUZXN0czogaW5zcGVjdG9yL2RvbS9icmVha3BvaW50LWZv
ci1ldmVudC1saXN0ZW5lci5odG1sCisgICAgICAgICAgICAgICBpbnNwZWN0b3IvZG9tLWRlYnVn
Z2VyL2V2ZW50LWFuaW1hdGlvbi1mcmFtZS1icmVha3BvaW50cy5odG1sCisgICAgICAgICAgICAg
ICBpbnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWJyZWFrcG9pbnQtd2l0aC1uYXZpZ2F0aW9u
Lmh0bWwKKyAgICAgICAgICAgICAgIGluc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtaW50ZXJ2
YWwtYnJlYWtwb2ludHMuaHRtbAorICAgICAgICAgICAgICAgaW5zcGVjdG9yL2RvbS1kZWJ1Z2dl
ci9ldmVudC1saXN0ZW5lci1icmVha3BvaW50cy5odG1sCisgICAgICAgICAgICAgICBpbnNwZWN0
b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LXRpbWVvdXQtYnJlYWtwb2ludHMuaHRtbAorCisgICAgICAg
ICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50Lmg6CisgICAgICAg
ICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQ6OmRpc2FibGUpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudDo6ZnJhbWVEb2N1bWVudFVwZGF0
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudDo6c2V0RXZl
bnRCcmVha3BvaW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTURlYnVnZ2VyQWdl
bnQ6OnJlbW92ZUV2ZW50QnJlYWtwb2ludCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JE
T01EZWJ1Z2dlckFnZW50Ojp3aWxsSGFuZGxlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yRE9NRGVidWdnZXJBZ2VudDo6d2lsbEZpcmVUaW1lcik6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50Ojp3aWxsRmlyZUFuaW1hdGlvbkZyYW1lKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQ6OmRpc2NhcmRCaW5kaW5n
cyk6IERlbGV0ZWQuCisgICAgICAgIE1ha2UgYGV2ZW50TmFtZWAgb3B0aW9uYWwgZm9yIGBhZGRF
dmVudEJyZWFrcG9pbnRgL2ByZW1vdmVFdmVudEJyZWFrcG9pbnRgLiBXaGVuIG9taXR0ZWQsCisg
ICAgICAgIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdGhhdCBpcyBhZGRlZC9yZW1vdmVk
IGlzIHRyZWF0ZWQgYXMgYSBnbG9iYWwgYnJlYWtwb2ludCB0aGF0CisgICAgICAgIGFwcGxpZXMg
dG8gYWxsIGV2ZW50cyBvZiB0aGF0IHR5cGUgKGUuZy4gYSBnbG9iYWwgYGxpc3RlbmVyYCBicmVh
a3BvaW50IHdvdWxkIHBhdXNlIGZvciBhbnkKKyAgICAgICAgZXZlbnQgdGhhdCBpcyBmaXJlZCku
CisKIDIwMTktMDctMjkgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbTEZDXVtURkNdIEludHJvZHVjZSBCb3g6OmVzdGFibGlzaGVzVGFibGVGb3JtYXR0aW5nQ29u
dGV4dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5kZXggMWQ4NTMyYmYwOWE3YWFiZDViOTk1Y2M4
Y2UzYmFiMTU5MzU1YWUyYy4uN2JmOWJjYjliOTFlNzI1MjJmNWYwZWM0NDBjZThiZWFkYTZlNzAw
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTA3IEBACisyMDE5LTA3LTMx
ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBET006IGFkZCBhIHNwZWNpYWwgYnJlYWtwb2ludCBmb3IgIkFsbCBFdmVudHMiCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDAyODUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaW1pbGFyIHRvIHRo
ZSBleGlzdGluZyAiQWxsIFJlcXVlc3RzIiBicmVha3BvaW50LCB0aGVyZSBzaG91bGQgYmUgYSB3
YXkgdG8gc2V0IGEgYnJlYWtwb2ludAorICAgICAgICB0aGF0IHdvdWxkIHBhdXNlIGZvciBhbnkg
RE9NIGV2ZW50LCByZWdhcmRsZXNzIG9mIHRoZSBldmVudCdzIG5hbWUuIFRoaXMgaXMgdXNlZnVs
IGZvcgorICAgICAgICBzaXR1YXRpb25zIHdoZXJlIHRoZSBldmVudCBuYW1lIGlzbid0IGtub3du
LCBvciB3aGVyZSBvbmUgc2ltcGx5IHdhbnQncyB0byBwYXVzZSBvbiB0aGUgbmV4dAorICAgICAg
ICBlbnRyeSB0byB0aGUgZXZlbnQgbG9vcC4KKworICAgICAgICBBbG9uZyB0aGVzZSBsaW5lcywg
bWFrZSB0aGUgInJlcXVlc3RBbmltYXRpb25GcmFtZSIsICJzZXRUaW1lb3V0IiwgYW5kICJzZXRJ
bnRlcnZhbCIKKyAgICAgICAgZXZlbnQgYnJlYWtwb2ludHMgaW50byBzcGVjaWFsIGJyZWFrcG9p
bnRzIHRoYXQgY2FuIGJlIGFkZGVkL3JlbW92ZWQgdmlhIHRoZSBjcmVhdGUKKyAgICAgICAgYnJl
YWtwb2ludCBjb250ZXh0IG1lbnUuIFRoaXMgc2ltcGxpZmllcyB0aGUgcHJvY2VzcyBmb3Igc2V0
dGluZyB0aGVzZSBicmVha3BvaW50cywgYW5kIGFsc28KKyAgICAgICAgbWFrZXMgdGhlbSBtb3Jl
IGRpc2NvdmVyYWJsZSAobW9zdCBwZW9wbGUgd291bGRuJ3QgY29uc2lkZXIgdGhlbSB0byBiZSAi
ZXZlbnRzIikuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9FdmVudEJyZWFrcG9p
bnQuanM6CisgICAgICAgIChXSS5FdmVudEJyZWFrcG9pbnQpOgorICAgICAgICAoV0kuRXZlbnRC
cmVha3BvaW50LmRlc2VyaWFsaXplKToKKyAgICAgICAgKFdJLkV2ZW50QnJlYWtwb2ludC5wcm90
b3R5cGUuc2F2ZUlkZW50aXR5VG9Db29raWUpOgorICAgICAgICAoV0kuRXZlbnRCcmVha3BvaW50
LnByb3RvdHlwZS50b0pTT04pOgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Db250cm9sbGVy
cy9EZWJ1Z2dlck1hbmFnZXIuanM6CisgICAgICAgIChXSS5EZWJ1Z2dlck1hbmFnZXIucHJvdG90
eXBlLl9wYXVzZVJlYXNvbkZyb21QYXlsb2FkKToKKworICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
Q29udHJvbGxlcnMvRE9NRGVidWdnZXJNYW5hZ2VyLmpzOgorICAgICAgICAoV0kuRE9NRGVidWdn
ZXJNYW5hZ2VyKToKKyAgICAgICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5wcm90b3R5cGUuaW5p
dGlhbGl6ZVRhcmdldCk6CisgICAgICAgIChXSS5ET01EZWJ1Z2dlck1hbmFnZXIuc3VwcG9ydHNE
T01CcmVha3BvaW50cyk6IEFkZGVkLgorICAgICAgICAoV0kuRE9NRGVidWdnZXJNYW5hZ2VyLnN1
cHBvcnRzRXZlbnRCcmVha3BvaW50cyk6CisgICAgICAgIChXSS5ET01EZWJ1Z2dlck1hbmFnZXIu
c3VwcG9ydHNFdmVudExpc3RlbmVyQnJlYWtwb2ludHMpOiBBZGRlZC4KKyAgICAgICAgKFdJLkRP
TURlYnVnZ2VyTWFuYWdlci5zdXBwb3J0c1VSTEJyZWFrcG9pbnRzKToKKyAgICAgICAgKFdJLkRP
TURlYnVnZ2VyTWFuYWdlci5zdXBwb3J0c1hIUkJyZWFrcG9pbnRzKTogQWRkZWQuCisgICAgICAg
IChXSS5ET01EZWJ1Z2dlck1hbmFnZXIuc3VwcG9ydHNBbGxMaXN0ZW5lcnNCcmVha3BvaW50KTog
QWRkZWQuCisgICAgICAgIChXSS5ET01EZWJ1Z2dlck1hbmFnZXIucHJvdG90eXBlLmdldCBhbGxB
bmltYXRpb25GcmFtZXNCcmVha3BvaW50KTogQWRkZWQuCisgICAgICAgIChXSS5ET01EZWJ1Z2dl
ck1hbmFnZXIucHJvdG90eXBlLmdldCBhbGxJbnRlcnZhbHNCcmVha3BvaW50KTogQWRkZWQuCisg
ICAgICAgIChXSS5ET01EZWJ1Z2dlck1hbmFnZXIucHJvdG90eXBlLmdldCBhbGxMaXN0ZW5lcnNC
cmVha3BvaW50KTogQWRkZWQuCisgICAgICAgIChXSS5ET01EZWJ1Z2dlck1hbmFnZXIucHJvdG90
eXBlLmdldCBhbGxUaW1lb3V0c0JyZWFrcG9pbnQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkRPTURl
YnVnZ2VyTWFuYWdlci5wcm90b3R5cGUuZ2V0IGxpc3RlbmVyQnJlYWtwb2ludHMpOiBBZGRlZC4K
KyAgICAgICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5wcm90b3R5cGUuaXNCcmVha3BvaW50U3Bl
Y2lhbCk6CisgICAgICAgIChXSS5ET01EZWJ1Z2dlck1hbmFnZXIucHJvdG90eXBlLmxpc3RlbmVy
QnJlYWtwb2ludEZvckV2ZW50TmFtZSk6IEFkZGVkLgorICAgICAgICAoV0kuRE9NRGVidWdnZXJN
YW5hZ2VyLnByb3RvdHlwZS5hZGRFdmVudEJyZWFrcG9pbnQpOgorICAgICAgICAoV0kuRE9NRGVi
dWdnZXJNYW5hZ2VyLnByb3RvdHlwZS5yZW1vdmVFdmVudEJyZWFrcG9pbnQpOgorICAgICAgICAo
V0kuRE9NRGVidWdnZXJNYW5hZ2VyLnByb3RvdHlwZS5hZGRVUkxCcmVha3BvaW50KToKKyAgICAg
ICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5wcm90b3R5cGUuX3Jlc29sdmVET01CcmVha3BvaW50
KToKKyAgICAgICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5wcm90b3R5cGUuX3VwZGF0ZURPTUJy
ZWFrcG9pbnQpOgorICAgICAgICAoV0kuRE9NRGVidWdnZXJNYW5hZ2VyLnByb3RvdHlwZS5fdXBk
YXRlRXZlbnRCcmVha3BvaW50KToKKyAgICAgICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5wcm90
b3R5cGUuX3VwZGF0ZVVSTEJyZWFrcG9pbnQpOgorICAgICAgICAoV0kuRE9NRGVidWdnZXJNYW5h
Z2VyLnByb3RvdHlwZS5faGFuZGxlRE9NQnJlYWtwb2ludERpc2FibGVkU3RhdGVDaGFuZ2VkKToK
KyAgICAgICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5wcm90b3R5cGUuX2hhbmRsZUV2ZW50QnJl
YWtwb2ludERpc2FibGVkU3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKFdJLkRPTURlYnVnZ2VyTWFu
YWdlci5wcm90b3R5cGUuX2hhbmRsZVVSTEJyZWFrcG9pbnREaXNhYmxlZFN0YXRlQ2hhbmdlZCk6
CisgICAgICAgIChXSS5ET01EZWJ1Z2dlck1hbmFnZXIucHJvdG90eXBlLmdldCBldmVudEJyZWFr
cG9pbnRzKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5wcm90b3R5
cGUuZXZlbnRCcmVha3BvaW50Rm9yVHlwZUFuZEV2ZW50TmFtZSk6IERlbGV0ZWQuCisgICAgICAg
IEFkZCBhZGRpdGlvbmFsIHRhcmdldCBjb21wYXRpYmlsaXR5IGNoZWNrcy4KKworICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvVmlld3MvRXZlbnRCcmVha3BvaW50UG9wb3Zlci5qczoKKyAgICAgICAg
KFdJLkV2ZW50QnJlYWtwb2ludFBvcG92ZXIucHJvdG90eXBlLnNob3cpOgorICAgICAgICAoV0ku
RXZlbnRCcmVha3BvaW50UG9wb3Zlci5wcm90b3R5cGUuZGlzbWlzcyk6CisgICAgICAgIChXSS5F
dmVudEJyZWFrcG9pbnRQb3BvdmVyLnByb3RvdHlwZS5faGFuZGxlVHlwZVNlbGVjdENoYW5nZSk6
IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9FdmVudEJyZWFrcG9pbnRQ
b3BvdmVyLmNzczoKKyAgICAgICAgKC5wb3BvdmVyIC5ldmVudC1icmVha3BvaW50LWNvbnRlbnQg
PiBpbnB1dCk6IEFkZGVkLgorICAgICAgICAoLnBvcG92ZXIgLmV2ZW50LWJyZWFrcG9pbnQtY29u
dGVudCA+IGlucHV0OjpwbGFjZWhvbGRlcik6IEFkZGVkLgorICAgICAgICAoLnBvcG92ZXIgLmV2
ZW50LWJyZWFrcG9pbnQtY29udGVudCA+IC5ldmVudC10eXBlKTogRGVsZXRlZC4KKyAgICAgICAg
KC5wb3BvdmVyIC5ldmVudC1icmVha3BvaW50LWNvbnRlbnQgPiAuZXZlbnQtdHlwZSA+IGlucHV0
KTogRGVsZXRlZC4KKyAgICAgICAgKC5wb3BvdmVyIC5ldmVudC1icmVha3BvaW50LWNvbnRlbnQg
PiAuZXZlbnQtdHlwZSA+IGlucHV0OjpwbGFjZWhvbGRlcik6IERlbGV0ZWQuCisKKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50QnJlYWtwb2ludFRyZWVFbGVtZW50LmNzczoKKyAg
ICAgICAgKC5icmVha3BvaW50LmV2ZW50LmJyZWFrcG9pbnQtZm9yLWludGVydmFsOm5vdCguYnJl
YWtwb2ludC1wYXVzZWQtaWNvbikgLmljb24pOiBBZGRlZC4KKyAgICAgICAgKC5icmVha3BvaW50
LmV2ZW50LmJyZWFrcG9pbnQtZm9yLXRpbWVvdXQ6bm90KC5icmVha3BvaW50LXBhdXNlZC1pY29u
KSAuaWNvbik6IEFkZGVkLgorICAgICAgICAoLmJyZWFrcG9pbnQuZXZlbnQuYnJlYWtwb2ludC1m
b3ItdGltZXI6bm90KC5icmVha3BvaW50LXBhdXNlZC1pY29uKSAuaWNvbik6IERlbGV0ZWQuCisK
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzOgor
ICAgICAgICAoV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwpOgorICAgICAgICAoV0kuRGVidWdnZXJT
aWRlYmFyUGFuZWwucHJvdG90eXBlLnNhdmVTdGF0ZVRvQ29va2llKToKKyAgICAgICAgKFdJLkRl
YnVnZ2VyU2lkZWJhclBhbmVsLnByb3RvdHlwZS5yZXN0b3JlU3RhdGVGcm9tQ29va2llKToKKyAg
ICAgICAgKFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fYWRkQnJlYWtwb2ludCk6
CisgICAgICAgIChXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbC5wcm90b3R5cGUuX2FkZFRyZWVFbGVt
ZW50KToKKyAgICAgICAgKFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fdXBkYXRl
UGF1c2VSZWFzb25TZWN0aW9uKToKKyAgICAgICAgKFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsLnBy
b3RvdHlwZS5faGFuZGxlQnJlYWtwb2ludEVsZW1lbnRBZGRlZE9yUmVtb3ZlZCk6CisgICAgICAg
IChXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbC5wcm90b3R5cGUuX3BvcHVsYXRlQ3JlYXRlQnJlYWtw
b2ludENvbnRleHRNZW51LmFkZFRvZ2dsZUZvclNwZWNpYWxFdmVudEJyZWFrcG9pbnQpOiBBZGRl
ZC4KKyAgICAgICAgKFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fcG9wdWxhdGVD
cmVhdGVCcmVha3BvaW50Q29udGV4dE1lbnUpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmll
d3MvU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChXSS5Tb3VyY2Vz
TmF2aWdhdGlvblNpZGViYXJQYW5lbCk6CisgICAgICAgIChXSS5Tb3VyY2VzTmF2aWdhdGlvblNp
ZGViYXJQYW5lbC5wcm90b3R5cGUuX2luc2VydERlYnVnZ2VyVHJlZUVsZW1lbnQpOgorICAgICAg
ICAoV0kuU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwucHJvdG90eXBlLl9hZGRCcmVha3Bv
aW50KToKKyAgICAgICAgKFdJLlNvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsLnByb3RvdHlw
ZS5fdXBkYXRlUGF1c2VSZWFzb25TZWN0aW9uKToKKyAgICAgICAgKFdJLlNvdXJjZXNOYXZpZ2F0
aW9uU2lkZWJhclBhbmVsLnByb3RvdHlwZS5faGFuZGxlQnJlYWtwb2ludEVsZW1lbnRBZGRlZE9y
UmVtb3ZlZCk6CisgICAgICAgIChXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbC5wcm90
b3R5cGUuX3BvcHVsYXRlQ3JlYXRlQnJlYWtwb2ludENvbnRleHRNZW51LmFkZFRvZ2dsZUZvclNw
ZWNpYWxFdmVudEJyZWFrcG9pbnQpOiBBZGRlZC4KKyAgICAgICAgKFdJLlNvdXJjZXNOYXZpZ2F0
aW9uU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fcG9wdWxhdGVDcmVhdGVCcmVha3BvaW50Q29udGV4
dE1lbnUpOgorICAgICAgICBBZGQgY3JlYXRlIGJyZWFrcG9pbnQgY29udGV4dCBtZW51IGl0ZW1z
IChhbHNvIHNvcnQgdGhlIGJyZWFrcG9pbnRzIGluIHRoaXMgb3JkZXIpOgorICAgICAgICAgLSAi
QWxsIEFuaW1hdGlvbiBGcmFtZXMiICA9PiAgW0FdIEFsbCBBbmltYXRpb24gRnJhbWVzCisgICAg
ICAgICAtICJBbGwgVGltZW91dHMiICAgICAgICAgID0+ICBbVF0gQWxsIFRpbWVvdXRzCisgICAg
ICAgICAtICJBbGwgSW50ZXJ2YWxzIiAgICAgICAgID0+ICBbSV0gQWxsIEludGVydmFscworICAg
ICAgICAgLSAiQWxsIEV2ZW50cyIgICAgICAgICAgICA9PiAgW0VdIEFsbCBFdmVudHMKKworICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvSmF2YVNjcmlwdFJ1bnRpbWVDb21wbGV0
aW9uUHJvdmlkZXIuanM6CisgICAgICAgIChXSS5KYXZhU2NyaXB0UnVudGltZUNvbXBsZXRpb25Q
cm92aWRlci5jb21wbGV0aW9uQ29udHJvbGxlckNvbXBsZXRpb25zTmVlZGVkLnJlY2VpdmVkUHJv
cGVydHlOYW1lcyk6CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2UvU2V0dGluZy5qczoK
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0ltYWdlcy9FdmVudEJyZWFrcG9pbnRJbnRlcnZhbC5z
dmc6IEFkZGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvSW1hZ2VzL0V2ZW50QnJlYWtwb2lu
dFRpbWVvdXQuc3ZnOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvSW1hZ2VzL0V2ZW50QnJlYWtwb2ludFRpbWVyLnN2Zy4KKyAgICAgICAgKiBMb2NhbGl6
YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanM6CisKIDIwMTktMDctMjYgIEdyZWcg
RG9vbGl0dGxlICA8Z3IzZ0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQVhJ
OiBBdWRpdDogVHlwbyBvZiAic29tZSIgYXMgInNvbWVlIgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9ET01EZWJ1Z2dlci5qc29uIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9ET01EZWJ1Z2dlci5qc29uCmluZGV4
IGI0NGM3ZjBiNWVhYmE3YzA5MDI2YjVhZjliMzAzMDg2MDI0MjA3NzMuLjg2Y2Q2YzdhNzRkOTYy
ZjIyZjFiZjY2ZGMyNzMwOThjM2VmZjVhNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NRGVidWdnZXIuanNvbgorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0RPTURlYnVnZ2VyLmpzb24KQEAgLTEyLDcg
KzEyLDcgQEAKICAgICAgICAgewogICAgICAgICAgICAgImlkIjogIkV2ZW50QnJlYWtwb2ludFR5
cGUiLAogICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKLSAgICAgICAgICAgICJlbnVtIjog
WyJhbmltYXRpb24tZnJhbWUiLCAibGlzdGVuZXIiLCAidGltZXIiXSwKKyAgICAgICAgICAgICJl
bnVtIjogWyJhbmltYXRpb24tZnJhbWUiLCAiaW50ZXJ2YWwiLCAibGlzdGVuZXIiLCAidGltZW91
dCJdLAogICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkV2ZW50IGJyZWFrcG9pbnQgdHlwZS4i
CiAgICAgICAgIH0KICAgICBdLApAQCAtMzgsNyArMzgsNyBAQAogICAgICAgICAgICAgImRlc2Ny
aXB0aW9uIjogIlNldHMgYnJlYWtwb2ludCBvbiBwYXJ0aWN1bGFyIGV2ZW50IG9mIGdpdmVuIHR5
cGUuIiwKICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwogICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAiYnJlYWtwb2ludFR5cGUiLCAiJHJlZiI6ICJFdmVudEJyZWFrcG9pbnRUeXBlIiB9LAot
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZXZlbnROYW1lIiwgInR5cGUiOiAic3RyaW5nIiwg
ImRlc2NyaXB0aW9uIjogIlRoZSBuYW1lIG9mIHRoZSBldmVudCB0byBzdG9wIG9uLiIgfQorICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAiZXZlbnROYW1lIiwgInR5cGUiOiAic3RyaW5nIiwgIm9w
dGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRoZSBuYW1lIG9mIHRoZSBzcGVjaWZpYyBl
dmVudCB0byBzdG9wIG9uLiIgfQogICAgICAgICAgICAgXQogICAgICAgICB9LAogICAgICAgICB7
CkBAIC00Niw3ICs0Niw3IEBACiAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmVtb3ZlcyBi
cmVha3BvaW50IG9uIHBhcnRpY3VsYXIgZXZlbnQgb2YgZ2l2ZW4gdHlwZS4iLAogICAgICAgICAg
ICAgInBhcmFtZXRlcnMiOiBbCiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJicmVha3BvaW50
VHlwZSIsICIkcmVmIjogIkV2ZW50QnJlYWtwb2ludFR5cGUiIH0sCi0gICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJldmVudE5hbWUiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAi
VGhlIG5hbWUgb2YgdGhlIGV2ZW50IHRvIHN0b3Agb24uIiB9CisgICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJldmVudE5hbWUiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0cnVlLCAi
ZGVzY3JpcHRpb24iOiAiVGhlIG5hbWUgb2YgdGhlIHNwZWNpZmljIGV2ZW50IHRvIHN0b3Agb24u
IiB9CiAgICAgICAgICAgICBdCiAgICAgICAgIH0sCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRGVidWdnZXIuanNvbiBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRGVidWdnZXIuanNvbgppbmRl
eCBhNTQ5NWNhMTEwM2E4NzA3MjgwMTNjZmRmNDA2M2JmZjk4MzQxMTg5Li4yMmU0OTNhYzk5OTdh
ODI1YzNhZTliMTM3Y2UzYWJmYjMwYWY0MDg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0RlYnVnZ2VyLmpzb24KKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9EZWJ1Z2dlci5qc29uCkBAIC0zMzMsNyArMzMz
LDcgQEAKICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJlZCB3aGVuIHRoZSB2aXJ0dWFs
IG1hY2hpbmUgc3RvcHBlZCBvbiBicmVha3BvaW50IG9yIGV4Y2VwdGlvbiBvciBhbnkgb3RoZXIg
c3RvcCBjcml0ZXJpYS4iLAogICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCiAgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJjYWxsRnJhbWVzIiwgInR5cGUiOiAiYXJyYXkiLCAiaXRlbXMiOiB7
ICIkcmVmIjogIkNhbGxGcmFtZSIgfSwgImRlc2NyaXB0aW9uIjogIkNhbGwgc3RhY2sgdGhlIHZp
cnR1YWwgbWFjaGluZSBzdG9wcGVkIG9uLiIgfSwKLSAgICAgICAgICAgICAgICB7ICJuYW1lIjog
InJlYXNvbiIsICJ0eXBlIjogInN0cmluZyIsICJlbnVtIjogWyJYSFIiLCAiRmV0Y2giLCAiRE9N
IiwgIkFuaW1hdGlvbkZyYW1lIiwgIkV2ZW50TGlzdGVuZXIiLCAiVGltZXIiLCAiZXhjZXB0aW9u
IiwgImFzc2VydCIsICJDU1BWaW9sYXRpb24iLCAiRGVidWdnZXJTdGF0ZW1lbnQiLCAiQnJlYWtw
b2ludCIsICJQYXVzZU9uTmV4dFN0YXRlbWVudCIsICJvdGhlciJdLCAiZGVzY3JpcHRpb24iOiAi
UGF1c2UgcmVhc29uLiIgfSwKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlYXNvbiIsICJ0
eXBlIjogInN0cmluZyIsICJlbnVtIjogWyJYSFIiLCAiRmV0Y2giLCAiRE9NIiwgIkFuaW1hdGlv
bkZyYW1lIiwgIkludGVydmFsIiwgIkxpc3RlbmVyIiwgIlRpbWVvdXQiLCAiZXhjZXB0aW9uIiwg
ImFzc2VydCIsICJDU1BWaW9sYXRpb24iLCAiRGVidWdnZXJTdGF0ZW1lbnQiLCAiQnJlYWtwb2lu
dCIsICJQYXVzZU9uTmV4dFN0YXRlbWVudCIsICJvdGhlciJdLCAiZGVzY3JpcHRpb24iOiAiUGF1
c2UgcmVhc29uLiIgfSwKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImRhdGEiLCAidHlwZSI6
ICJvYmplY3QiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiT2JqZWN0IGNvbnRh
aW5pbmcgYnJlYWstc3BlY2lmaWMgYXV4aWxpYXJ5IHByb3BlcnRpZXMuIiB9LAogICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAiYXN5bmNTdGFja1RyYWNlIiwgIiRyZWYiOiAiQ29uc29sZS5TdGFj
a1RyYWNlIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkxpbmtlZCBsaXN0IG9m
IGFzeW5jaHJvbm91cyBTdGFja1RyYWNlcy4iIH0KICAgICAgICAgICAgIF0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2Vu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTURlYnVn
Z2VyQWdlbnQuY3BwCmluZGV4IDU0NDc1ZGQ1NmYxOTUzOTI5M2ViYWY1MjUxZDBiYmFmYjZmZDFk
MDUuLjA5NTFkYmU0NDA4YzIxNmM1M2Q0OGNjYzIyNGJhMmNiNjRmYzBkOTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2Vu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01E
ZWJ1Z2dlckFnZW50LmNwcApAQCAtOTQsOSArOTQsMTMgQEAgdm9pZCBJbnNwZWN0b3JET01EZWJ1
Z2dlckFnZW50OjpkZWJ1Z2dlcldhc0Rpc2FibGVkKCkKIHZvaWQgSW5zcGVjdG9yRE9NRGVidWdn
ZXJBZ2VudDo6ZGlzYWJsZSgpCiB7CiAgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLnNldEluc3Bl
Y3RvckRPTURlYnVnZ2VyQWdlbnQobnVsbHB0cik7Ci0gICAgZGlzY2FyZEJpbmRpbmdzKCk7Ci0g
ICAgbV9ldmVudEJyZWFrcG9pbnRzLmNsZWFyKCk7CisgICAgbV9kb21CcmVha3BvaW50cy5jbGVh
cigpOworICAgIG1fbGlzdGVuZXJCcmVha3BvaW50cy5jbGVhcigpOwogICAgIG1fdXJsQnJlYWtw
b2ludHMuY2xlYXIoKTsKKyAgICBtX3BhdXNlT25BbGxBbmltYXRpb25GcmFtZXNFbmFibGVkID0g
ZmFsc2U7CisgICAgbV9wYXVzZU9uQWxsSW50ZXJ2YWxzRW5hYmxlZCA9IGZhbHNlOworICAgIG1f
cGF1c2VPbkFsbExpc3RlbmVyc0VuYWJsZWQgPSBmYWxzZTsKKyAgICBtX3BhdXNlT25BbGxUaW1l
b3V0c0VuYWJsZWQgPSBmYWxzZTsKICAgICBtX3BhdXNlT25BbGxVUkxzRW5hYmxlZCA9IGZhbHNl
OwogfQogCkBAIC0xMjAsNTQgKzEyNCwxMDkgQEAgdm9pZCBJbnNwZWN0b3JET01EZWJ1Z2dlckFn
ZW50OjpmcmFtZURvY3VtZW50VXBkYXRlZChGcmFtZSYgZnJhbWUpCiAgICAgaWYgKCFmcmFtZS5p
c01haW5GcmFtZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBkaXNjYXJkQmluZGluZ3MoKTsK
LX0KLQotdm9pZCBJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50OjpkaXNjYXJkQmluZGluZ3MoKQot
ewogICAgIG1fZG9tQnJlYWtwb2ludHMuY2xlYXIoKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JET01E
ZWJ1Z2dlckFnZW50OjpzZXRFdmVudEJyZWFrcG9pbnQoRXJyb3JTdHJpbmcmIGVycm9yLCBjb25z
dCBTdHJpbmcmIGJyZWFrcG9pbnRUeXBlU3RyaW5nLCBjb25zdCBTdHJpbmcmIGV2ZW50TmFtZSkK
K3ZvaWQgSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudDo6c2V0RXZlbnRCcmVha3BvaW50KEVycm9y
U3RyaW5nJiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBicmVha3BvaW50VHlwZVN0cmluZywg
Y29uc3QgU3RyaW5nKiBldmVudE5hbWUpCiB7CiAgICAgaWYgKGJyZWFrcG9pbnRUeXBlU3RyaW5n
LmlzRW1wdHkoKSkgewotICAgICAgICBlcnJvciA9ICJFdmVudCBicmVha3BvaW50IHR5cGUgaXMg
ZW1wdHkiX3M7CisgICAgICAgIGVycm9yU3RyaW5nID0gIkV2ZW50IGJyZWFrcG9pbnQgdHlwZSBp
cyBlbXB0eSJfczsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGF1dG8gYnJlYWtwb2lu
dFR5cGUgPSBJbnNwZWN0b3I6OlByb3RvY29sOjpJbnNwZWN0b3JIZWxwZXJzOjpwYXJzZUVudW1W
YWx1ZUZyb21TdHJpbmc8SW5zcGVjdG9yOjpQcm90b2NvbDo6RE9NRGVidWdnZXI6OkV2ZW50QnJl
YWtwb2ludFR5cGU+KGJyZWFrcG9pbnRUeXBlU3RyaW5nKTsKICAgICBpZiAoIWJyZWFrcG9pbnRU
eXBlKSB7Ci0gICAgICAgIGVycm9yID0gbWFrZVN0cmluZygiVW5rbm93biBldmVudCBicmVha3Bv
aW50IHR5cGU6ICJfcywgYnJlYWtwb2ludFR5cGVTdHJpbmcpOworICAgICAgICBlcnJvclN0cmlu
ZyA9IG1ha2VTdHJpbmcoIlVua25vd24gZXZlbnQgYnJlYWtwb2ludCB0eXBlOiAiX3MsIGJyZWFr
cG9pbnRUeXBlU3RyaW5nKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmIChldmVu
dE5hbWUuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGVycm9yID0gIkV2ZW50IG5hbWUgaXMgZW1wdHki
X3M7CisgICAgaWYgKGV2ZW50TmFtZSAmJiAhZXZlbnROYW1lLT5pc0VtcHR5KCkpIHsKKyAgICAg
ICAgaWYgKGJyZWFrcG9pbnRUeXBlLnZhbHVlKCkgPT0gSW5zcGVjdG9yOjpQcm90b2NvbDo6RE9N
RGVidWdnZXI6OkV2ZW50QnJlYWtwb2ludFR5cGU6Okxpc3RlbmVyKSB7CisgICAgICAgICAgICBp
ZiAoIW1fbGlzdGVuZXJCcmVha3BvaW50cy5hZGQoKmV2ZW50TmFtZSkpCisgICAgICAgICAgICAg
ICAgZXJyb3JTdHJpbmcgPSAiQnJlYWtwb2ludCB3aXRoIGV2ZW50TmFtZSBhbHJlYWR5IGV4aXN0
cyJfczsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGVycm9yU3Ry
aW5nID0gIlVuZXhwZWN0ZWQgZXZlbnROYW1lIGFyZ3VtZW50Il9zOwogICAgICAgICByZXR1cm47
CiAgICAgfQogCi0gICAgbV9ldmVudEJyZWFrcG9pbnRzLmFkZChzdGQ6Om1ha2VfcGFpcigqYnJl
YWtwb2ludFR5cGUsIGV2ZW50TmFtZSkpOworICAgIHN3aXRjaCAoYnJlYWtwb2ludFR5cGUudmFs
dWUoKSkgeworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6RE9NRGVidWdnZXI6OkV2ZW50
QnJlYWtwb2ludFR5cGU6OkFuaW1hdGlvbkZyYW1lOgorICAgICAgICBpZiAobV9wYXVzZU9uQWxs
QW5pbWF0aW9uRnJhbWVzRW5hYmxlZCkKKyAgICAgICAgICAgIGVycm9yU3RyaW5nID0gIkFscmVh
ZHkgaGF2ZSBicmVha3BvaW50IGZvciBhbGwgYW5pbWF0aW9uIGZyYW1lcyJfczsKKyAgICAgICAg
bV9wYXVzZU9uQWxsQW5pbWF0aW9uRnJhbWVzRW5hYmxlZCA9IHRydWU7CisgICAgICAgIGJyZWFr
OworCisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpET01EZWJ1Z2dlcjo6RXZlbnRCcmVh
a3BvaW50VHlwZTo6SW50ZXJ2YWw6CisgICAgICAgIGlmIChtX3BhdXNlT25BbGxJbnRlcnZhbHNF
bmFibGVkKQorICAgICAgICAgICAgZXJyb3JTdHJpbmcgPSAiQWxyZWFkeSBoYXZlIGJyZWFrcG9p
bnQgZm9yIGFsbCBpbnRlcnZhbHMiX3M7CisgICAgICAgIG1fcGF1c2VPbkFsbEludGVydmFsc0Vu
YWJsZWQgPSB0cnVlOworICAgICAgICBicmVhazsKKworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90
b2NvbDo6RE9NRGVidWdnZXI6OkV2ZW50QnJlYWtwb2ludFR5cGU6Okxpc3RlbmVyOgorICAgICAg
ICBpZiAobV9wYXVzZU9uQWxsTGlzdGVuZXJzRW5hYmxlZCkKKyAgICAgICAgICAgIGVycm9yU3Ry
aW5nID0gIkFscmVhZHkgaGF2ZSBicmVha3BvaW50IGZvciBhbGwgbGlzdGVuZXJzIl9zOworICAg
ICAgICBtX3BhdXNlT25BbGxMaXN0ZW5lcnNFbmFibGVkID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7
CisKKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRPTURlYnVnZ2VyOjpFdmVudEJyZWFr
cG9pbnRUeXBlOjpUaW1lb3V0OgorICAgICAgICBpZiAobV9wYXVzZU9uQWxsVGltZW91dHNFbmFi
bGVkKQorICAgICAgICAgICAgZXJyb3JTdHJpbmcgPSAiQWxyZWFkeSBoYXZlIGJyZWFrcG9pbnQg
Zm9yIGFsbCB0aW1lb3V0cyJfczsKKyAgICAgICAgbV9wYXVzZU9uQWxsVGltZW91dHNFbmFibGVk
ID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7CisgICAgfQogfQogCi12b2lkIEluc3BlY3RvckRPTURl
YnVnZ2VyQWdlbnQ6OnJlbW92ZUV2ZW50QnJlYWtwb2ludChFcnJvclN0cmluZyYgZXJyb3IsIGNv
bnN0IFN0cmluZyYgYnJlYWtwb2ludFR5cGVTdHJpbmcsIGNvbnN0IFN0cmluZyYgZXZlbnROYW1l
KQordm9pZCBJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50OjpyZW1vdmVFdmVudEJyZWFrcG9pbnQo
RXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIGJyZWFrcG9pbnRUeXBlU3Ry
aW5nLCBjb25zdCBTdHJpbmcqIGV2ZW50TmFtZSkKIHsKICAgICBpZiAoYnJlYWtwb2ludFR5cGVT
dHJpbmcuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGVycm9yID0gIkV2ZW50IGJyZWFrcG9pbnQgdHlw
ZSBpcyBlbXB0eSJfczsKKyAgICAgICAgZXJyb3JTdHJpbmcgPSAiRXZlbnQgYnJlYWtwb2ludCB0
eXBlIGlzIGVtcHR5Il9zOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgYXV0byBicmVh
a3BvaW50VHlwZSA9IEluc3BlY3Rvcjo6UHJvdG9jb2w6Okluc3BlY3RvckhlbHBlcnM6OnBhcnNl
RW51bVZhbHVlRnJvbVN0cmluZzxJbnNwZWN0b3I6OlByb3RvY29sOjpET01EZWJ1Z2dlcjo6RXZl
bnRCcmVha3BvaW50VHlwZT4oYnJlYWtwb2ludFR5cGVTdHJpbmcpOwogICAgIGlmICghYnJlYWtw
b2ludFR5cGUpIHsKLSAgICAgICAgZXJyb3IgPSBtYWtlU3RyaW5nKCJVbmtub3duIGV2ZW50IGJy
ZWFrcG9pbnQgdHlwZTogIl9zLCBicmVha3BvaW50VHlwZVN0cmluZyk7CisgICAgICAgIGVycm9y
U3RyaW5nID0gbWFrZVN0cmluZygiVW5rbm93biBldmVudCBicmVha3BvaW50IHR5cGU6ICJfcywg
YnJlYWtwb2ludFR5cGVTdHJpbmcpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYg
KGV2ZW50TmFtZS5pc0VtcHR5KCkpIHsKLSAgICAgICAgZXJyb3IgPSAiRXZlbnQgbmFtZSBpcyBl
bXB0eSJfczsKKyAgICBpZiAoZXZlbnROYW1lICYmICFldmVudE5hbWUtPmlzRW1wdHkoKSkgewor
ICAgICAgICBpZiAoYnJlYWtwb2ludFR5cGUudmFsdWUoKSA9PSBJbnNwZWN0b3I6OlByb3RvY29s
OjpET01EZWJ1Z2dlcjo6RXZlbnRCcmVha3BvaW50VHlwZTo6TGlzdGVuZXIpIHsKKyAgICAgICAg
ICAgIGlmICghbV9saXN0ZW5lckJyZWFrcG9pbnRzLnJlbW92ZSgqZXZlbnROYW1lKSkKKyAgICAg
ICAgICAgICAgICBlcnJvclN0cmluZyA9ICJNaXNzaW5nIGJyZWFrcG9pbnQgZm9yIGV2ZW50TmFt
ZSJfczsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGVycm9yU3Ry
aW5nID0gIlVuZXhwZWN0ZWQgZXZlbnROYW1lIGFyZ3VtZW50Il9zOwogICAgICAgICByZXR1cm47
CiAgICAgfQogCi0gICAgbV9ldmVudEJyZWFrcG9pbnRzLnJlbW92ZShzdGQ6Om1ha2VfcGFpcigq
YnJlYWtwb2ludFR5cGUsIGV2ZW50TmFtZSkpOworICAgIHN3aXRjaCAoYnJlYWtwb2ludFR5cGUu
dmFsdWUoKSkgeworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6RE9NRGVidWdnZXI6OkV2
ZW50QnJlYWtwb2ludFR5cGU6OkFuaW1hdGlvbkZyYW1lOgorICAgICAgICBpZiAoIW1fcGF1c2VP
bkFsbEFuaW1hdGlvbkZyYW1lc0VuYWJsZWQpCisgICAgICAgICAgICBlcnJvclN0cmluZyA9ICJN
aXNzaW5nIGJyZWFrcG9pbnQgZm9yIGFsbCBhbmltYXRpb24gZnJhbWVzIl9zOworICAgICAgICBt
X3BhdXNlT25BbGxBbmltYXRpb25GcmFtZXNFbmFibGVkID0gZmFsc2U7CisgICAgICAgIGJyZWFr
OworCisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpET01EZWJ1Z2dlcjo6RXZlbnRCcmVh
a3BvaW50VHlwZTo6SW50ZXJ2YWw6CisgICAgICAgIGlmICghbV9wYXVzZU9uQWxsSW50ZXJ2YWxz
RW5hYmxlZCkKKyAgICAgICAgICAgIGVycm9yU3RyaW5nID0gIk1pc3NpbmcgYnJlYWtwb2ludCBm
b3IgYWxsIGludGVydmFscyJfczsKKyAgICAgICAgbV9wYXVzZU9uQWxsSW50ZXJ2YWxzRW5hYmxl
ZCA9IGZhbHNlOworICAgICAgICBicmVhazsKKworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2Nv
bDo6RE9NRGVidWdnZXI6OkV2ZW50QnJlYWtwb2ludFR5cGU6Okxpc3RlbmVyOgorICAgICAgICBp
ZiAoIW1fcGF1c2VPbkFsbExpc3RlbmVyc0VuYWJsZWQpCisgICAgICAgICAgICBlcnJvclN0cmlu
ZyA9ICJNaXNzaW5nIGJyZWFrcG9pbnQgZm9yIGFsbCBsaXN0ZW5lcnMiX3M7CisgICAgICAgIG1f
cGF1c2VPbkFsbExpc3RlbmVyc0VuYWJsZWQgPSBmYWxzZTsKKyAgICAgICAgYnJlYWs7CisKKyAg
ICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRPTURlYnVnZ2VyOjpFdmVudEJyZWFrcG9pbnRU
eXBlOjpUaW1lb3V0OgorICAgICAgICBpZiAoIW1fcGF1c2VPbkFsbFRpbWVvdXRzRW5hYmxlZCkK
KyAgICAgICAgICAgIGVycm9yU3RyaW5nID0gIk1pc3NpbmcgYnJlYWtwb2ludCBmb3IgYWxsIHRp
bWVvdXRzIl9zOworICAgICAgICBtX3BhdXNlT25BbGxUaW1lb3V0c0VuYWJsZWQgPSBmYWxzZTsK
KyAgICAgICAgYnJlYWs7CisgICAgfQogfQogCiB2b2lkIEluc3BlY3RvckRPTURlYnVnZ2VyQWdl
bnQ6OndpbGxJbnZhbGlkYXRlU3R5bGVBdHRyKEVsZW1lbnQmIGVsZW1lbnQpCkBAIC00MDgsMTEg
KzQ2Nyw5IEBAIHZvaWQgSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudDo6d2lsbEhhbmRsZUV2ZW50
KEV2ZW50JiBldmVudCwgY29uc3QgUmVnaXN0ZXJlZEV2CiAKICAgICBhdXRvKiBkb21BZ2VudCA9
IG1faW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JET01BZ2VudCgpOwogCi0gICAgYm9vbCBz
aG91bGRQYXVzZSA9IG1fZGVidWdnZXJBZ2VudC0+cGF1c2VPbk5leHRTdGF0ZW1lbnRFbmFibGVk
KCkgfHwgbV9ldmVudEJyZWFrcG9pbnRzLmNvbnRhaW5zKHN0ZDo6bWFrZV9wYWlyKEluc3BlY3Rv
cjo6UHJvdG9jb2w6OkRPTURlYnVnZ2VyOjpFdmVudEJyZWFrcG9pbnRUeXBlOjpMaXN0ZW5lciwg
ZXZlbnQudHlwZSgpKSk7Ci0KKyAgICBib29sIHNob3VsZFBhdXNlID0gbV9kZWJ1Z2dlckFnZW50
LT5wYXVzZU9uTmV4dFN0YXRlbWVudEVuYWJsZWQoKSB8fCBtX3BhdXNlT25BbGxMaXN0ZW5lcnNF
bmFibGVkIHx8IG1fbGlzdGVuZXJCcmVha3BvaW50cy5jb250YWlucyhldmVudC50eXBlKCkpOwog
ICAgIGlmICghc2hvdWxkUGF1c2UgJiYgZG9tQWdlbnQpCiAgICAgICAgIHNob3VsZFBhdXNlID0g
ZG9tQWdlbnQtPmhhc0JyZWFrcG9pbnRGb3JFdmVudExpc3RlbmVyKCpldmVudC5jdXJyZW50VGFy
Z2V0KCksIGV2ZW50LnR5cGUoKSwgcmVnaXN0ZXJlZEV2ZW50TGlzdGVuZXIuY2FsbGJhY2soKSwg
cmVnaXN0ZXJlZEV2ZW50TGlzdGVuZXIudXNlQ2FwdHVyZSgpKTsKLQogICAgIGlmICghc2hvdWxk
UGF1c2UpCiAgICAgICAgIHJldHVybjsKIApAQCAtNDI0LDcgKzQ4MSw3IEBAIHZvaWQgSW5zcGVj
dG9yRE9NRGVidWdnZXJBZ2VudDo6d2lsbEhhbmRsZUV2ZW50KEV2ZW50JiBldmVudCwgY29uc3Qg
UmVnaXN0ZXJlZEV2CiAgICAgICAgICAgICBldmVudERhdGEtPnNldEludGVnZXIoImV2ZW50TGlz
dGVuZXJJZCJfcywgZXZlbnRMaXN0ZW5lcklkKTsKICAgICB9CiAKLSAgICBtX2RlYnVnZ2VyQWdl
bnQtPnNjaGVkdWxlUGF1c2VPbk5leHRTdGF0ZW1lbnQoSW5zcGVjdG9yOjpEZWJ1Z2dlckZyb250
ZW5kRGlzcGF0Y2hlcjo6UmVhc29uOjpFdmVudExpc3RlbmVyLCBXVEZNb3ZlKGV2ZW50RGF0YSkp
OworICAgIG1fZGVidWdnZXJBZ2VudC0+c2NoZWR1bGVQYXVzZU9uTmV4dFN0YXRlbWVudChJbnNw
ZWN0b3I6OkRlYnVnZ2VyRnJvbnRlbmREaXNwYXRjaGVyOjpSZWFzb246Okxpc3RlbmVyLCBXVEZN
b3ZlKGV2ZW50RGF0YSkpOwogfQogCiB2b2lkIEluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQ6OmRp
ZEhhbmRsZUV2ZW50KCkKQEAgLTQzNywxNCArNDk0LDExIEBAIHZvaWQgSW5zcGVjdG9yRE9NRGVi
dWdnZXJBZ2VudDo6d2lsbEZpcmVUaW1lcihib29sIG9uZVNob3QpCiAgICAgaWYgKCFtX2RlYnVn
Z2VyQWdlbnQtPmJyZWFrcG9pbnRzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIFN0
cmluZyBldmVudE5hbWUgPSBvbmVTaG90ID8gInNldFRpbWVvdXQiX3MgOiAic2V0SW50ZXJ2YWwi
X3M7Ci0gICAgYm9vbCBzaG91bGRQYXVzZSA9IG1fZGVidWdnZXJBZ2VudC0+cGF1c2VPbk5leHRT
dGF0ZW1lbnRFbmFibGVkKCkgfHwgbV9ldmVudEJyZWFrcG9pbnRzLmNvbnRhaW5zKHN0ZDo6bWFr
ZV9wYWlyKEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRPTURlYnVnZ2VyOjpFdmVudEJyZWFrcG9pbnRU
eXBlOjpUaW1lciwgZXZlbnROYW1lKSk7CisgICAgYm9vbCBzaG91bGRQYXVzZSA9IG1fZGVidWdn
ZXJBZ2VudC0+cGF1c2VPbk5leHRTdGF0ZW1lbnRFbmFibGVkKCkgfHwgKG9uZVNob3QgPyBtX3Bh
dXNlT25BbGxUaW1lb3V0c0VuYWJsZWQgOiBtX3BhdXNlT25BbGxJbnRlcnZhbHNFbmFibGVkKTsK
ICAgICBpZiAoIXNob3VsZFBhdXNlKQogICAgICAgICByZXR1cm47CiAKLSAgICBSZWY8SlNPTjo6
T2JqZWN0PiBldmVudERhdGEgPSBKU09OOjpPYmplY3Q6OmNyZWF0ZSgpOwotICAgIGV2ZW50RGF0
YS0+c2V0U3RyaW5nKCJldmVudE5hbWUiX3MsIGV2ZW50TmFtZSk7Ci0gICAgbV9kZWJ1Z2dlckFn
ZW50LT5zY2hlZHVsZVBhdXNlT25OZXh0U3RhdGVtZW50KEluc3BlY3Rvcjo6RGVidWdnZXJGcm9u
dGVuZERpc3BhdGNoZXI6OlJlYXNvbjo6VGltZXIsIFdURk1vdmUoZXZlbnREYXRhKSk7CisgICAg
bV9kZWJ1Z2dlckFnZW50LT5zY2hlZHVsZVBhdXNlT25OZXh0U3RhdGVtZW50KG9uZVNob3QgPyBJ
bnNwZWN0b3I6OkRlYnVnZ2VyRnJvbnRlbmREaXNwYXRjaGVyOjpSZWFzb246OlRpbWVvdXQgOiBJ
bnNwZWN0b3I6OkRlYnVnZ2VyRnJvbnRlbmREaXNwYXRjaGVyOjpSZWFzb246OkludGVydmFsLCBu
dWxscHRyKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50Ojp3aWxsRmlyZUFu
aW1hdGlvbkZyYW1lKCkKQEAgLTQ1MiwxNCArNTA2LDExIEBAIHZvaWQgSW5zcGVjdG9yRE9NRGVi
dWdnZXJBZ2VudDo6d2lsbEZpcmVBbmltYXRpb25GcmFtZSgpCiAgICAgaWYgKCFtX2RlYnVnZ2Vy
QWdlbnQtPmJyZWFrcG9pbnRzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIFN0cmlu
ZyBldmVudE5hbWUgPSAicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl9zOwotICAgIGJvb2wgc2hvdWxk
UGF1c2UgPSBtX2RlYnVnZ2VyQWdlbnQtPnBhdXNlT25OZXh0U3RhdGVtZW50RW5hYmxlZCgpIHx8
IG1fZXZlbnRCcmVha3BvaW50cy5jb250YWlucyhzdGQ6Om1ha2VfcGFpcihJbnNwZWN0b3I6OlBy
b3RvY29sOjpET01EZWJ1Z2dlcjo6RXZlbnRCcmVha3BvaW50VHlwZTo6QW5pbWF0aW9uRnJhbWUs
IGV2ZW50TmFtZSkpOworICAgIGJvb2wgc2hvdWxkUGF1c2UgPSBtX2RlYnVnZ2VyQWdlbnQtPnBh
dXNlT25OZXh0U3RhdGVtZW50RW5hYmxlZCgpIHx8IG1fcGF1c2VPbkFsbEFuaW1hdGlvbkZyYW1l
c0VuYWJsZWQ7CiAgICAgaWYgKCFzaG91bGRQYXVzZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
UmVmPEpTT046Ok9iamVjdD4gZXZlbnREYXRhID0gSlNPTjo6T2JqZWN0OjpjcmVhdGUoKTsKLSAg
ICBldmVudERhdGEtPnNldFN0cmluZygiZXZlbnROYW1lIl9zLCBldmVudE5hbWUpOwotICAgIG1f
ZGVidWdnZXJBZ2VudC0+c2NoZWR1bGVQYXVzZU9uTmV4dFN0YXRlbWVudChJbnNwZWN0b3I6OkRl
YnVnZ2VyRnJvbnRlbmREaXNwYXRjaGVyOjpSZWFzb246OkFuaW1hdGlvbkZyYW1lLCBXVEZNb3Zl
KGV2ZW50RGF0YSkpOworICAgIG1fZGVidWdnZXJBZ2VudC0+c2NoZWR1bGVQYXVzZU9uTmV4dFN0
YXRlbWVudChJbnNwZWN0b3I6OkRlYnVnZ2VyRnJvbnRlbmREaXNwYXRjaGVyOjpSZWFzb246OkFu
aW1hdGlvbkZyYW1lLCBudWxscHRyKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JET01EZWJ1Z2dlckFn
ZW50OjpzZXRVUkxCcmVha3BvaW50KEVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiB1cmwsIGNv
bnN0IGJvb2wqIG9wdGlvbmFsSXNSZWdleCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmgKaW5kZXggZGRh
NzMwZWFjM2I5ODA4M2I2NzA2MWUyNWE0NjI0Yjk5NjZjODliZS4uNGVmOWEwNDk5ZGZkYjhiMmFj
ZDIzY2E5OTMxMmQxZGFiYTFjOGNhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2FnZW50cy9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmgKQEAgLTYyLDgg
KzYyLDggQEAgcHVibGljOgogICAgIC8vIERPTURlYnVnZ2VyIEFQSQogICAgIHZvaWQgc2V0VVJM
QnJlYWtwb2ludChFcnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBib29sKiBv
cHRpb25hbElzUmVnZXgpIGZpbmFsOwogICAgIHZvaWQgcmVtb3ZlVVJMQnJlYWtwb2ludChFcnJv
clN0cmluZyYsIGNvbnN0IFN0cmluZyYgdXJsKSBmaW5hbDsKLSAgICB2b2lkIHNldEV2ZW50QnJl
YWtwb2ludChFcnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYgYnJlYWtwb2ludFR5cGUsIGNvbnN0
IFN0cmluZyYgZXZlbnROYW1lKSBmaW5hbDsKLSAgICB2b2lkIHJlbW92ZUV2ZW50QnJlYWtwb2lu
dChFcnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYgYnJlYWtwb2ludFR5cGUsIGNvbnN0IFN0cmlu
ZyYgZXZlbnROYW1lKSBmaW5hbDsKKyAgICB2b2lkIHNldEV2ZW50QnJlYWtwb2ludChFcnJvclN0
cmluZyYsIGNvbnN0IFN0cmluZyYgYnJlYWtwb2ludFR5cGUsIGNvbnN0IFN0cmluZyogZXZlbnRO
YW1lKSBmaW5hbDsKKyAgICB2b2lkIHJlbW92ZUV2ZW50QnJlYWtwb2ludChFcnJvclN0cmluZyYs
IGNvbnN0IFN0cmluZyYgYnJlYWtwb2ludFR5cGUsIGNvbnN0IFN0cmluZyogZXZlbnROYW1lKSBm
aW5hbDsKICAgICB2b2lkIHNldERPTUJyZWFrcG9pbnQoRXJyb3JTdHJpbmcmLCBpbnQgbm9kZUlk
LCBjb25zdCBTdHJpbmcmIHR5cGUpIGZpbmFsOwogICAgIHZvaWQgcmVtb3ZlRE9NQnJlYWtwb2lu
dChFcnJvclN0cmluZyYsIGludCBub2RlSWQsIGNvbnN0IFN0cmluZyYgdHlwZSkgZmluYWw7CiAK
QEAgLTk5LDcgKzk5LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRlc2NyaXB0aW9uRm9yRE9NRXZl
bnQoTm9kZSYgdGFyZ2V0LCBpbnQgYnJlYWtwb2ludFR5cGUsIGJvb2wgaW5zZXJ0aW9uLCBKU09O
OjpPYmplY3QmIGRlc2NyaXB0aW9uKTsKICAgICB2b2lkIHVwZGF0ZVN1YnRyZWVCcmVha3BvaW50
cyhOb2RlKiwgdWludDMyX3Qgcm9vdE1hc2ssIGJvb2wgc2V0KTsKICAgICBib29sIGhhc0JyZWFr
cG9pbnQoTm9kZSosIGludCB0eXBlKTsKLSAgICB2b2lkIGRpc2NhcmRCaW5kaW5ncygpOwogCiAg
ICAgUmVmUHRyPEluc3BlY3Rvcjo6RE9NRGVidWdnZXJCYWNrZW5kRGlzcGF0Y2hlcj4gbV9iYWNr
ZW5kRGlzcGF0Y2hlcjsKICAgICBJbnNwZWN0b3I6OkluamVjdGVkU2NyaXB0TWFuYWdlciYgbV9p
bmplY3RlZFNjcmlwdE1hbmFnZXI7CkBAIC0xMDcsMTUgKzEwNiwxNiBAQCBwcml2YXRlOgogICAg
IEluc3BlY3Rvcjo6SW5zcGVjdG9yRGVidWdnZXJBZ2VudCogbV9kZWJ1Z2dlckFnZW50IHsgbnVs
bHB0ciB9OwogCiAgICAgSGFzaE1hcDxOb2RlKiwgdWludDMyX3Q+IG1fZG9tQnJlYWtwb2ludHM7
Ci0KLSAgICB1c2luZyBFdmVudEJyZWFrcG9pbnRUeXBlID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6
RE9NRGVidWdnZXI6OkV2ZW50QnJlYWtwb2ludFR5cGU7Ci0gICAgSGFzaFNldDxzdGQ6OnBhaXI8
RXZlbnRCcmVha3BvaW50VHlwZSwgU3RyaW5nPiwKLSAgICAgICAgV1RGOjpQYWlySGFzaDxFdmVu
dEJyZWFrcG9pbnRUeXBlLCBTdHJpbmc+LAotICAgICAgICBXVEY6OlBhaXJIYXNoVHJhaXRzPFdU
Rjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8RXZlbnRCcmVha3BvaW50VHlwZT4sIFdURjo6SGFzaFRy
YWl0czxTdHJpbmc+PgotICAgID4gbV9ldmVudEJyZWFrcG9pbnRzOworICAgIEhhc2hTZXQ8U3Ry
aW5nPiBtX2xpc3RlbmVyQnJlYWtwb2ludHM7CiAKICAgICBlbnVtIGNsYXNzIFVSTEJyZWFrcG9p
bnRUeXBlIHsgUmVndWxhckV4cHJlc3Npb24sIFRleHQgfTsKICAgICBIYXNoTWFwPFN0cmluZywg
VVJMQnJlYWtwb2ludFR5cGU+IG1fdXJsQnJlYWtwb2ludHM7CisKKyAgICBib29sIG1fcGF1c2VP
bkFsbEFuaW1hdGlvbkZyYW1lc0VuYWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9wYXVzZU9u
QWxsSW50ZXJ2YWxzRW5hYmxlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX3BhdXNlT25BbGxMaXN0
ZW5lcnNFbmFibGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1fcGF1c2VPbkFsbFRpbWVvdXRzRW5h
YmxlZCB7IGZhbHNlIH07CisKICAgICBib29sIG1fcGF1c2VPbkFsbFVSTHNFbmFibGVkIHsgZmFs
c2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRp
b25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
TG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IDk2NDZiZWM1
Yzc3YmRhODdiMWY2OTQ2ZjA4NWI5YzcyOWU4MzBmNTIuLmVjOTdhNWU3MjBlMzZlZWFhZmJhYzdk
YjU5NDE5NDdiMWRlZTgxMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2Nh
bGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwpAQCAt
OTYsMTQgKzk2LDE4IEBAIGxvY2FsaXplZFN0cmluZ3NbIkFkZCB3YXRjaCBleHByZXNzaW9uIl0g
PSAiQWRkIHdhdGNoIGV4cHJlc3Npb24iOwogbG9jYWxpemVkU3RyaW5nc1siQWRkaXRpb25zIl0g
PSAiQWRkaXRpb25zIjsKIGxvY2FsaXplZFN0cmluZ3NbIkFkZHJlc3MiXSA9ICJBZGRyZXNzIjsK
IGxvY2FsaXplZFN0cmluZ3NbIkFsbCJdID0gIkFsbCI7Citsb2NhbGl6ZWRTdHJpbmdzWyJBbGwg
QW5pbWF0aW9uIEZyYW1lcyJdID0gIkFsbCBBbmltYXRpb24gRnJhbWVzIjsKIGxvY2FsaXplZFN0
cmluZ3NbIkFsbCBDaGFuZ2VzIl0gPSAiQWxsIENoYW5nZXMiOworbG9jYWxpemVkU3RyaW5nc1si
QWxsIEV2ZW50cyJdID0gIkFsbCBFdmVudHMiOwogLyogQnJlYWsgKHBhdXNlKSBvbiBhbGwgZXhj
ZXB0aW9ucyAqLwogbG9jYWxpemVkU3RyaW5nc1siQWxsIEV4Y2VwdGlvbnMiXSA9ICJBbGwgRXhj
ZXB0aW9ucyI7Citsb2NhbGl6ZWRTdHJpbmdzWyJBbGwgSW50ZXJ2YWxzIl0gPSAiQWxsIEludGVy
dmFscyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJBbGwgTGF5ZXJzIl0gPSAiQWxsIExheWVycyI7CiAv
KiBBIHN1Ym1lbnUgaXRlbSBvZiAnQnJlYWsgb24nIHRoYXQgYnJlYWtzIChwYXVzZXMpIGJlZm9y
ZSBhbGwgbmV0d29yayByZXF1ZXN0cyAqLwogbG9jYWxpemVkU3RyaW5nc1siQWxsIFJlcXVlc3Rz
Il0gPSAiQWxsIFJlcXVlc3RzIjsKIGxvY2FsaXplZFN0cmluZ3NbIkFsbCBSZXNvdXJjZXMiXSA9
ICJBbGwgUmVzb3VyY2VzIjsKIGxvY2FsaXplZFN0cmluZ3NbIkFsbCBTdG9yYWdlIl0gPSAiQWxs
IFN0b3JhZ2UiOworbG9jYWxpemVkU3RyaW5nc1siQWxsIFRpbWVvdXRzIl0gPSAiQWxsIFRpbWVv
dXRzIjsKIGxvY2FsaXplZFN0cmluZ3NbIkFsbCBpdGVtcyBpbiBcdTAwMjIlc1x1MDAyMiBtdXN0
IGJlIGVycm9yIG9iamVjdHMiXSA9ICJBbGwgaXRlbXMgaW4gXHUwMDIyJXNcdTAwMjIgbXVzdCBi
ZSBlcnJvciBvYmplY3RzIjsKIGxvY2FsaXplZFN0cmluZ3NbIkFsbCBpdGVtcyBpbiBcdTAwMjIl
c1x1MDAyMiBtdXN0IGJlIG5vbi1lbXB0eSBzdHJpbmdzIl0gPSAiQWxsIGl0ZW1zIGluIFx1MDAy
MiVzXHUwMDIyIG11c3QgYmUgbm9uLWVtcHR5IHN0cmluZ3MiOwogbG9jYWxpemVkU3RyaW5nc1si
QWxsIGl0ZW1zIGluIFx1MDAyMiVzXHUwMDIyIG11c3QgYmUgdmFsaWQgRE9NIG5vZGVzIl0gPSAi
QWxsIGl0ZW1zIGluIFx1MDAyMiVzXHUwMDIyIG11c3QgYmUgdmFsaWQgRE9NIG5vZGVzIjsKQEAg
LTMwMCw3ICszMDQsNiBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJDdXN0b20iXSA9ICJDdXN0b20iOwog
bG9jYWxpemVkU3RyaW5nc1siRE5TIl0gPSAiRE5TIjsKIGxvY2FsaXplZFN0cmluZ3NbIkRPTSJd
ID0gIkRPTSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJET00gQ29udGVudCBMb2FkZWQgXHUyMDE0ICVz
Il0gPSAiRE9NIENvbnRlbnQgTG9hZGVkIFx1MjAxNCAlcyI7Ci1sb2NhbGl6ZWRTdHJpbmdzWyJE
T00gRXZlbnQiXSA9ICJET00gRXZlbnQiOwogbG9jYWxpemVkU3RyaW5nc1siRE9NIEV2ZW50cyJd
ID0gIkRPTSBFdmVudHMiOwogbG9jYWxpemVkU3RyaW5nc1siRE9NIE5vZGVzOiJdID0gIkRPTSBO
b2RlczoiOwogbG9jYWxpemVkU3RyaW5nc1siRGFtcGluZyJdID0gIkRhbXBpbmciOwpAQCAtMTI1
Niw2ICsxMjU5LDkgQEAgbG9jYWxpemVkU3RyaW5nc1sibm9uLXN0cmluZyAlcyJdID0gIm5vbi1z
dHJpbmcgJXMiOwogbG9jYWxpemVkU3RyaW5nc1sib3JpZ2luYWxseSAlcyJdID0gIm9yaWdpbmFs
bHkgJXMiOwogbG9jYWxpemVkU3RyaW5nc1sicG9wdXAiXSA9ICJwb3B1cCI7CiBsb2NhbGl6ZWRT
dHJpbmdzWyJwb3B1cCwgdG9nZ2xlIl0gPSAicG9wdXAsIHRvZ2dsZSI7Citsb2NhbGl6ZWRTdHJp
bmdzWyJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUgRmlyZWQiXSA9ICJyZXF1ZXN0QW5pbWF0aW9uRnJh
bWUgRmlyZWQiOworbG9jYWxpemVkU3RyaW5nc1sic2V0SW50ZXJ2YWwgRmlyZWQiXSA9ICJzZXRJ
bnRlcnZhbCBGaXJlZCI7Citsb2NhbGl6ZWRTdHJpbmdzWyJzZXRUaW1lb3V0IEZpcmVkIl0gPSAi
c2V0VGltZW91dCBGaXJlZCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJzcGFjZSJdID0gInNwYWNlIjsK
IGxvY2FsaXplZFN0cmluZ3NbInNwYWNlcyJdID0gInNwYWNlcyI7CiBsb2NhbGl6ZWRTdHJpbmdz
WyJ0aW1lIGJlZm9yZSBzdG9wcGluZyJdID0gInRpbWUgYmVmb3JlIHN0b3BwaW5nIjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvU2V0dGluZy5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvU2V0dGluZy5qcwpp
bmRleCBkODc3ZGQzODdiMDliOTI1MDI1NjgzYjkzZDdhMWMwYmM0NjRiZTY3Li4wZGQ1MTYxOGIy
OGQ2Y2YwYWU4NGZhNTQyMTcyMWU3NWM3YjJhOTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL1NldHRpbmcuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9TZXR0aW5nLmpzCkBAIC0xNTgsNyArMTU4LDEx
IEBAIFdJLnNldHRpbmdzID0gewogICAgIHNlYXJjaFJlZ3VsYXJFeHByZXNzaW9uOiBuZXcgV0ku
U2V0dGluZygic2VhcmNoLXJlZ3VsYXItZXhwcmVzc2lvbiIsIGZhbHNlKSwKICAgICBzZWxlY3Rl
ZE5ldHdvcmtEZXRhaWxDb250ZW50Vmlld0lkZW50aWZpZXI6IG5ldyBXSS5TZXR0aW5nKCJuZXR3
b3JrLWRldGFpbC1jb250ZW50LXZpZXctaWRlbnRpZmllciIsICJwcmV2aWV3IiksCiAgICAgc291
cmNlTWFwc0VuYWJsZWQ6IG5ldyBXSS5TZXR0aW5nKCJzb3VyY2UtbWFwcy1lbmFibGVkIiwgdHJ1
ZSksCisgICAgc2hvd0FsbEFuaW1hdGlvbkZyYW1lc0JyZWFrcG9pbnQ6IG5ldyBXSS5TZXR0aW5n
KCJzaG93LWFsbC1hbmltYXRpb24tZnJhbWVzLWJyZWFrcG9pbnQiLCBmYWxzZSksCisgICAgc2hv
d0FsbEludGVydmFsc0JyZWFrcG9pbnQ6IG5ldyBXSS5TZXR0aW5nKCJzaG93LWFsbC1pbnRldmVy
YWxzLWJyZWFrcG9pbnQiLCBmYWxzZSksCisgICAgc2hvd0FsbExpc3RlbmVyc0JyZWFrcG9pbnQ6
IG5ldyBXSS5TZXR0aW5nKCJzaG93LWFsbC1saXN0ZW5lcnMtYnJlYWtwb2ludCIsIGZhbHNlKSwK
ICAgICBzaG93QWxsUmVxdWVzdHNCcmVha3BvaW50OiBuZXcgV0kuU2V0dGluZygic2hvdy1hbGwt
cmVxdWVzdHMtYnJlYWtwb2ludCIsIHRydWUpLAorICAgIHNob3dBbGxUaW1lb3V0c0JyZWFrcG9p
bnQ6IG5ldyBXSS5TZXR0aW5nKCJzaG93LWFsbC10aW1lb3V0cy1icmVha3BvaW50IiwgZmFsc2Up
LAogICAgIHNob3dBc3NlcnRpb25GYWlsdXJlc0JyZWFrcG9pbnQ6IG5ldyBXSS5TZXR0aW5nKCJz
aG93LWFzc2VydGlvbi1mYWlsdXJlcy1icmVha3BvaW50IiwgdHJ1ZSksCiAgICAgc2hvd0NhbnZh
c1BhdGg6IG5ldyBXSS5TZXR0aW5nKCJzaG93LWNhbnZhcy1wYXRoIiwgZmFsc2UpLAogICAgIHNo
b3dJbWFnZUdyaWQ6IG5ldyBXSS5TZXR0aW5nKCJzaG93LWltYWdlLWdyaWQiLCBmYWxzZSksCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVy
cy9ET01EZWJ1Z2dlck1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Db250cm9sbGVycy9ET01EZWJ1Z2dlck1hbmFnZXIuanMKaW5kZXggZGQ4OGE2MzU5NDNk
OWI0N2U5Mzg2MzgzOTI3ODgyNDQxODBkMDc4YS4uZGUzNjA0MjRjOWUzZDg3NmI0NjZhYTMxZGI3
Y2Y5OTU1MjM2NDgwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvQ29udHJvbGxlcnMvRE9NRGVidWdnZXJNYW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTURlYnVnZ2VyTWFuYWdlci5q
cwpAQCAtMzIsMTEgKzMyLDMxIEBAIFdJLkRPTURlYnVnZ2VyTWFuYWdlciA9IGNsYXNzIERPTURl
YnVnZ2VyTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICB0aGlzLl9kb21CcmVha3Bv
aW50VVJMTWFwID0gbmV3IE11bHRpbWFwOwogICAgICAgICB0aGlzLl9kb21CcmVha3BvaW50RnJh
bWVJZGVudGlmaWVyTWFwID0gbmV3IE1hcDsKIAotICAgICAgICB0aGlzLl9ldmVudEJyZWFrcG9p
bnRzID0gW107CisgICAgICAgIHRoaXMuX2xpc3RlbmVyQnJlYWtwb2ludHMgPSBbXTsKKworICAg
ICAgICB0aGlzLl9hbGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50RW5hYmxlZFNldHRpbmcgPSBu
ZXcgV0kuU2V0dGluZygiYnJlYWstb24tYWxsLWFuaW1hdGlvbi1mcmFtZXMiLCBmYWxzZSk7Cisg
ICAgICAgIHRoaXMuX2FsbEFuaW1hdGlvbkZyYW1lc0JyZWFrcG9pbnQgPSBuZXcgV0kuRXZlbnRC
cmVha3BvaW50KFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkFuaW1hdGlvbkZyYW1lLCB7CisgICAg
ICAgICAgICBkaXNhYmxlZDogIXRoaXMuX2FsbEFuaW1hdGlvbkZyYW1lc0JyZWFrcG9pbnRFbmFi
bGVkU2V0dGluZy52YWx1ZSwKKyAgICAgICAgfSk7CisKKyAgICAgICAgdGhpcy5fYWxsSW50ZXJ2
YWxzQnJlYWtwb2ludEVuYWJsZWRTZXR0aW5nID0gbmV3IFdJLlNldHRpbmcoImJyZWFrLW9uLWFs
bC1pbnRlcnZhbHMiLCBmYWxzZSk7CisgICAgICAgIHRoaXMuX2FsbEludGVydmFsc0JyZWFrcG9p
bnQgPSBuZXcgV0kuRXZlbnRCcmVha3BvaW50KFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkludGVy
dmFsLCB7CisgICAgICAgICAgICBkaXNhYmxlZDogIXRoaXMuX2FsbEludGVydmFsc0JyZWFrcG9p
bnRFbmFibGVkU2V0dGluZy52YWx1ZSwKKyAgICAgICAgfSk7CisKKyAgICAgICAgdGhpcy5fYWxs
TGlzdGVuZXJzQnJlYWtwb2ludEVuYWJsZWRTZXR0aW5nID0gbmV3IFdJLlNldHRpbmcoImJyZWFr
LW9uLWFsbC1saXN0ZW5lcnMiLCBmYWxzZSk7CisgICAgICAgIHRoaXMuX2FsbExpc3RlbmVyc0Jy
ZWFrcG9pbnQgPSBuZXcgV0kuRXZlbnRCcmVha3BvaW50KFdJLkV2ZW50QnJlYWtwb2ludC5UeXBl
Lkxpc3RlbmVyLCB7CisgICAgICAgICAgICBkaXNhYmxlZDogIXRoaXMuX2FsbExpc3RlbmVyc0Jy
ZWFrcG9pbnRFbmFibGVkU2V0dGluZy52YWx1ZSwKKyAgICAgICAgfSk7CisKKyAgICAgICAgdGhp
cy5fYWxsVGltZW91dHNCcmVha3BvaW50RW5hYmxlZFNldHRpbmcgPSBuZXcgV0kuU2V0dGluZygi
YnJlYWstb24tYWxsLXRpbWVvdXRzIiwgZmFsc2UpOworICAgICAgICB0aGlzLl9hbGxUaW1lb3V0
c0JyZWFrcG9pbnQgPSBuZXcgV0kuRXZlbnRCcmVha3BvaW50KFdJLkV2ZW50QnJlYWtwb2ludC5U
eXBlLlRpbWVvdXQsIHsKKyAgICAgICAgICAgIGRpc2FibGVkOiAhdGhpcy5fYWxsVGltZW91dHNC
cmVha3BvaW50RW5hYmxlZFNldHRpbmcudmFsdWUsCisgICAgICAgIH0pOwogCiAgICAgICAgIHRo
aXMuX3VybEJyZWFrcG9pbnRzID0gW107Ci0gICAgICAgIHRoaXMuX2FsbFJlcXVlc3RzQnJlYWtw
b2ludEVuYWJsZWRTZXR0aW5nID0gbmV3IFdJLlNldHRpbmcoImJyZWFrLW9uLWFsbC1yZXF1ZXN0
cyIsIGZhbHNlKTsKIAorICAgICAgICB0aGlzLl9hbGxSZXF1ZXN0c0JyZWFrcG9pbnRFbmFibGVk
U2V0dGluZyA9IG5ldyBXSS5TZXR0aW5nKCJicmVhay1vbi1hbGwtcmVxdWVzdHMiLCBmYWxzZSk7
CiAgICAgICAgIHRoaXMuX2FsbFJlcXVlc3RzQnJlYWtwb2ludCA9IG5ldyBXSS5VUkxCcmVha3Bv
aW50KFdJLlVSTEJyZWFrcG9pbnQuVHlwZS5UZXh0LCAiIiwgewogICAgICAgICAgICAgZGlzYWJs
ZWQ6ICF0aGlzLl9hbGxSZXF1ZXN0c0JyZWFrcG9pbnRFbmFibGVkU2V0dGluZy52YWx1ZSwKICAg
ICAgICAgfSk7CkBAIC03NiwxNSArOTYsNTIgQEAgV0kuRE9NRGVidWdnZXJNYW5hZ2VyID0gY2xh
c3MgRE9NRGVidWdnZXJNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICB0aGlz
Ll9yZXN0b3JpbmdCcmVha3BvaW50cyA9IGZhbHNlOwogICAgICAgICB9OwogCi0gICAgICAgIGlm
ICh0aGlzLnN1cHBvcnRlZCkgeworICAgICAgICBpZiAoRE9NRGVidWdnZXJNYW5hZ2VyLnN1cHBv
cnRzRE9NQnJlYWtwb2ludHMoKSkgewogICAgICAgICAgICAgbG9hZEJyZWFrcG9pbnRzKFdJLkRP
TUJyZWFrcG9pbnQsIFdJLm9iamVjdFN0b3Jlcy5kb21CcmVha3BvaW50cywgWyJkb20tYnJlYWtw
b2ludHMiXSwgKGJyZWFrcG9pbnQpID0+IHsKICAgICAgICAgICAgICAgICB0aGlzLmFkZERPTUJy
ZWFrcG9pbnQoYnJlYWtwb2ludCk7CiAgICAgICAgICAgICB9KTsKKyAgICAgICAgfQogCisgICAg
ICAgIGlmIChET01EZWJ1Z2dlck1hbmFnZXIuc3VwcG9ydHNFdmVudEJyZWFrcG9pbnRzKCkgfHwg
RE9NRGVidWdnZXJNYW5hZ2VyLnN1cHBvcnRzRXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRzKCkpIHsK
ICAgICAgICAgICAgIGxvYWRCcmVha3BvaW50cyhXSS5FdmVudEJyZWFrcG9pbnQsIFdJLm9iamVj
dFN0b3Jlcy5ldmVudEJyZWFrcG9pbnRzLCBbImV2ZW50LWJyZWFrcG9pbnRzIl0sIChicmVha3Bv
aW50KSA9PiB7CisgICAgICAgICAgICAgICAgc3dpdGNoIChicmVha3BvaW50LnR5cGUpIHsKKyAg
ICAgICAgICAgICAgICBjYXNlIFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkFuaW1hdGlvbkZyYW1l
OgorICAgICAgICAgICAgICAgICAgICB0aGlzLl9hbGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50
LmRpc2FibGVkID0gYnJlYWtwb2ludC5kaXNhYmxlZDsKKyAgICAgICAgICAgICAgICAgICAgaWYg
KCFXSS5zZXR0aW5ncy5zaG93QWxsQW5pbWF0aW9uRnJhbWVzQnJlYWtwb2ludC52YWx1ZSkgewor
ICAgICAgICAgICAgICAgICAgICAgICAgV0kuc2V0dGluZ3Muc2hvd0FsbEFuaW1hdGlvbkZyYW1l
c0JyZWFrcG9pbnQudmFsdWUgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5h
ZGRFdmVudEJyZWFrcG9pbnQodGhpcy5fYWxsQW5pbWF0aW9uRnJhbWVzQnJlYWtwb2ludCk7Cisg
ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgV0kub2JqZWN0U3RvcmVz
LmV2ZW50QnJlYWtwb2ludHMuZGVsZXRlT2JqZWN0KGJyZWFrcG9pbnQpOworICAgICAgICAgICAg
ICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgICAgICBjYXNlIFdJLkV2ZW50QnJlYWtwb2lu
dC5UeXBlLlRpbWVyOgorICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGJyZWFrcG9pbnQuZXZl
bnROYW1lKSB7CisgICAgICAgICAgICAgICAgICAgIGNhc2UgInNldFRpbWVvdXQiOgorICAgICAg
ICAgICAgICAgICAgICAgICAgdGhpcy5fYWxsVGltZW91dHNCcmVha3BvaW50LmRpc2FibGVkID0g
YnJlYWtwb2ludC5kaXNhYmxlZDsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghV0kuc2V0
dGluZ3Muc2hvd0FsbFRpbWVvdXRzQnJlYWtwb2ludC52YWx1ZSkgeworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFdJLnNldHRpbmdzLnNob3dBbGxUaW1lb3V0c0JyZWFrcG9pbnQudmFsdWUg
PSB0cnVlOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkRXZlbnRCcmVha3Bv
aW50KHRoaXMuX2FsbFRpbWVvdXRzQnJlYWtwb2ludCk7CisgICAgICAgICAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgICAg
ICBjYXNlICJzZXRJbnRlcnZhbCI6CisgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9hbGxJ
bnRlcnZhbHNCcmVha3BvaW50LmRpc2FibGVkID0gYnJlYWtwb2ludC5kaXNhYmxlZDsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICghV0kuc2V0dGluZ3Muc2hvd0FsbEludGVydmFsc0JyZWFr
cG9pbnQudmFsdWUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBXSS5zZXR0aW5ncy5z
aG93QWxsSW50ZXJ2YWxzQnJlYWtwb2ludC52YWx1ZSA9IHRydWU7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdGhpcy5hZGRFdmVudEJyZWFrcG9pbnQodGhpcy5fYWxsSW50ZXJ2YWxzQnJl
YWtwb2ludCk7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAg
IFdJLm9iamVjdFN0b3Jlcy5ldmVudEJyZWFrcG9pbnRzLmRlbGV0ZU9iamVjdChicmVha3BvaW50
KTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIH0KKwogICAg
ICAgICAgICAgICAgIHRoaXMuYWRkRXZlbnRCcmVha3BvaW50KGJyZWFrcG9pbnQpOwogICAgICAg
ICAgICAgfSk7CisgICAgICAgIH0KIAorICAgICAgICBpZiAoRE9NRGVidWdnZXJNYW5hZ2VyLnN1
cHBvcnRzVVJMQnJlYWtwb2ludHMoKSB8fCBET01EZWJ1Z2dlck1hbmFnZXIuc3VwcG9ydHNYSFJC
cmVha3BvaW50cygpKSB7CiAgICAgICAgICAgICBsb2FkQnJlYWtwb2ludHMoV0kuVVJMQnJlYWtw
b2ludCwgV0kub2JqZWN0U3RvcmVzLnVybEJyZWFrcG9pbnRzLCBbInhoci1icmVha3BvaW50cyIs
ICJ1cmwtYnJlYWtwb2ludHMiXSwgKGJyZWFrcG9pbnQpID0+IHsKICAgICAgICAgICAgICAgICB0
aGlzLmFkZFVSTEJyZWFrcG9pbnQoYnJlYWtwb2ludCk7CiAgICAgICAgICAgICB9KTsKQEAgLTk5
LDMxICsxNTYsNjkgQEAgV0kuRE9NRGVidWdnZXJNYW5hZ2VyID0gY2xhc3MgRE9NRGVidWdnZXJN
YW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICBpZiAodGFyZ2V0ID09PSBXSS5h
c3N1bWluZ01haW5UYXJnZXQoKSAmJiB0YXJnZXQubWFpblJlc291cmNlKQogICAgICAgICAgICAg
ICAgIHRoaXMuX3NwZWN1bGF0aXZlbHlSZXNvbHZlRE9NQnJlYWtwb2ludHNGb3JVUkwodGFyZ2V0
Lm1haW5SZXNvdXJjZS51cmwpOwogCi0gICAgICAgICAgICBmb3IgKGxldCBicmVha3BvaW50IG9m
IHRoaXMuX2V2ZW50QnJlYWtwb2ludHMpIHsKKyAgICAgICAgICAgIGlmICghdGhpcy5fYWxsQW5p
bWF0aW9uRnJhbWVzQnJlYWtwb2ludC5kaXNhYmxlZCkKKyAgICAgICAgICAgICAgICB0aGlzLl91
cGRhdGVFdmVudEJyZWFrcG9pbnQodGhpcy5fYWxsQW5pbWF0aW9uRnJhbWVzQnJlYWtwb2ludCwg
dGFyZ2V0KTsKKworICAgICAgICAgICAgaWYgKCF0aGlzLl9hbGxJbnRlcnZhbHNCcmVha3BvaW50
LmRpc2FibGVkKQorICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUV2ZW50QnJlYWtwb2ludCh0
aGlzLl9hbGxJbnRlcnZhbHNCcmVha3BvaW50LCB0YXJnZXQpOworCisgICAgICAgICAgICBpZiAo
IXRoaXMuX2FsbExpc3RlbmVyc0JyZWFrcG9pbnQuZGlzYWJsZWQpCisgICAgICAgICAgICAgICAg
dGhpcy5fdXBkYXRlRXZlbnRCcmVha3BvaW50KHRoaXMuX2FsbExpc3RlbmVyc0JyZWFrcG9pbnQs
IHRhcmdldCk7CisKKyAgICAgICAgICAgIGlmICghdGhpcy5fYWxsVGltZW91dHNCcmVha3BvaW50
LmRpc2FibGVkKQorICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUV2ZW50QnJlYWtwb2ludCh0
aGlzLl9hbGxUaW1lb3V0c0JyZWFrcG9pbnQsIHRhcmdldCk7CisKKyAgICAgICAgICAgIGZvciAo
bGV0IGJyZWFrcG9pbnQgb2YgdGhpcy5fbGlzdGVuZXJCcmVha3BvaW50cykgewogICAgICAgICAg
ICAgICAgIGlmICghYnJlYWtwb2ludC5kaXNhYmxlZCkKICAgICAgICAgICAgICAgICAgICAgdGhp
cy5fdXBkYXRlRXZlbnRCcmVha3BvaW50KGJyZWFrcG9pbnQsIHRhcmdldCk7CiAgICAgICAgICAg
ICB9CiAKKyAgICAgICAgICAgIGlmICghdGhpcy5fYWxsUmVxdWVzdHNCcmVha3BvaW50LmRpc2Fi
bGVkKQorICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVVSTEJyZWFrcG9pbnQodGhpcy5fYWxs
UmVxdWVzdHNCcmVha3BvaW50LCB0YXJnZXQpOworCiAgICAgICAgICAgICBmb3IgKGxldCBicmVh
a3BvaW50IG9mIHRoaXMuX3VybEJyZWFrcG9pbnRzKSB7CiAgICAgICAgICAgICAgICAgaWYgKCFi
cmVha3BvaW50LmRpc2FibGVkKQogICAgICAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVVUkxC
cmVha3BvaW50KGJyZWFrcG9pbnQsIHRhcmdldCk7CiAgICAgICAgICAgICB9Ci0KLSAgICAgICAg
ICAgIGlmICghdGhpcy5fYWxsUmVxdWVzdHNCcmVha3BvaW50LmRpc2FibGVkKQotICAgICAgICAg
ICAgICAgIHRoaXMuX3VwZGF0ZVVSTEJyZWFrcG9pbnQodGhpcy5fYWxsUmVxdWVzdHNCcmVha3Bv
aW50LCB0YXJnZXQpOwogICAgICAgICB9CiAgICAgfQogCiAgICAgLy8gU3RhdGljCiAKKyAgICBz
dGF0aWMgc3VwcG9ydHNET01CcmVha3BvaW50cygpCisgICAgeworICAgICAgICAvLyBDT01QQVRJ
QklMSVRZIChpT1MgMTAuMyk6IERPTURlYnVnZ2VyLnNldERPTUJyZWFrcG9pbnQgYW5kIERPTURl
YnVnZ2VyLnJlbW92ZURPTUJyZWFrcG9pbnQgZGlkIG5vdCBleGlzdC4KKyAgICAgICAgcmV0dXJu
IEluc3BlY3RvckJhY2tlbmQuZG9tYWlucy5ET01EZWJ1Z2dlciAmJiBJbnNwZWN0b3JCYWNrZW5k
LmRvbWFpbnMuRE9NRGVidWdnZXIuc2V0RE9NQnJlYWtwb2ludCAmJiBJbnNwZWN0b3JCYWNrZW5k
LmRvbWFpbnMuRE9NRGVidWdnZXIucmVtb3ZlRE9NQnJlYWtwb2ludDsKKyAgICB9CisKICAgICBz
dGF0aWMgc3VwcG9ydHNFdmVudEJyZWFrcG9pbnRzKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBJ
bnNwZWN0b3JCYWNrZW5kLmRvbWFpbnMuRE9NRGVidWdnZXIuc2V0RXZlbnRCcmVha3BvaW50ICYm
IEluc3BlY3RvckJhY2tlbmQuZG9tYWlucy5ET01EZWJ1Z2dlci5yZW1vdmVFdmVudEJyZWFrcG9p
bnQ7CisgICAgICAgIC8vIENPTVBBVElCSUxJVFkgKGlPUyAxMyk6IERPTURlYnVnZ2VyLnNldEV2
ZW50QnJlYWtwb2ludCBhbmQgRE9NRGVidWdnZXIucmVtb3ZlRXZlbnRCcmVha3BvaW50IGRpZCBu
b3QgZXhpc3QuCisgICAgICAgIHJldHVybiBJbnNwZWN0b3JCYWNrZW5kLmRvbWFpbnMuRE9NRGVi
dWdnZXIgJiYgSW5zcGVjdG9yQmFja2VuZC5kb21haW5zLkRPTURlYnVnZ2VyLnNldEV2ZW50QnJl
YWtwb2ludCAmJiBJbnNwZWN0b3JCYWNrZW5kLmRvbWFpbnMuRE9NRGVidWdnZXIucmVtb3ZlRXZl
bnRCcmVha3BvaW50OworICAgIH0KKworICAgIHN0YXRpYyBzdXBwb3J0c0V2ZW50TGlzdGVuZXJC
cmVha3BvaW50cygpCisgICAgeworICAgICAgICAvLyBDT01QQVRJQklMSVRZIChpT1MgMTIuMik6
IFJlcGxhY2VkIGJ5IERPTURlYnVnZ2VyLnNldEV2ZW50QnJlYWtwb2ludCBhbmQgRE9NRGVidWdn
ZXIucmVtb3ZlRXZlbnRCcmVha3BvaW50LgorICAgICAgICByZXR1cm4gSW5zcGVjdG9yQmFja2Vu
ZC5kb21haW5zLkRPTURlYnVnZ2VyICYmIEluc3BlY3RvckJhY2tlbmQuZG9tYWlucy5ET01EZWJ1
Z2dlci5zZXRFdmVudExpc3RlbmVyQnJlYWtwb2ludCAmJiBJbnNwZWN0b3JCYWNrZW5kLmRvbWFp
bnMuRE9NRGVidWdnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lckJyZWFrcG9pbnQ7CiAgICAgfQogCiAg
ICAgc3RhdGljIHN1cHBvcnRzVVJMQnJlYWtwb2ludHMoKQogICAgIHsKLSAgICAgICAgcmV0dXJu
IEluc3BlY3RvckJhY2tlbmQuZG9tYWlucy5ET01EZWJ1Z2dlci5zZXRVUkxCcmVha3BvaW50ICYm
IEluc3BlY3RvckJhY2tlbmQuZG9tYWlucy5ET01EZWJ1Z2dlci5yZW1vdmVVUkxCcmVha3BvaW50
OworICAgICAgICAvLyBDT01QQVRJQklMSVRZIChpT1MgMTMpOiBET01EZWJ1Z2dlci5zZXRVUkxC
cmVha3BvaW50IGFuZCBET01EZWJ1Z2dlci5yZW1vdmVVUkxCcmVha3BvaW50IGRpZCBub3QgZXhp
c3QuCisgICAgICAgIHJldHVybiBJbnNwZWN0b3JCYWNrZW5kLmRvbWFpbnMuRE9NRGVidWdnZXIg
JiYgSW5zcGVjdG9yQmFja2VuZC5kb21haW5zLkRPTURlYnVnZ2VyLnNldFVSTEJyZWFrcG9pbnQg
JiYgSW5zcGVjdG9yQmFja2VuZC5kb21haW5zLkRPTURlYnVnZ2VyLnJlbW92ZVVSTEJyZWFrcG9p
bnQ7CisgICAgfQorCisgICAgc3RhdGljIHN1cHBvcnRzWEhSQnJlYWtwb2ludHMoKQorICAgIHsK
KyAgICAgICAgLy8gQ09NUEFUSUJJTElUWSAoaU9TIDEzKTogUmVwbGFjZWQgYnkgRE9NRGVidWdn
ZXIuc2V0VVJMQnJlYWtwb2ludCBhbmQgRE9NRGVidWdnZXIucmVtb3ZlVVJMQnJlYWtwb2ludC4K
KyAgICAgICAgcmV0dXJuIEluc3BlY3RvckJhY2tlbmQuZG9tYWlucy5ET01EZWJ1Z2dlciAmJiBJ
bnNwZWN0b3JCYWNrZW5kLmRvbWFpbnMuRE9NRGVidWdnZXIuc2V0WEhSQnJlYWtwb2ludCAmJiBJ
bnNwZWN0b3JCYWNrZW5kLmRvbWFpbnMuRE9NRGVidWdnZXIucmVtb3ZlWEhSQnJlYWtwb2ludDsK
KyAgICB9CisKKyAgICBzdGF0aWMgc3VwcG9ydHNBbGxMaXN0ZW5lcnNCcmVha3BvaW50KCkKKyAg
ICB7CisgICAgICAgIC8vIENPTVBBVElCSUxJVFkgKGlPUyAxMyk6IERPTURlYnVnZ2VyLkV2ZW50
QnJlYWtwb2ludFR5cGUuSW50ZXJ2YWwgYW5kIERPTURlYnVnZ2VyLkV2ZW50QnJlYWtwb2ludFR5
cGUuVGltZW91dCBkaWQgbm90IGV4aXN0LgorICAgICAgICByZXR1cm4gRE9NRGVidWdnZXJNYW5h
Z2VyLnN1cHBvcnRzRXZlbnRCcmVha3BvaW50cygpICYmIEluc3BlY3RvckJhY2tlbmQuZG9tYWlu
cy5ET01EZWJ1Z2dlci5FdmVudEJyZWFrcG9pbnRUeXBlLkludGVydmFsICYmIEluc3BlY3RvckJh
Y2tlbmQuZG9tYWlucy5ET01EZWJ1Z2dlci5FdmVudEJyZWFrcG9pbnRUeXBlLlRpbWVvdXQ7CiAg
ICAgfQogCiAgICAgLy8gUHVibGljCkBAIC0xMzMsNiArMjI4LDEwIEBAIFdJLkRPTURlYnVnZ2Vy
TWFuYWdlciA9IGNsYXNzIERPTURlYnVnZ2VyTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAg
ICAgICByZXR1cm4gISFJbnNwZWN0b3JCYWNrZW5kLmRvbWFpbnMuRE9NRGVidWdnZXI7CiAgICAg
fQogCisgICAgZ2V0IGFsbEFuaW1hdGlvbkZyYW1lc0JyZWFrcG9pbnQoKSB7IHJldHVybiB0aGlz
Ll9hbGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50OyB9CisgICAgZ2V0IGFsbEludGVydmFsc0Jy
ZWFrcG9pbnQoKSB7IHJldHVybiB0aGlzLl9hbGxJbnRlcnZhbHNCcmVha3BvaW50OyB9CisgICAg
Z2V0IGFsbExpc3RlbmVyc0JyZWFrcG9pbnQoKSB7IHJldHVybiB0aGlzLl9hbGxMaXN0ZW5lcnNC
cmVha3BvaW50OyB9CisgICAgZ2V0IGFsbFRpbWVvdXRzQnJlYWtwb2ludCgpIHsgcmV0dXJuIHRo
aXMuX2FsbFRpbWVvdXRzQnJlYWtwb2ludDsgfQogICAgIGdldCBhbGxSZXF1ZXN0c0JyZWFrcG9p
bnQoKSB7IHJldHVybiB0aGlzLl9hbGxSZXF1ZXN0c0JyZWFrcG9pbnQ7IH0KIAogICAgIGdldCBk
b21CcmVha3BvaW50cygpCkBAIC0xNTUsMTMgKzI1NCwxNiBAQCBXSS5ET01EZWJ1Z2dlck1hbmFn
ZXIgPSBjbGFzcyBET01EZWJ1Z2dlck1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAg
cmV0dXJuIHJlc29sdmVkQnJlYWtwb2ludHM7CiAgICAgfQogCi0gICAgZ2V0IGV2ZW50QnJlYWtw
b2ludHMoKSB7IHJldHVybiB0aGlzLl9ldmVudEJyZWFrcG9pbnRzOyB9Ci0KKyAgICBnZXQgbGlz
dGVuZXJCcmVha3BvaW50cygpIHsgcmV0dXJuIHRoaXMuX2xpc3RlbmVyQnJlYWtwb2ludHM7IH0K
ICAgICBnZXQgdXJsQnJlYWtwb2ludHMoKSB7IHJldHVybiB0aGlzLl91cmxCcmVha3BvaW50czsg
fQogCiAgICAgaXNCcmVha3BvaW50U3BlY2lhbChicmVha3BvaW50KQogICAgIHsKLSAgICAgICAg
cmV0dXJuIGJyZWFrcG9pbnQgPT09IHRoaXMuX2FsbFJlcXVlc3RzQnJlYWtwb2ludDsKKyAgICAg
ICAgcmV0dXJuIGJyZWFrcG9pbnQgPT09IHRoaXMuX2FsbEFuaW1hdGlvbkZyYW1lc0JyZWFrcG9p
bnQKKyAgICAgICAgICAgIHx8IGJyZWFrcG9pbnQgPT09IHRoaXMuX2FsbEludGVydmFsc0JyZWFr
cG9pbnQKKyAgICAgICAgICAgIHx8IGJyZWFrcG9pbnQgPT09IHRoaXMuX2FsbExpc3RlbmVyc0Jy
ZWFrcG9pbnQKKyAgICAgICAgICAgIHx8IGJyZWFrcG9pbnQgPT09IHRoaXMuX2FsbFRpbWVvdXRz
QnJlYWtwb2ludAorICAgICAgICAgICAgfHwgYnJlYWtwb2ludCA9PT0gdGhpcy5fYWxsUmVxdWVz
dHNCcmVha3BvaW50OwogICAgIH0KIAogICAgIGRvbUJyZWFrcG9pbnRzRm9yTm9kZShub2RlKQpA
QCAtMjU1LDkgKzM1NywxMSBAQCBXSS5ET01EZWJ1Z2dlck1hbmFnZXIgPSBjbGFzcyBET01EZWJ1
Z2dlck1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgdGhpcy5kb21CcmVha3BvaW50
c0Zvck5vZGUobm9kZSkuZm9yRWFjaCh0aGlzLnJlbW92ZURPTUJyZWFrcG9pbnQsIHRoaXMpOwog
ICAgIH0KIAotICAgIGV2ZW50QnJlYWtwb2ludEZvclR5cGVBbmRFdmVudE5hbWUodHlwZSwgZXZl
bnROYW1lKQorICAgIGxpc3RlbmVyQnJlYWtwb2ludEZvckV2ZW50TmFtZShldmVudE5hbWUpCiAg
ICAgewotICAgICAgICByZXR1cm4gdGhpcy5fZXZlbnRCcmVha3BvaW50cy5maW5kKChicmVha3Bv
aW50KSA9PiBicmVha3BvaW50LnR5cGUgPT09IHR5cGUgJiYgYnJlYWtwb2ludC5ldmVudE5hbWUg
PT09IGV2ZW50TmFtZSkgfHwgbnVsbDsKKyAgICAgICAgaWYgKERPTURlYnVnZ2VyTWFuYWdlci5z
dXBwb3J0c0FsbExpc3RlbmVyc0JyZWFrcG9pbnQoKSAmJiAhdGhpcy5fYWxsTGlzdGVuZXJzQnJl
YWtwb2ludC5kaXNhYmxlZCkKKyAgICAgICAgICAgIHJldHVybiB0aGlzLl9hbGxMaXN0ZW5lcnNC
cmVha3BvaW50OworICAgICAgICByZXR1cm4gdGhpcy5fbGlzdGVuZXJCcmVha3BvaW50cy5maW5k
KChicmVha3BvaW50KSA9PiBicmVha3BvaW50LmV2ZW50TmFtZSA9PT0gZXZlbnROYW1lKSB8fCBu
dWxsOwogICAgIH0KIAogICAgIGFkZEV2ZW50QnJlYWtwb2ludChicmVha3BvaW50KQpAQCAtMjcx
LDE4ICszNzUsMTggQEAgV0kuRE9NRGVidWdnZXJNYW5hZ2VyID0gY2xhc3MgRE9NRGVidWdnZXJN
YW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K
IAotICAgICAgICBpZiAodGhpcy5ldmVudEJyZWFrcG9pbnRGb3JUeXBlQW5kRXZlbnROYW1lKGJy
ZWFrcG9pbnQudHlwZSwgYnJlYWtwb2ludC5ldmVudE5hbWUpKQorICAgICAgICBjb25zb2xlLmFz
c2VydChicmVha3BvaW50LnR5cGUgPT09IFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkxpc3RlbmVy
KTsKKworICAgICAgICBpZiAodGhpcy5saXN0ZW5lckJyZWFrcG9pbnRGb3JFdmVudE5hbWUoYnJl
YWtwb2ludC5ldmVudE5hbWUpKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHRoaXMu
X2V2ZW50QnJlYWtwb2ludHMucHVzaChicmVha3BvaW50KTsKKyAgICAgICAgdGhpcy5fbGlzdGVu
ZXJCcmVha3BvaW50cy5wdXNoKGJyZWFrcG9pbnQpOwogCiAgICAgICAgIHRoaXMuZGlzcGF0Y2hF
dmVudFRvTGlzdGVuZXJzKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5FdmVudC5FdmVudEJyZWFrcG9p
bnRBZGRlZCwge2JyZWFrcG9pbnR9KTsKIAogICAgICAgICBpZiAoIWJyZWFrcG9pbnQuZGlzYWJs
ZWQpIHsKLSAgICAgICAgICAgIGZvciAobGV0IHRhcmdldCBvZiBXSS50YXJnZXRzKSB7Ci0gICAg
ICAgICAgICAgICAgaWYgKHRhcmdldC5ET01EZWJ1Z2dlckFnZW50KQotICAgICAgICAgICAgICAg
ICAgICB0aGlzLl91cGRhdGVFdmVudEJyZWFrcG9pbnQoYnJlYWtwb2ludCwgdGFyZ2V0KTsKLSAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGZvciAobGV0IHRhcmdldCBvZiBXSS50YXJnZXRzKQor
ICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUV2ZW50QnJlYWtwb2ludChicmVha3BvaW50LCB0
YXJnZXQpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKCF0aGlzLl9yZXN0b3JpbmdCcmVha3Bv
aW50cykKQEAgLTMwMSwxMCArNDA1LDEyIEBAIFdJLkRPTURlYnVnZ2VyTWFuYWdlciA9IGNsYXNz
IERPTURlYnVnZ2VyTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKCF0aGlzLl9ldmVudEJyZWFrcG9pbnRzLmluY2x1
ZGVzKGJyZWFrcG9pbnQpKQorICAgICAgICBjb25zb2xlLmFzc2VydChicmVha3BvaW50LnR5cGUg
PT09IFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkxpc3RlbmVyKTsKKworICAgICAgICBpZiAoIXRo
aXMuX2xpc3RlbmVyQnJlYWtwb2ludHMuaW5jbHVkZXMoYnJlYWtwb2ludCkpCiAgICAgICAgICAg
ICByZXR1cm47CiAKLSAgICAgICAgdGhpcy5fZXZlbnRCcmVha3BvaW50cy5yZW1vdmUoYnJlYWtw
b2ludCk7CisgICAgICAgIHRoaXMuX2xpc3RlbmVyQnJlYWtwb2ludHMucmVtb3ZlKGJyZWFrcG9p
bnQpOwogCiAgICAgICAgIGlmICghdGhpcy5fcmVzdG9yaW5nQnJlYWtwb2ludHMpCiAgICAgICAg
ICAgICBXSS5vYmplY3RTdG9yZXMuZXZlbnRCcmVha3BvaW50cy5kZWxldGVPYmplY3QoYnJlYWtw
b2ludCk7CkBAIC0zMTUsNyArNDIxLDcgQEAgV0kuRE9NRGVidWdnZXJNYW5hZ2VyID0gY2xhc3Mg
RE9NRGVidWdnZXJNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICByZXR1cm47
CiAKICAgICAgICAgZm9yIChsZXQgdGFyZ2V0IG9mIFdJLnRhcmdldHMpIHsKLSAgICAgICAgICAg
IGlmICh0YXJnZXQuRE9NRGVidWdnZXJBZ2VudCkgeworICAgICAgICAgICAgaWYgKHRhcmdldC5E
T01EZWJ1Z2dlckFnZW50ICYmICh0YXJnZXQuRE9NRGVidWdnZXJBZ2VudC5yZW1vdmVFdmVudEJy
ZWFrcG9pbnQgfHwgdGFyZ2V0LkRPTURlYnVnZ2VyQWdlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lckJy
ZWFrcG9pbnQpKSB7CiAgICAgICAgICAgICAgICAgLy8gQ29tcGF0aWJpbGl0eSAoaU9TIDEyKTog
RE9NRGVidWdnZXJBZ2VudC5yZW1vdmVFdmVudEJyZWFrcG9pbnQgZGlkIG5vdCBleGlzdC4KICAg
ICAgICAgICAgICAgICBpZiAoIVdJLkRPTURlYnVnZ2VyTWFuYWdlci5zdXBwb3J0c0V2ZW50QnJl
YWtwb2ludHMoKSkgewogICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmFzc2VydChicmVha3Bv
aW50LnR5cGUgPT09IFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkxpc3RlbmVyKTsKQEAgLTM1Niwx
MCArNDYyLDggQEAgV0kuRE9NRGVidWdnZXJNYW5hZ2VyID0gY2xhc3MgRE9NRGVidWdnZXJNYW5h
Z2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVu
ZXJzKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5FdmVudC5VUkxCcmVha3BvaW50QWRkZWQsIHticmVh
a3BvaW50fSk7CiAKICAgICAgICAgaWYgKCFicmVha3BvaW50LmRpc2FibGVkKSB7Ci0gICAgICAg
ICAgICBmb3IgKGxldCB0YXJnZXQgb2YgV0kudGFyZ2V0cykgewotICAgICAgICAgICAgICAgIGlm
ICh0YXJnZXQuRE9NRGVidWdnZXJBZ2VudCkKLSAgICAgICAgICAgICAgICAgICAgdGhpcy5fdXBk
YXRlVVJMQnJlYWtwb2ludChicmVha3BvaW50LCB0YXJnZXQpOwotICAgICAgICAgICAgfQorICAg
ICAgICAgICAgZm9yIChsZXQgdGFyZ2V0IG9mIFdJLnRhcmdldHMpCisgICAgICAgICAgICAgICAg
dGhpcy5fdXBkYXRlVVJMQnJlYWtwb2ludChicmVha3BvaW50LCB0YXJnZXQpOwogICAgICAgICB9
CiAKICAgICAgICAgaWYgKCF0aGlzLl9yZXN0b3JpbmdCcmVha3BvaW50cykKQEAgLTQ4MiwxNCAr
NTg2LDE1IEBAIFdJLkRPTURlYnVnZ2VyTWFuYWdlciA9IGNsYXNzIERPTURlYnVnZ2VyTWFuYWdl
ciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICBpZiAoIWJyZWFrcG9pbnQuZGlzYWJsZWQpIHsK
ICAgICAgICAgICAgIC8vIFdlIHNob3VsZCBnZXQgdGhlIHRhcmdldCBhc3NvY2lhdGVkIHdpdGgg
dGhlIG5vZGVJZGVudGlmaWVyIG9mIHRoaXMgYnJlYWtwb2ludC4KICAgICAgICAgICAgIGxldCB0
YXJnZXQgPSBXSS5hc3N1bWluZ01haW5UYXJnZXQoKTsKLSAgICAgICAgICAgIGlmICh0YXJnZXQg
JiYgdGFyZ2V0LkRPTURlYnVnZ2VyQWdlbnQpCisgICAgICAgICAgICBpZiAodGFyZ2V0KQogICAg
ICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZURPTUJyZWFrcG9pbnQoYnJlYWtwb2ludCwgdGFyZ2V0
KTsKICAgICAgICAgfQogICAgIH0KIAogICAgIF91cGRhdGVET01CcmVha3BvaW50KGJyZWFrcG9p
bnQsIHRhcmdldCkKICAgICB7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRhcmdldC5ET01EZWJ1
Z2dlckFnZW50KTsKKyAgICAgICAgaWYgKCF0YXJnZXQuRE9NRGVidWdnZXJBZ2VudCB8fCAhdGFy
Z2V0LkRPTURlYnVnZ2VyQWdlbnQuc2V0RE9NQnJlYWtwb2ludCB8fCAhdGFyZ2V0LkRPTURlYnVn
Z2VyQWdlbnQucmVtb3ZlRE9NQnJlYWtwb2ludCkKKyAgICAgICAgICAgIHJldHVybjsKIAogICAg
ICAgICBpZiAoIWJyZWFrcG9pbnQuZG9tTm9kZUlkZW50aWZpZXIpCiAgICAgICAgICAgICByZXR1
cm47CkBAIC01MDYsMTAgKzYxMSwxNCBAQCBXSS5ET01EZWJ1Z2dlck1hbmFnZXIgPSBjbGFzcyBE
T01EZWJ1Z2dlck1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAgIF91cGRhdGVFdmVudEJy
ZWFrcG9pbnQoYnJlYWtwb2ludCwgdGFyZ2V0KQogICAgIHsKLSAgICAgICAgY29uc29sZS5hc3Nl
cnQodGFyZ2V0LkRPTURlYnVnZ2VyQWdlbnQpOworICAgICAgICBpZiAoIXRhcmdldC5ET01EZWJ1
Z2dlckFnZW50KQorICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIC8vIENvbXBhdGliaWxp
dHkgKGlPUyAxMik6IERPTURlYnVnZ2VyQWdlbnQucmVtb3ZlRXZlbnRCcmVha3BvaW50IGRpZCBu
b3QgZXhpc3QuCiAgICAgICAgIGlmICghV0kuRE9NRGVidWdnZXJNYW5hZ2VyLnN1cHBvcnRzRXZl
bnRCcmVha3BvaW50cygpKSB7CisgICAgICAgICAgICBpZiAoIXRhcmdldC5ET01EZWJ1Z2dlckFn
ZW50LnNldEV2ZW50TGlzdGVuZXJCcmVha3BvaW50IHx8ICF0YXJnZXQuRE9NRGVidWdnZXJBZ2Vu
dC5yZW1vdmVFdmVudExpc3RlbmVyQnJlYWtwb2ludCkKKyAgICAgICAgICAgICAgICByZXR1cm47
CisKICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGJyZWFrcG9pbnQudHlwZSA9PT0gV0kuRXZl
bnRCcmVha3BvaW50LlR5cGUuTGlzdGVuZXIpOwogICAgICAgICAgICAgaWYgKGJyZWFrcG9pbnQu
ZGlzYWJsZWQpCiAgICAgICAgICAgICAgICAgdGFyZ2V0LkRPTURlYnVnZ2VyQWdlbnQucmVtb3Zl
RXZlbnRMaXN0ZW5lckJyZWFrcG9pbnQoYnJlYWtwb2ludC5ldmVudE5hbWUpOwpAQCAtNTIyLDIy
ICs2MzEsNzAgQEAgV0kuRE9NRGVidWdnZXJNYW5hZ2VyID0gY2xhc3MgRE9NRGVidWdnZXJNYW5h
Z2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAor
ICAgICAgICBpZiAoIXRhcmdldC5ET01EZWJ1Z2dlckFnZW50LnNldEV2ZW50QnJlYWtwb2ludCB8
fCAhdGFyZ2V0LkRPTURlYnVnZ2VyQWdlbnQucmVtb3ZlRXZlbnRCcmVha3BvaW50KQorICAgICAg
ICAgICAgcmV0dXJuOworCisgICAgICAgIGxldCBjb21tYW5kQXJndW1lbnRzID0ge307CisKKyAg
ICAgICAgc3dpdGNoIChicmVha3BvaW50KSB7CisgICAgICAgIGNhc2UgdGhpcy5fYWxsQW5pbWF0
aW9uRnJhbWVzQnJlYWtwb2ludDoKKyAgICAgICAgICAgIGNvbW1hbmRBcmd1bWVudHMuYnJlYWtw
b2ludFR5cGUgPSBXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5BbmltYXRpb25GcmFtZTsKKyAgICAg
ICAgICAgIGlmICghRE9NRGVidWdnZXJNYW5hZ2VyLnN1cHBvcnRzQWxsTGlzdGVuZXJzQnJlYWtw
b2ludCgpKQorICAgICAgICAgICAgICAgIGNvbW1hbmRBcmd1bWVudHMuZXZlbnROYW1lID0gInJl
cXVlc3RBbmltYXRpb25GcmFtZSI7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNl
IHRoaXMuX2FsbEludGVydmFsc0JyZWFrcG9pbnQ6CisgICAgICAgICAgICBpZiAoRE9NRGVidWdn
ZXJNYW5hZ2VyLnN1cHBvcnRzQWxsTGlzdGVuZXJzQnJlYWtwb2ludCgpKQorICAgICAgICAgICAg
ICAgIGNvbW1hbmRBcmd1bWVudHMuYnJlYWtwb2ludFR5cGUgPSBXSS5FdmVudEJyZWFrcG9pbnQu
VHlwZS5JbnRlcnZhbDsKKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIGNvbW1h
bmRBcmd1bWVudHMuYnJlYWtwb2ludFR5cGUgPSBXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5UaW1l
cjsKKyAgICAgICAgICAgICAgICBjb21tYW5kQXJndW1lbnRzLmV2ZW50TmFtZSA9ICJzZXRJbnRl
cnZhbCI7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNl
IHRoaXMuX2FsbExpc3RlbmVyc0JyZWFrcG9pbnQ6CisgICAgICAgICAgICBpZiAoIURPTURlYnVn
Z2VyTWFuYWdlci5zdXBwb3J0c0FsbExpc3RlbmVyc0JyZWFrcG9pbnQoKSkKKyAgICAgICAgICAg
ICAgICByZXR1cm47CisKKyAgICAgICAgICAgIGNvbW1hbmRBcmd1bWVudHMuYnJlYWtwb2ludFR5
cGUgPSBXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5MaXN0ZW5lcjsKKyAgICAgICAgICAgIGJyZWFr
OworCisgICAgICAgIGNhc2UgdGhpcy5fYWxsVGltZW91dHNCcmVha3BvaW50OgorICAgICAgICAg
ICAgaWYgKERPTURlYnVnZ2VyTWFuYWdlci5zdXBwb3J0c0FsbExpc3RlbmVyc0JyZWFrcG9pbnQo
KSkKKyAgICAgICAgICAgICAgICBjb21tYW5kQXJndW1lbnRzLmJyZWFrcG9pbnRUeXBlID0gV0ku
RXZlbnRCcmVha3BvaW50LlR5cGUuVGltZW91dDsKKyAgICAgICAgICAgIGVsc2UgeworICAgICAg
ICAgICAgICAgIGNvbW1hbmRBcmd1bWVudHMuYnJlYWtwb2ludFR5cGUgPSBXSS5FdmVudEJyZWFr
cG9pbnQuVHlwZS5UaW1lcjsKKyAgICAgICAgICAgICAgICBjb21tYW5kQXJndW1lbnRzLmV2ZW50
TmFtZSA9ICJzZXRUaW1lb3V0IjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOwor
CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBjb21tYW5kQXJndW1lbnRzLmJyZWFrcG9p
bnRUeXBlID0gYnJlYWtwb2ludC50eXBlOworICAgICAgICAgICAgY29tbWFuZEFyZ3VtZW50cy5l
dmVudE5hbWUgPSBicmVha3BvaW50LmV2ZW50TmFtZTsKKyAgICAgICAgICAgIGNvbnNvbGUuYXNz
ZXJ0KGNvbW1hbmRBcmd1bWVudHMuZXZlbnROYW1lKTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICB9CisKICAgICAgICAgaWYgKGJyZWFrcG9pbnQuZGlzYWJsZWQpCi0gICAgICAgICAgICB0
YXJnZXQuRE9NRGVidWdnZXJBZ2VudC5yZW1vdmVFdmVudEJyZWFrcG9pbnQoYnJlYWtwb2ludC50
eXBlLCBicmVha3BvaW50LmV2ZW50TmFtZSk7CisgICAgICAgICAgICB0YXJnZXQuRE9NRGVidWdn
ZXJBZ2VudC5yZW1vdmVFdmVudEJyZWFrcG9pbnQuaW52b2tlKGNvbW1hbmRBcmd1bWVudHMpOwog
ICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIGlmICghdGhpcy5fcmVzdG9yaW5nQnJlYWtwb2lu
dHMgJiYgIVdJLmRlYnVnZ2VyTWFuYWdlci5icmVha3BvaW50c0Rpc2FibGVkVGVtcG9yYXJpbHkp
CiAgICAgICAgICAgICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLmJyZWFrcG9pbnRzRW5hYmxlZCA9
IHRydWU7CiAKLSAgICAgICAgICAgIHRhcmdldC5ET01EZWJ1Z2dlckFnZW50LnNldEV2ZW50QnJl
YWtwb2ludChicmVha3BvaW50LnR5cGUsIGJyZWFrcG9pbnQuZXZlbnROYW1lKTsKKyAgICAgICAg
ICAgIHRhcmdldC5ET01EZWJ1Z2dlckFnZW50LnNldEV2ZW50QnJlYWtwb2ludC5pbnZva2UoY29t
bWFuZEFyZ3VtZW50cyk7CiAgICAgICAgIH0KICAgICB9CiAKICAgICBfdXBkYXRlVVJMQnJlYWtw
b2ludChicmVha3BvaW50LCB0YXJnZXQpCiAgICAgewotICAgICAgICBjb25zb2xlLmFzc2VydCh0
YXJnZXQuRE9NRGVidWdnZXJBZ2VudCk7CisgICAgICAgIGlmICghdGFyZ2V0LkRPTURlYnVnZ2Vy
QWdlbnQpCisgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgLy8gQ29tcGF0aWJpbGl0eSAo
aU9TIDEyLjEpOiBET01EZWJ1Z2dlckFnZW50LnJlbW92ZVVSTEJyZWFrcG9pbnQgZGlkIG5vdCBl
eGlzdC4KICAgICAgICAgaWYgKCFXSS5ET01EZWJ1Z2dlck1hbmFnZXIuc3VwcG9ydHNVUkxCcmVh
a3BvaW50cygpKSB7CisgICAgICAgICAgICBpZiAoIXRhcmdldC5ET01EZWJ1Z2dlckFnZW50LnNl
dFhIUkJyZWFrcG9pbnQgfHwgIXRhcmdldC5ET01EZWJ1Z2dlckFnZW50LnJlbW92ZVhIUkJyZWFr
cG9pbnQpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCiAgICAgICAgICAgICBpZiAoYnJlYWtw
b2ludC5kaXNhYmxlZCkKICAgICAgICAgICAgICAgICB0YXJnZXQuRE9NRGVidWdnZXJBZ2VudC5y
ZW1vdmVYSFJCcmVha3BvaW50KGJyZWFrcG9pbnQudXJsKTsKICAgICAgICAgICAgIGVsc2UgewpA
QCAtNTUwLDYgKzcwNyw5IEBAIFdJLkRPTURlYnVnZ2VyTWFuYWdlciA9IGNsYXNzIERPTURlYnVn
Z2VyTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9CiAKKyAgICAgICAgaWYgKCF0YXJnZXQuRE9NRGVidWdnZXJBZ2VudC5zZXRVUkxCcmVha3Bv
aW50IHx8ICF0YXJnZXQuRE9NRGVidWdnZXJBZ2VudC5yZW1vdmVVUkxCcmVha3BvaW50KQorICAg
ICAgICAgICAgcmV0dXJuOworCiAgICAgICAgIGlmIChicmVha3BvaW50LmRpc2FibGVkKQogICAg
ICAgICAgICAgdGFyZ2V0LkRPTURlYnVnZ2VyQWdlbnQucmVtb3ZlVVJMQnJlYWtwb2ludChicmVh
a3BvaW50LnVybCk7CiAgICAgICAgIGVsc2UgewpAQCAtNTY1LDcgKzcyNSw3IEBAIFdJLkRPTURl
YnVnZ2VyTWFuYWdlciA9IGNsYXNzIERPTURlYnVnZ2VyTWFuYWdlciBleHRlbmRzIFdJLk9iamVj
dAogICAgIHsKICAgICAgICAgbGV0IGJyZWFrcG9pbnQgPSBldmVudC50YXJnZXQ7CiAgICAgICAg
IGxldCB0YXJnZXQgPSBXSS5hc3N1bWluZ01haW5UYXJnZXQoKTsKLSAgICAgICAgaWYgKHRhcmdl
dCAmJiB0YXJnZXQuRE9NRGVidWdnZXJBZ2VudCkKKyAgICAgICAgaWYgKHRhcmdldCkKICAgICAg
ICAgICAgIHRoaXMuX3VwZGF0ZURPTUJyZWFrcG9pbnQoYnJlYWtwb2ludCwgdGFyZ2V0KTsKIAog
ICAgICAgICBpZiAoIXRoaXMuX3Jlc3RvcmluZ0JyZWFrcG9pbnRzKQpAQCAtNTgwLDkgKzc0MCwy
NSBAQCBXSS5ET01EZWJ1Z2dlck1hbmFnZXIgPSBjbGFzcyBET01EZWJ1Z2dlck1hbmFnZXIgZXh0
ZW5kcyBXSS5PYmplY3QKICAgICAgICAgaWYgKGJyZWFrcG9pbnQuZXZlbnRMaXN0ZW5lcikKICAg
ICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBmb3IgKGxldCB0YXJnZXQgb2YgV0kudGFyZ2V0
cykgewotICAgICAgICAgICAgaWYgKHRhcmdldC5ET01EZWJ1Z2dlckFnZW50KQotICAgICAgICAg
ICAgICAgIHRoaXMuX3VwZGF0ZUV2ZW50QnJlYWtwb2ludChicmVha3BvaW50LCB0YXJnZXQpOwor
ICAgICAgICBmb3IgKGxldCB0YXJnZXQgb2YgV0kudGFyZ2V0cykKKyAgICAgICAgICAgIHRoaXMu
X3VwZGF0ZUV2ZW50QnJlYWtwb2ludChicmVha3BvaW50LCB0YXJnZXQpOworCisgICAgICAgIHN3
aXRjaCAoYnJlYWtwb2ludCkgeworICAgICAgICBjYXNlIHRoaXMuX2FsbEFuaW1hdGlvbkZyYW1l
c0JyZWFrcG9pbnQ6CisgICAgICAgICAgICB0aGlzLl9hbGxBbmltYXRpb25GcmFtZXNCcmVha3Bv
aW50RW5hYmxlZFNldHRpbmcudmFsdWUgPSAhYnJlYWtwb2ludC5kaXNhYmxlZDsKKyAgICAgICAg
ICAgIHJldHVybjsKKworICAgICAgICBjYXNlIHRoaXMuX2FsbEludGVydmFsc0JyZWFrcG9pbnQ6
CisgICAgICAgICAgICB0aGlzLl9hbGxJbnRlcnZhbHNCcmVha3BvaW50RW5hYmxlZFNldHRpbmcu
dmFsdWUgPSAhYnJlYWtwb2ludC5kaXNhYmxlZDsKKyAgICAgICAgICAgIHJldHVybjsKKworICAg
ICAgICBjYXNlIHRoaXMuX2FsbExpc3RlbmVyc0JyZWFrcG9pbnQ6CisgICAgICAgICAgICB0aGlz
Ll9hbGxMaXN0ZW5lcnNCcmVha3BvaW50RW5hYmxlZFNldHRpbmcudmFsdWUgPSAhYnJlYWtwb2lu
dC5kaXNhYmxlZDsKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBjYXNlIHRoaXMuX2Fs
bFRpbWVvdXRzQnJlYWtwb2ludDoKKyAgICAgICAgICAgIHRoaXMuX2FsbFRpbWVvdXRzQnJlYWtw
b2ludEVuYWJsZWRTZXR0aW5nLnZhbHVlID0gIWJyZWFrcG9pbnQuZGlzYWJsZWQ7CisgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoIXRoaXMuX3Jlc3RvcmluZ0Jy
ZWFrcG9pbnRzKQpAQCAtNTkzLDEyICs3NjksMTIgQEAgV0kuRE9NRGVidWdnZXJNYW5hZ2VyID0g
Y2xhc3MgRE9NRGVidWdnZXJNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgewogICAgICAg
ICBsZXQgYnJlYWtwb2ludCA9IGV2ZW50LnRhcmdldDsKIAotICAgICAgICBpZiAoYnJlYWtwb2lu
dCA9PT0gdGhpcy5fYWxsUmVxdWVzdHNCcmVha3BvaW50KQotICAgICAgICAgICAgdGhpcy5fYWxs
UmVxdWVzdHNCcmVha3BvaW50RW5hYmxlZFNldHRpbmcudmFsdWUgPSAhYnJlYWtwb2ludC5kaXNh
YmxlZDsKKyAgICAgICAgZm9yIChsZXQgdGFyZ2V0IG9mIFdJLnRhcmdldHMpCisgICAgICAgICAg
ICB0aGlzLl91cGRhdGVVUkxCcmVha3BvaW50KGJyZWFrcG9pbnQsIHRhcmdldCk7CiAKLSAgICAg
ICAgZm9yIChsZXQgdGFyZ2V0IG9mIFdJLnRhcmdldHMpIHsKLSAgICAgICAgICAgIGlmICh0YXJn
ZXQuRE9NRGVidWdnZXJBZ2VudCkKLSAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVVUkxCcmVh
a3BvaW50KGJyZWFrcG9pbnQsIHRhcmdldCk7CisgICAgICAgIGlmIChicmVha3BvaW50ID09PSB0
aGlzLl9hbGxSZXF1ZXN0c0JyZWFrcG9pbnQpIHsKKyAgICAgICAgICAgIHRoaXMuX2FsbFJlcXVl
c3RzQnJlYWtwb2ludEVuYWJsZWRTZXR0aW5nLnZhbHVlID0gIWJyZWFrcG9pbnQuZGlzYWJsZWQ7
CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoIXRoaXMuX3Jl
c3RvcmluZ0JyZWFrcG9pbnRzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRGVidWdnZXJNYW5hZ2VyLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRGVidWdnZXJNYW5hZ2VyLmpzCmlu
ZGV4IDBlY2Q2MDFiZDk2OGQxOTUzNzllOWE1NTkwYzM3NTBiMmMwNmE0ODQuLjBmYjM3YTk0YmU1
ZTI0Zjg5ZDE0YWY5OGU1ZDBjZmEwMTQyMzE4ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RlYnVnZ2VyTWFuYWdlci5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9EZWJ1Z2dl
ck1hbmFnZXIuanMKQEAgLTg2Myw4ICs4NjMsMTQgQEAgV0kuRGVidWdnZXJNYW5hZ2VyID0gY2xh
c3MgRGVidWdnZXJNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICByZXR1cm4g
V0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVhc29uLkV4Y2VwdGlvbjsKICAgICAgICAgY2FzZSBE
ZWJ1Z2dlckFnZW50LlBhdXNlZFJlYXNvbi5GZXRjaDoKICAgICAgICAgICAgIHJldHVybiBXSS5E
ZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uRmV0Y2g7CisgICAgICAgIGNhc2UgRGVidWdnZXJB
Z2VudC5QYXVzZWRSZWFzb24uSW50ZXJ2YWw6CisgICAgICAgICAgICByZXR1cm4gV0kuRGVidWdn
ZXJNYW5hZ2VyLlBhdXNlUmVhc29uLkludGVydmFsOworICAgICAgICBjYXNlIERlYnVnZ2VyQWdl
bnQuUGF1c2VkUmVhc29uLkxpc3RlbmVyOgorICAgICAgICAgICAgcmV0dXJuIFdJLkRlYnVnZ2Vy
TWFuYWdlci5QYXVzZVJlYXNvbi5MaXN0ZW5lcjsKICAgICAgICAgY2FzZSBEZWJ1Z2dlckFnZW50
LlBhdXNlZFJlYXNvbi5QYXVzZU9uTmV4dFN0YXRlbWVudDoKICAgICAgICAgICAgIHJldHVybiBX
SS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uUGF1c2VPbk5leHRTdGF0ZW1lbnQ7CisgICAg
ICAgIGNhc2UgRGVidWdnZXJBZ2VudC5QYXVzZWRSZWFzb24uVGltZW91dDoKKyAgICAgICAgICAg
IHJldHVybiBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uVGltZW91dDsKICAgICAgICAg
Y2FzZSBEZWJ1Z2dlckFnZW50LlBhdXNlZFJlYXNvbi5UaW1lcjoKICAgICAgICAgICAgIHJldHVy
biBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uVGltZXI7CiAgICAgICAgIGNhc2UgRGVi
dWdnZXJBZ2VudC5QYXVzZWRSZWFzb24uWEhSOgpAQCAtMTM4MywxMSArMTM4OSwxOCBAQCBXSS5E
ZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24gPSB7CiAgICAgQ1NQVmlvbGF0aW9uOiAiQ1NQLXZp
b2xhdGlvbiIsCiAgICAgRGVidWdnZXJTdGF0ZW1lbnQ6ICJkZWJ1Z2dlci1zdGF0ZW1lbnQiLAog
ICAgIERPTTogIkRPTSIsCi0gICAgRXZlbnRMaXN0ZW5lcjogImV2ZW50LWxpc3RlbmVyIiwKICAg
ICBFeGNlcHRpb246ICJleGNlcHRpb24iLAogICAgIEZldGNoOiAiZmV0Y2giLAorICAgIEludGVy
dmFsOiAiaW50ZXJ2YWwiLAorICAgIExpc3RlbmVyOiAibGlzdGVuZXIiLAogICAgIFBhdXNlT25O
ZXh0U3RhdGVtZW50OiAicGF1c2Utb24tbmV4dC1zdGF0ZW1lbnQiLAotICAgIFRpbWVyOiAidGlt
ZXIiLAorICAgIFRpbWVvdXQ6ICJ0aW1lb3V0IiwKICAgICBYSFI6ICJ4aHIiLAogICAgIE90aGVy
OiAib3RoZXIiLAorCisgICAgLy8gQ09NUEFUSUJJTElUWSAoaU9TIDEzKTogRE9NRGVidWdnZXIu
RXZlbnRCcmVha3BvaW50VHlwZS5UaW1lciB3YXMgcmVwbGFjZWQgYnkgRE9NRGVidWdnZXIuRXZl
bnRCcmVha3BvaW50VHlwZS5JbnRlcnZhbCBhbmQgRE9NRGVidWdnZXIuRXZlbnRCcmVha3BvaW50
VHlwZS5UaW1lb3V0LgorICAgIFRpbWVyOiAidGltZXIiLAorCisgICAgLy8gQ09NUEFUSUJJTElU
WSAoaU9TIDEzKTogRE9NRGVidWdnZXIuRXZlbnRCcmVha3BvaW50VHlwZS5FdmVudExpc3RlbmVy
IHdhcyByZXBsYWNlZCBieSBET01EZWJ1Z2dlci5FdmVudEJyZWFrcG9pbnRUeXBlLkxpc3RlbmVy
LgorICAgIEV2ZW50TGlzdGVuZXI6ICJldmVudC1saXN0ZW5lciIsCiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvSmF2YVNjcmlw
dFJ1bnRpbWVDb21wbGV0aW9uUHJvdmlkZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Db250cm9sbGVycy9KYXZhU2NyaXB0UnVudGltZUNvbXBsZXRpb25Qcm92aWRl
ci5qcwppbmRleCA5ZjIxYTg4ZTY1NzU2MmViYTRjM2MxN2I4NWM3ZWNkMmMyNDVkOTU5Li4yMzVh
MGRiOWNiNDgxY2NmNzM4NzM0MWE4NDg2MDM4NmJkZjY2Zjg2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9KYXZhU2NyaXB0UnVudGlt
ZUNvbXBsZXRpb25Qcm92aWRlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Db250cm9sbGVycy9KYXZhU2NyaXB0UnVudGltZUNvbXBsZXRpb25Qcm92aWRlci5q
cwpAQCAtMjIxLDcgKzIyMSw3IEBAIFdJLkphdmFTY3JpcHRSdW50aW1lQ29tcGxldGlvblByb3Zp
ZGVyID0gY2xhc3MgSmF2YVNjcmlwdFJ1bnRpbWVDb21wbGV0aW9uUHJvdmlkCiAgICAgICAgICAg
ICAgICAgbGV0IGNvbW1hbmRMaW5lQVBJID0gV0kuSmF2YVNjcmlwdFJ1bnRpbWVDb21wbGV0aW9u
UHJvdmlkZXIuX2NvbW1hbmRMaW5lQVBJLnNsaWNlKDApOwogICAgICAgICAgICAgICAgIGlmIChX
SS5kZWJ1Z2dlck1hbmFnZXIucGF1c2VkKSB7CiAgICAgICAgICAgICAgICAgICAgIGxldCB0YXJn
ZXREYXRhID0gV0kuZGVidWdnZXJNYW5hZ2VyLmRhdGFGb3JUYXJnZXQoV0kucnVudGltZU1hbmFn
ZXIuYWN0aXZlRXhlY3V0aW9uQ29udGV4dC50YXJnZXQpOwotICAgICAgICAgICAgICAgICAgICBp
ZiAodGFyZ2V0RGF0YS5wYXVzZVJlYXNvbiA9PT0gV0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVh
c29uLkV2ZW50TGlzdGVuZXIpCisgICAgICAgICAgICAgICAgICAgIGlmICh0YXJnZXREYXRhLnBh
dXNlUmVhc29uID09PSBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uTGlzdGVuZXIgfHwg
dGFyZ2V0RGF0YS5wYXVzZVJlYXNvbiA9PT0gV0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVhc29u
LkV2ZW50TGlzdGVuZXIpCiAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kTGluZUFQSS5w
dXNoKCIkZXZlbnQiKTsKICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAodGFyZ2V0RGF0YS5w
YXVzZVJlYXNvbiA9PT0gV0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVhc29uLkV4Y2VwdGlvbikK
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmRMaW5lQVBJLnB1c2goIiRleGNlcHRpb24i
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0ltYWdl
cy9FdmVudEJyZWFrcG9pbnRJbnRlcnZhbC5zdmcgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9JbWFnZXMvRXZlbnRCcmVha3BvaW50SW50ZXJ2YWwuc3ZnCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmEwOWE2ODQ1YjFiNWQ3YmY3MmU2NWFiNmM1MjNlMDU4M2NlZGVjYTIKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbWFnZXMvRXZlbnRCcmVh
a3BvaW50SW50ZXJ2YWwuc3ZnCkBAIC0wLDAgKzEsMTAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIg
ZW5jb2Rpbmc9InV0Zi04Ij8+Cis8IS0tIENvcHlyaWdodCDCqSAyMDE5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4gLS0+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAw
L3N2ZyIgaWQ9InJvb3QiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDE2IDE2Ij4KKyAgICA8
cGF0aCBmaWxsPSJyZ2IoMTQ4LCAxODMsIDIxOSkiIGQ9Ik0gMTMgMSBMIDMgMSBDIDEuODk4NDM4
IDEgMSAxLjg5ODQzOCAxIDMgTCAxIDEzIEMgMSAxNC4xMDE1NjIgMS44OTg0MzggMTUgMyAxNSBM
IDEzIDE1IEMgMTQuMTAxNTYyIDE1IDE1IDE0LjEwMTU2MiAxNSAxMyBMIDE1IDMgQyAxNSAxLjg5
ODQzOCAxNC4xMDE1NjIgMSAxMyAxIFoiLz4KKyAgICA8cGF0aCBmaWxsPSJyZ2IoMTA2LCAxMzYs
IDE3MCkiIGQ9Ik0gMTMgMSBMIDMgMSBDIDEuODk4NDM4IDEgMSAxLjg5ODQzOCAxIDMgTCAxIDEz
IEMgMSAxNC4xMDE1NjIgMS44OTg0MzggMTUgMyAxNSBMIDEzIDE1IEMgMTQuMTAxNTYyIDE1IDE1
IDE0LjEwMTU2MiAxNSAxMyBMIDE1IDMgQyAxNSAxLjg5ODQzOCAxNC4xMDE1NjIgMSAxMyAxIE0g
MTMgMiBDIDEzLjU1MDc4MSAyIDE0IDIuNDQ5MjE5IDE0IDMgTCAxNCAxMyBDIDE0IDEzLjU1MDc4
MSAxMy41NTA3ODEgMTQgMTMgMTQgTCAzIDE0IEMgMi40NDkyMTkgMTQgMiAxMy41NTA3ODEgMiAx
MyBMIDIgMyBDIDIgMi40NDkyMTkgMi40NDkyMTkgMiAzIDIgTCAxMyAyIi8+CisgICAgPHBhdGgg
ZmlsbD0icmdiKDExMywgMTQ2LCAxODQpIiBkPSJNIDUuOTgwNDY5IDUuODgyODEyIEMgNS4xNDA2
MjUgNS44ODI4MTIgNC4xMzY3MTkgNS44ODI4MTIgNC4xMzY3MTkgNS44ODI4MTIgQyAzLjU4MjAz
MSA1Ljg4MjgxMiAzLjEzNjcxOSA1LjQzNzUgMy4xMzY3MTkgNC44ODI4MTIgTCAzLjEzNjcxOSAz
Ljc5Mjk2OSBDIDMuMTM2NzE5IDMuMjQyMTg4IDMuNTgyMDMxIDIuNzkyOTY5IDQuMTM2NzE5IDIu
NzkyOTY5IEwgMTEuNDg4MjgxIDIuNzkyOTY5IEMgMTIuMDQyOTY5IDIuNzkyOTY5IDEyLjQ4ODI4
MSAzLjI0MjE4OCAxMi40ODgyODEgMy43OTI5NjkgTCAxMi40ODgyODEgNC44ODI4MTIgQyAxMi40
ODgyODEgNS40Mzc1IDEyLjA0Mjk2OSA1Ljg4MjgxMiAxMS40ODgyODEgNS44ODI4MTIiLz4KKyAg
ICA8cGF0aCBmaWxsPSJyZ2IoMTEzLCAxNDYsIDE4NCkiIGQ9Ik0gNS45ODA0NjkgMTIuNzQyMTg4
IEMgNS4xNDA2MjUgMTIuNzQyMTg4IDQuMTM2NzE5IDEyLjc0MjE4OCA0LjEzNjcxOSAxMi43NDIx
ODggQyAzLjU4MjAzMSAxMi43NDIxODggMy4xMzY3MTkgMTIuMjk2ODc2IDMuMTM2NzE5IDExLjc0
MjE4OCBMIDMuMTM2NzE5IDEwLjY1MjM0NSBDIDMuMTM2NzE5IDEwLjEwMTU2NCAzLjU4MjAzMSA5
LjY1MjM0NSA0LjEzNjcxOSA5LjY1MjM0NSBMIDExLjQ4ODI4MSA5LjY1MjM0NSBDIDEyLjA0Mjk2
OSA5LjY1MjM0NSAxMi40ODgyODEgMTAuMTAxNTY0IDEyLjQ4ODI4MSAxMC42NTIzNDUgTCAxMi40
ODgyODEgMTEuNzQyMTg4IEMgMTIuNDg4MjgxIDEyLjI5Njg3NiAxMi4wNDI5NjkgMTIuNzQyMTg4
IDExLjQ4ODI4MSAxMi43NDIxODgiLz4KKyAgICA8cGF0aCBmaWxsPSJyZ2IoMTEzLCAxNDYsIDE4
NCkiIGQ9Ik0gNS45ODA0NjkgNS44ODI4MTIgSCA5LjY0MDYyNSBWIDkuNjUyMzQ1IEggNS45ODA0
NjkgWiIvPgorICAgIDxwYXRoIGZpbGw9IndoaXRlIiBkPSJNIDYuOTgwNDY5IDEwLjY1MjM0NSBM
IDYuOTgwNDY5IDQuODgyODEyIEwgNC4xMzY3MTkgNC44ODI4MTIgTCA0LjEzNjcxOSAzLjc5Mjk2
OSBMIDExLjQ4ODI4MSAzLjc5Mjk2OSBMIDExLjQ4ODI4MSA0Ljg4MjgxMiBMIDguNjQwNjI1IDQu
ODgyODEyIEwgOC42NDA2MjUgMTAuNjUyMzQ1IEwgMTEuNDg4MjgxIDEwLjY1MjM0NSBMIDExLjQ4
ODI4MSAxMS43NDIxODggTCA0LjEzNjcxOSAxMS43NDIxODggTCA0LjEzNjcxOSAxMC42NTIzNDUg
WiIvPgorPC9zdmc+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9JbWFnZXMvRXZlbnRCcmVha3BvaW50VGltZW91dC5zdmcgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9JbWFnZXMvRXZlbnRCcmVha3BvaW50VGltZW91dC5zdmcKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjk0YWM2M2QwM2MyYzYzY2ExZjA1ZTZmN2U1OTUzNWMxMDM0OWQ4NwotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0ltYWdlcy9F
dmVudEJyZWFrcG9pbnRUaW1lb3V0LnN2ZwpAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249
IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8IS0tIENvcHlyaWdodCDCqSAyMDE4IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gLS0+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9y
Zy8yMDAwL3N2ZyIgaWQ9InJvb3QiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDE2IDE2Ij4K
KyAgICA8cGF0aCBmaWxsPSJyZ2IoMTQ4LCAxODMsIDIxOSkiIGQ9Ik0gMTMgMSBMIDMgMSBDIDEu
ODk4NDM4IDEgMSAxLjg5ODQzOCAxIDMgTCAxIDEzIEMgMSAxNC4xMDE1NjIgMS44OTg0MzggMTUg
MyAxNSBMIDEzIDE1IEMgMTQuMTAxNTYyIDE1IDE1IDE0LjEwMTU2MiAxNSAxMyBMIDE1IDMgQyAx
NSAxLjg5ODQzOCAxNC4xMDE1NjIgMSAxMyAxIFoiLz4KKyAgICA8cGF0aCBmaWxsPSJyZ2IoMTA2
LCAxMzYsIDE3MCkiIGQ9Ik0gMTMgMSBMIDMgMSBDIDEuODk4NDM4IDEgMSAxLjg5ODQzOCAxIDMg
TCAxIDEzIEMgMSAxNC4xMDE1NjIgMS44OTg0MzggMTUgMyAxNSBMIDEzIDE1IEMgMTQuMTAxNTYy
IDE1IDE1IDE0LjEwMTU2MiAxNSAxMyBMIDE1IDMgQyAxNSAxLjg5ODQzOCAxNC4xMDE1NjIgMSAx
MyAxIE0gMTMgMiBDIDEzLjU1MDc4MSAyIDE0IDIuNDQ5MjE5IDE0IDMgTCAxNCAxMyBDIDE0IDEz
LjU1MDc4MSAxMy41NTA3ODEgMTQgMTMgMTQgTCAzIDE0IEMgMi40NDkyMTkgMTQgMiAxMy41NTA3
ODEgMiAxMyBMIDIgMyBDIDIgMi40NDkyMTkgMi40NDkyMTkgMiAzIDIgTCAxMyAyIi8+CisgICAg
PHBhdGggZmlsbD0icmdiKDExMywgMTQ2LCAxODQpIiBkPSJNIDYuOTgwNDY5IDEyLjc0MjE4OCBD
IDYuNDI5Njg4IDEyLjc0MjE4OCA1Ljk4MDQ2OSAxMi4yOTI5NjkgNS45ODA0NjkgMTEuNzQyMTg4
IEMgNS45ODA0NjkgMTEuNzQyMTg4IDUuOTgwNDY5IDcuMzQzNzUgNS45ODA0NjkgNS44ODI4MTIg
QyA1LjE0MDYyNSA1Ljg4MjgxMiA0LjEzNjcxOSA1Ljg4MjgxMiA0LjEzNjcxOSA1Ljg4MjgxMiBD
IDMuNTgyMDMxIDUuODgyODEyIDMuMTM2NzE5IDUuNDM3NSAzLjEzNjcxOSA0Ljg4MjgxMiBMIDMu
MTM2NzE5IDMuNzkyOTY5IEMgMy4xMzY3MTkgMy4yNDIxODggMy41ODIwMzEgMi43OTI5NjkgNC4x
MzY3MTkgMi43OTI5NjkgTCAxMS40ODgyODEgMi43OTI5NjkgQyAxMi4wNDI5NjkgMi43OTI5Njkg
MTIuNDg4MjgxIDMuMjQyMTg4IDEyLjQ4ODI4MSAzLjc5Mjk2OSBMIDEyLjQ4ODI4MSA0Ljg4Mjgx
MiBDIDEyLjQ4ODI4MSA1LjQzNzUgMTIuMDQyOTY5IDUuODgyODEyIDExLjQ4ODI4MSA1Ljg4Mjgx
MiBDIDExLjQ4ODI4MSA1Ljg4MjgxMiAxMC40ODQzNzUgNS44ODI4MTIgOS42NDA2MjUgNS44ODI4
MTIgQyA5LjY0MDYyNSA3LjM0Mzc1IDkuNjQwNjI1IDExLjc0MjE4OCA5LjY0MDYyNSAxMS43NDIx
ODggQyA5LjY0MDYyNSAxMi4yOTI5NjkgOS4xOTUzMTIgMTIuNzQyMTg4IDguNjQwNjI1IDEyLjc0
MjE4OCBMIDYuOTgwNDY5IDEyLjc0MjE4OCIvPgorICAgIDxwYXRoIGZpbGw9IndoaXRlIiBkPSJN
IDYuOTgwNDY5IDExLjc0MjE4OCBMIDYuOTgwNDY5IDQuODgyODEyIEwgNC4xMzY3MTkgNC44ODI4
MTIgTCA0LjEzNjcxOSAzLjc5Mjk2OSBMIDExLjQ4ODI4MSAzLjc5Mjk2OSBMIDExLjQ4ODI4MSA0
Ljg4MjgxMiBMIDguNjQwNjI1IDQuODgyODEyIEwgOC42NDA2MjUgMTEuNzQyMTg4IFoiLz4KKzwv
c3ZnPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW1h
Z2VzL0V2ZW50QnJlYWtwb2ludFRpbWVyLnN2ZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL0ltYWdlcy9FdmVudEJyZWFrcG9pbnRUaW1lci5zdmcKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGY5NGFjNjNkMDNjMmM2M2NhMWYwNWU2ZjdlNTk1MzVjMTAzNDlkODcu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW1hZ2VzL0V2ZW50QnJlYWtwb2ludFRpbWVyLnN2
ZworKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv
ZGluZz0idXRmLTgiPz4KLTwhLS0gQ29weXJpZ2h0IMKpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLiAtLT4KLTxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
IiBpZD0icm9vdCIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMTYgMTYiPgotICAgIDxwYXRo
IGZpbGw9InJnYigxNDgsIDE4MywgMjE5KSIgZD0iTSAxMyAxIEwgMyAxIEMgMS44OTg0MzggMSAx
IDEuODk4NDM4IDEgMyBMIDEgMTMgQyAxIDE0LjEwMTU2MiAxLjg5ODQzOCAxNSAzIDE1IEwgMTMg
MTUgQyAxNC4xMDE1NjIgMTUgMTUgMTQuMTAxNTYyIDE1IDEzIEwgMTUgMyBDIDE1IDEuODk4NDM4
IDE0LjEwMTU2MiAxIDEzIDEgWiIvPgotICAgIDxwYXRoIGZpbGw9InJnYigxMDYsIDEzNiwgMTcw
KSIgZD0iTSAxMyAxIEwgMyAxIEMgMS44OTg0MzggMSAxIDEuODk4NDM4IDEgMyBMIDEgMTMgQyAx
IDE0LjEwMTU2MiAxLjg5ODQzOCAxNSAzIDE1IEwgMTMgMTUgQyAxNC4xMDE1NjIgMTUgMTUgMTQu
MTAxNTYyIDE1IDEzIEwgMTUgMyBDIDE1IDEuODk4NDM4IDE0LjEwMTU2MiAxIDEzIDEgTSAxMyAy
IEMgMTMuNTUwNzgxIDIgMTQgMi40NDkyMTkgMTQgMyBMIDE0IDEzIEMgMTQgMTMuNTUwNzgxIDEz
LjU1MDc4MSAxNCAxMyAxNCBMIDMgMTQgQyAyLjQ0OTIxOSAxNCAyIDEzLjU1MDc4MSAyIDEzIEwg
MiAzIEMgMiAyLjQ0OTIxOSAyLjQ0OTIxOSAyIDMgMiBMIDEzIDIiLz4KLSAgICA8cGF0aCBmaWxs
PSJyZ2IoMTEzLCAxNDYsIDE4NCkiIGQ9Ik0gNi45ODA0NjkgMTIuNzQyMTg4IEMgNi40Mjk2ODgg
MTIuNzQyMTg4IDUuOTgwNDY5IDEyLjI5Mjk2OSA1Ljk4MDQ2OSAxMS43NDIxODggQyA1Ljk4MDQ2
OSAxMS43NDIxODggNS45ODA0NjkgNy4zNDM3NSA1Ljk4MDQ2OSA1Ljg4MjgxMiBDIDUuMTQwNjI1
IDUuODgyODEyIDQuMTM2NzE5IDUuODgyODEyIDQuMTM2NzE5IDUuODgyODEyIEMgMy41ODIwMzEg
NS44ODI4MTIgMy4xMzY3MTkgNS40Mzc1IDMuMTM2NzE5IDQuODgyODEyIEwgMy4xMzY3MTkgMy43
OTI5NjkgQyAzLjEzNjcxOSAzLjI0MjE4OCAzLjU4MjAzMSAyLjc5Mjk2OSA0LjEzNjcxOSAyLjc5
Mjk2OSBMIDExLjQ4ODI4MSAyLjc5Mjk2OSBDIDEyLjA0Mjk2OSAyLjc5Mjk2OSAxMi40ODgyODEg
My4yNDIxODggMTIuNDg4MjgxIDMuNzkyOTY5IEwgMTIuNDg4MjgxIDQuODgyODEyIEMgMTIuNDg4
MjgxIDUuNDM3NSAxMi4wNDI5NjkgNS44ODI4MTIgMTEuNDg4MjgxIDUuODgyODEyIEMgMTEuNDg4
MjgxIDUuODgyODEyIDEwLjQ4NDM3NSA1Ljg4MjgxMiA5LjY0MDYyNSA1Ljg4MjgxMiBDIDkuNjQw
NjI1IDcuMzQzNzUgOS42NDA2MjUgMTEuNzQyMTg4IDkuNjQwNjI1IDExLjc0MjE4OCBDIDkuNjQw
NjI1IDEyLjI5Mjk2OSA5LjE5NTMxMiAxMi43NDIxODggOC42NDA2MjUgMTIuNzQyMTg4IEwgNi45
ODA0NjkgMTIuNzQyMTg4Ii8+Ci0gICAgPHBhdGggZmlsbD0id2hpdGUiIGQ9Ik0gNi45ODA0Njkg
MTEuNzQyMTg4IEwgNi45ODA0NjkgNC44ODI4MTIgTCA0LjEzNjcxOSA0Ljg4MjgxMiBMIDQuMTM2
NzE5IDMuNzkyOTY5IEwgMTEuNDg4MjgxIDMuNzkyOTY5IEwgMTEuNDg4MjgxIDQuODgyODEyIEwg
OC42NDA2MjUgNC44ODI4MTIgTCA4LjY0MDYyNSAxMS43NDIxODggWiIvPgotPC9zdmc+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRXZlbnRC
cmVha3BvaW50LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxz
L0V2ZW50QnJlYWtwb2ludC5qcwppbmRleCAzMDkwZGU5YzA1ZjIxMGZhMmIyNjE2YTE0MzUzNGYy
YzU1M2RhYjI1Li5mZjFlNzljZmU0ZGJhNWQ2YzQ0MjhhYjQ3ZmNhYjQ5MzVmZWIwMmFlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRXZlbnRC
cmVha3BvaW50LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01v
ZGVscy9FdmVudEJyZWFrcG9pbnQuanMKQEAgLTI1LDE1ICsyNSwxNCBAQAogCiBXSS5FdmVudEJy
ZWFrcG9pbnQgPSBjbGFzcyBFdmVudEJyZWFrcG9pbnQgZXh0ZW5kcyBXSS5PYmplY3QKIHsKLSAg
ICBjb25zdHJ1Y3Rvcih0eXBlLCBldmVudE5hbWUsIHtldmVudExpc3RlbmVyLCBkaXNhYmxlZH0g
PSB7fSkKKyAgICBjb25zdHJ1Y3Rvcih0eXBlLCB7ZXZlbnROYW1lLCBldmVudExpc3RlbmVyLCBk
aXNhYmxlZH0gPSB7fSkKICAgICB7CiAgICAgICAgIHN1cGVyKCk7CiAKICAgICAgICAgY29uc29s
ZS5hc3NlcnQoT2JqZWN0LnZhbHVlcyhXSS5FdmVudEJyZWFrcG9pbnQuVHlwZSkuaW5jbHVkZXMo
dHlwZSksIHR5cGUpOwotICAgICAgICBjb25zb2xlLmFzc2VydCh0eXBlb2YgZXZlbnROYW1lID09
PSAic3RyaW5nIiwgZXZlbnROYW1lKTsKIAogICAgICAgICB0aGlzLl90eXBlID0gdHlwZTsKLSAg
ICAgICAgdGhpcy5fZXZlbnROYW1lID0gZXZlbnROYW1lOworICAgICAgICB0aGlzLl9ldmVudE5h
bWUgPSBldmVudE5hbWUgfHwgbnVsbDsKICAgICAgICAgdGhpcy5fZXZlbnRMaXN0ZW5lciA9IGV2
ZW50TGlzdGVuZXIgfHwgbnVsbDsKICAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBkaXNhYmxlZCB8
fCBmYWxzZTsKICAgICB9CkBAIC00Miw3ICs0MSw4IEBAIFdJLkV2ZW50QnJlYWtwb2ludCA9IGNs
YXNzIEV2ZW50QnJlYWtwb2ludCBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgc3RhdGljIGRlc2Vy
aWFsaXplKHNlcmlhbGl6ZWRJbmZvKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG5ldyBXSS5FdmVu
dEJyZWFrcG9pbnQoc2VyaWFsaXplZEluZm8udHlwZSwgc2VyaWFsaXplZEluZm8uZXZlbnROYW1l
LCB7CisgICAgICAgIHJldHVybiBuZXcgV0kuRXZlbnRCcmVha3BvaW50KHNlcmlhbGl6ZWRJbmZv
LnR5cGUsIHsKKyAgICAgICAgICAgIGV2ZW50TmFtZTogc2VyaWFsaXplZEluZm8uZXZlbnROYW1l
LAogICAgICAgICAgICAgZGlzYWJsZWQ6ICEhc2VyaWFsaXplZEluZm8uZGlzYWJsZWQsCiAgICAg
ICAgIH0pOwogICAgIH0KQEAgLTcxLDI2ICs3MSwzNiBAQCBXSS5FdmVudEJyZWFrcG9pbnQgPSBj
bGFzcyBFdmVudEJyZWFrcG9pbnQgZXh0ZW5kcyBXSS5PYmplY3QKICAgICBzYXZlSWRlbnRpdHlU
b0Nvb2tpZShjb29raWUpCiAgICAgewogICAgICAgICBjb29raWVbImV2ZW50LWJyZWFrcG9pbnQt
dHlwZSJdID0gdGhpcy5fdHlwZTsKLSAgICAgICAgY29va2llWyJldmVudC1icmVha3BvaW50LWV2
ZW50LW5hbWUiXSA9IHRoaXMuX2V2ZW50TmFtZTsKKyAgICAgICAgaWYgKHRoaXMuX2V2ZW50TmFt
ZSkKKyAgICAgICAgICAgIGNvb2tpZVsiZXZlbnQtYnJlYWtwb2ludC1ldmVudC1uYW1lIl0gPSB0
aGlzLl9ldmVudE5hbWU7CisgICAgICAgIGlmICh0aGlzLl9ldmVudExpc3RlbmVyKQorICAgICAg
ICAgICAgY29va2llWyJldmVudC1icmVha3BvaW50LWV2ZW50LWxpc3RlbmVyIl0gPSB0aGlzLl9l
dmVudExpc3RlbmVyLmV2ZW50TGlzdGVuZXJJZDsKKyAgICAgICAgaWYgKHRoaXMuX2Rpc2FibGVk
KQorICAgICAgICAgICAgY29va2llWyJldmVudC1icmVha3BvaW50LWRpc2FibGVkIl0gPSB0aGlz
Ll9kaXNhYmxlZDsKICAgICB9CiAKICAgICB0b0pTT04oa2V5KQogICAgIHsKICAgICAgICAgbGV0
IGpzb24gPSB7CiAgICAgICAgICAgICB0eXBlOiB0aGlzLl90eXBlLAotICAgICAgICAgICAgZXZl
bnROYW1lOiB0aGlzLl9ldmVudE5hbWUsCiAgICAgICAgIH07CisgICAgICAgIGlmICh0aGlzLl9l
dmVudE5hbWUpCisgICAgICAgICAgICBqc29uLmV2ZW50TmFtZSA9IHRoaXMuX2V2ZW50TmFtZTsK
ICAgICAgICAgaWYgKHRoaXMuX2Rpc2FibGVkKQogICAgICAgICAgICAganNvbi5kaXNhYmxlZCA9
IHRydWU7CiAgICAgICAgIGlmIChrZXkgPT09IFdJLk9iamVjdFN0b3JlLnRvSlNPTlN5bWJvbCkK
LSAgICAgICAgICAgIGpzb25bV0kub2JqZWN0U3RvcmVzLmV2ZW50QnJlYWtwb2ludHMua2V5UGF0
aF0gPSB0aGlzLl90eXBlICsgIjoiICsgdGhpcy5fZXZlbnROYW1lOworICAgICAgICAgICAganNv
bltXSS5vYmplY3RTdG9yZXMuZXZlbnRCcmVha3BvaW50cy5rZXlQYXRoXSA9IHRoaXMuX3R5cGUg
KyAodGhpcy5fZXZlbnROYW1lID8gIjoiICsgdGhpcy5fZXZlbnROYW1lIDogIiIpOwogICAgICAg
ICByZXR1cm4ganNvbjsKICAgICB9CiB9OwogCiBXSS5FdmVudEJyZWFrcG9pbnQuVHlwZSA9IHsK
ICAgICBBbmltYXRpb25GcmFtZTogImFuaW1hdGlvbi1mcmFtZSIsCisgICAgSW50ZXJ2YWw6ICJp
bnRlcnZhbCIsCiAgICAgTGlzdGVuZXI6ICJsaXN0ZW5lciIsCisgICAgVGltZW91dDogInRpbWVv
dXQiLAorCisgICAgLy8gQ09NUEFUSUJJTElUWSAoaU9TIDEzKTogRE9NRGVidWdnZXIuRXZlbnRC
cmVha3BvaW50VHlwZXMuVGltZXIgd2FzIHJlbW92ZWQuCiAgICAgVGltZXI6ICJ0aW1lciIsCiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9EZWJ1Z2dlclNpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzCmluZGV4IDNiMGJhNzQxYWU4NWMx
ZDE2MjBjMTBlZGE3ODQwMWIyMzU1ZWEyMzkuLmNlMDAyMmIwNjlkYTYwY2YwOGNkZmI5ZDkxMmFl
YzMxMGZkNzM4OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzCkBAIC0yMjcs
MTcgKzIyNywyOSBAQCBXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbCA9IGNsYXNzIERlYnVnZ2VyU2lk
ZWJhclBhbmVsIGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYQogICAgICAgICAgICAgdGhpcy5f
YWRkU2NyaXB0KHNjcmlwdCk7CiAKICAgICAgICAgaWYgKFdJLmRvbURlYnVnZ2VyTWFuYWdlci5z
dXBwb3J0ZWQpIHsKLSAgICAgICAgICAgIGlmIChXSS5zZXR0aW5ncy5zaG93QWxsUmVxdWVzdHNC
cmVha3BvaW50LnZhbHVlKQotICAgICAgICAgICAgICAgIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5h
ZGRVUkxCcmVha3BvaW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxSZXF1ZXN0c0JyZWFrcG9p
bnQpOworICAgICAgICAgICAgaWYgKFdJLnNldHRpbmdzLnNob3dBbGxBbmltYXRpb25GcmFtZXNC
cmVha3BvaW50LnZhbHVlKQorICAgICAgICAgICAgICAgIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5h
ZGRFdmVudEJyZWFrcG9pbnQoV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEFuaW1hdGlvbkZyYW1l
c0JyZWFrcG9pbnQpOwogCi0gICAgICAgICAgICBmb3IgKGxldCBldmVudEJyZWFrcG9pbnQgb2Yg
V0kuZG9tRGVidWdnZXJNYW5hZ2VyLmV2ZW50QnJlYWtwb2ludHMpCisgICAgICAgICAgICBpZiAo
V0kuc2V0dGluZ3Muc2hvd0FsbFRpbWVvdXRzQnJlYWtwb2ludC52YWx1ZSkKKyAgICAgICAgICAg
ICAgICBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRCcmVha3BvaW50KFdJLmRvbURlYnVn
Z2VyTWFuYWdlci5hbGxUaW1lb3V0c0JyZWFrcG9pbnQpOworCisgICAgICAgICAgICBpZiAoV0ku
c2V0dGluZ3Muc2hvd0FsbEludGVydmFsc0JyZWFrcG9pbnQudmFsdWUpCisgICAgICAgICAgICAg
ICAgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFkZEV2ZW50QnJlYWtwb2ludChXSS5kb21EZWJ1Z2dl
ck1hbmFnZXIuYWxsSW50ZXJ2YWxzQnJlYWtwb2ludCk7CisKKyAgICAgICAgICAgIGlmIChXSS5z
ZXR0aW5ncy5zaG93QWxsTGlzdGVuZXJzQnJlYWtwb2ludC52YWx1ZSkKKyAgICAgICAgICAgICAg
ICBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRCcmVha3BvaW50KFdJLmRvbURlYnVnZ2Vy
TWFuYWdlci5hbGxMaXN0ZW5lcnNCcmVha3BvaW50KTsKKworICAgICAgICAgICAgZm9yIChsZXQg
ZXZlbnRCcmVha3BvaW50IG9mIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5saXN0ZW5lckJyZWFrcG9p
bnRzKQogICAgICAgICAgICAgICAgIHRoaXMuX2FkZEJyZWFrcG9pbnQoZXZlbnRCcmVha3BvaW50
KTsKIAorICAgICAgICAgICAgZm9yIChsZXQgZXZlbnRMaXN0ZW5lckJyZWFrcG9pbnQgb2YgV0ku
ZG9tTWFuYWdlci5ldmVudExpc3RlbmVyQnJlYWtwb2ludHMpCisgICAgICAgICAgICAgICAgdGhp
cy5fYWRkQnJlYWtwb2ludChldmVudExpc3RlbmVyQnJlYWtwb2ludCk7CisKICAgICAgICAgICAg
IGZvciAobGV0IGRvbUJyZWFrcG9pbnQgb2YgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmRvbUJyZWFr
cG9pbnRzKQogICAgICAgICAgICAgICAgIHRoaXMuX2FkZEJyZWFrcG9pbnQoZG9tQnJlYWtwb2lu
dCk7CiAKLSAgICAgICAgICAgIGZvciAobGV0IGV2ZW50TGlzdGVuZXJCcmVha3BvaW50IG9mIFdJ
LmRvbU1hbmFnZXIuZXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRzKQotICAgICAgICAgICAgICAgIHRo
aXMuX2FkZEJyZWFrcG9pbnQoZXZlbnRMaXN0ZW5lckJyZWFrcG9pbnQpOworICAgICAgICAgICAg
aWYgKFdJLnNldHRpbmdzLnNob3dBbGxSZXF1ZXN0c0JyZWFrcG9pbnQudmFsdWUpCisgICAgICAg
ICAgICAgICAgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFkZFVSTEJyZWFrcG9pbnQoV0kuZG9tRGVi
dWdnZXJNYW5hZ2VyLmFsbFJlcXVlc3RzQnJlYWtwb2ludCk7CiAKICAgICAgICAgICAgIGZvciAo
bGV0IHVybEJyZWFrcG9pbnRzIG9mIFdJLmRvbURlYnVnZ2VyTWFuYWdlci51cmxCcmVha3BvaW50
cykKICAgICAgICAgICAgICAgICB0aGlzLl9hZGRCcmVha3BvaW50KHVybEJyZWFrcG9pbnRzKTsK
QEAgLTM2NCwyNSArMzc2LDM3IEBAIFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsID0gY2xhc3MgRGVi
dWdnZXJTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5OYXZpZ2F0aW9uU2lkZWJhCiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICB2YXIgcmVwcmVzZW50ZWRPYmplY3QgPSBz
ZWxlY3RlZFRyZWVFbGVtZW50LnJlcHJlc2VudGVkT2JqZWN0OwotCi0gICAgICAgIGlmIChyZXBy
ZXNlbnRlZE9iamVjdCA9PT0gV0kuZGVidWdnZXJNYW5hZ2VyLmFsbEV4Y2VwdGlvbnNCcmVha3Bv
aW50KSB7Ci0gICAgICAgICAgICBjb29raWVbV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwuU2VsZWN0
ZWRBbGxFeGNlcHRpb25zQ29va2llS2V5XSA9IHRydWU7CisgICAgICAgIHN3aXRjaCAoc2VsZWN0
ZWRUcmVlRWxlbWVudC5yZXByZXNlbnRlZE9iamVjdCkgeworICAgICAgICBjYXNlIFdJLmRlYnVn
Z2VyTWFuYWdlci5hbGxFeGNlcHRpb25zQnJlYWtwb2ludDoKKyAgICAgICAgICAgIGNvb2tpZVtE
ZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxlY3RlZEFsbEV4Y2VwdGlvbnNDb29raWVLZXldID0gdHJ1
ZTsKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQogCi0gICAgICAgIGlmIChyZXByZXNl
bnRlZE9iamVjdCA9PT0gV0kuZGVidWdnZXJNYW5hZ2VyLnVuY2F1Z2h0RXhjZXB0aW9uc0JyZWFr
cG9pbnQpIHsKLSAgICAgICAgICAgIGNvb2tpZVtXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxl
Y3RlZFVuY2F1Z2h0RXhjZXB0aW9uc0Nvb2tpZUtleV0gPSB0cnVlOworICAgICAgICBjYXNlIFdJ
LmRlYnVnZ2VyTWFuYWdlci51bmNhdWdodEV4Y2VwdGlvbnNCcmVha3BvaW50OgorICAgICAgICAg
ICAgY29va2llW0RlYnVnZ2VyU2lkZWJhclBhbmVsLlNlbGVjdGVkVW5jYXVnaHRFeGNlcHRpb25z
Q29va2llS2V5XSA9IHRydWU7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KIAotICAg
ICAgICBpZiAocmVwcmVzZW50ZWRPYmplY3QgPT09IFdJLmRlYnVnZ2VyTWFuYWdlci5hc3NlcnRp
b25GYWlsdXJlc0JyZWFrcG9pbnQpIHsKLSAgICAgICAgICAgIGNvb2tpZVtXSS5EZWJ1Z2dlclNp
ZGViYXJQYW5lbC5TZWxlY3RlZEFzc2VydGlvbkZhaWx1cmVzQ29va2llS2V5XSA9IHRydWU7Cisg
ICAgICAgIGNhc2UgV0kuZGVidWdnZXJNYW5hZ2VyLmFzc2VydGlvbkZhaWx1cmVzQnJlYWtwb2lu
dDoKKyAgICAgICAgICAgIGNvb2tpZVtEZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxlY3RlZEFzc2Vy
dGlvbkZhaWx1cmVzQ29va2llS2V5XSA9IHRydWU7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAg
ICAgIH0KIAotICAgICAgICBpZiAocmVwcmVzZW50ZWRPYmplY3QgPT09IFdJLmRvbURlYnVnZ2Vy
TWFuYWdlci5hbGxSZXF1ZXN0c0JyZWFrcG9pbnQpIHsKLSAgICAgICAgICAgIGNvb2tpZVtXSS5E
ZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxlY3RlZEFsbFJlcXVlc3RzQ29va2llS2V5XSA9IHRydWU7
CisgICAgICAgIGNhc2UgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEFuaW1hdGlvbkZyYW1lc0Jy
ZWFrcG9pbnQ6CisgICAgICAgICAgICBjb29raWVbRGVidWdnZXJTaWRlYmFyUGFuZWwuU2VsZWN0
ZWRBbGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50XSA9IHRydWU7CisgICAgICAgICAgICByZXR1
cm47CisKKyAgICAgICAgY2FzZSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsSW50ZXJ2YWxzQnJl
YWtwb2ludDoKKyAgICAgICAgICAgIGNvb2tpZVtEZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxlY3Rl
ZEFsbEludGVydmFsc0JyZWFrcG9pbnRdID0gdHJ1ZTsKKyAgICAgICAgICAgIHJldHVybjsKKwor
ICAgICAgICBjYXNlIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxMaXN0ZW5lcnNCcmVha3BvaW50
OgorICAgICAgICAgICAgY29va2llW0RlYnVnZ2VyU2lkZWJhclBhbmVsLlNlbGVjdGVkQWxsTGlz
dGVuZXJzQnJlYWtwb2ludF0gPSB0cnVlOworICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAg
IGNhc2UgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbFRpbWVvdXRzQnJlYWtwb2ludDoKKyAgICAg
ICAgICAgIGNvb2tpZVtEZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxlY3RlZEFsbFRpbWVvdXRzQnJl
YWtwb2ludF0gPSB0cnVlOworICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGNhc2UgV0ku
ZG9tRGVidWdnZXJNYW5hZ2VyLmFsbFJlcXVlc3RzQnJlYWtwb2ludDoKKyAgICAgICAgICAgIGNv
b2tpZVtEZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxlY3RlZEFsbFJlcXVlc3RzQ29va2llS2V5XSA9
IHRydWU7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIApAQCAtNDAyLDE0ICs0MjYs
MjIgQEAgV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwgPSBjbGFzcyBEZWJ1Z2dlclNpZGViYXJQYW5l
bCBleHRlbmRzIFdJLk5hdmlnYXRpb25TaWRlYmEKICAgICAgICAgfQogCiAgICAgICAgIC8vIEVh
Z2VybHkgcmVzb2x2ZSB0aGUgc3BlY2lhbCBicmVha3BvaW50czsgb3RoZXJ3aXNlLCB1c2UgdGhl
IGRlZmF1bHQgYmVoYXZpb3IuCi0gICAgICAgIGlmIChjb29raWVbV0kuRGVidWdnZXJTaWRlYmFy
UGFuZWwuU2VsZWN0ZWRBbGxFeGNlcHRpb25zQ29va2llS2V5XSkKKyAgICAgICAgaWYgKGNvb2tp
ZVtEZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxlY3RlZEFsbEV4Y2VwdGlvbnNDb29raWVLZXldKQog
ICAgICAgICAgICAgcmV2ZWFsQW5kU2VsZWN0KHRoaXMuX2JyZWFrcG9pbnRzQ29udGVudFRyZWVP
dXRsaW5lLCBXSS5kZWJ1Z2dlck1hbmFnZXIuYWxsRXhjZXB0aW9uc0JyZWFrcG9pbnQpOwotICAg
ICAgICBlbHNlIGlmIChjb29raWVbV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwuU2VsZWN0ZWRVbmNh
dWdodEV4Y2VwdGlvbnNDb29raWVLZXldKQorICAgICAgICBlbHNlIGlmIChjb29raWVbRGVidWdn
ZXJTaWRlYmFyUGFuZWwuU2VsZWN0ZWRVbmNhdWdodEV4Y2VwdGlvbnNDb29raWVLZXldKQogICAg
ICAgICAgICAgcmV2ZWFsQW5kU2VsZWN0KHRoaXMuX2JyZWFrcG9pbnRzQ29udGVudFRyZWVPdXRs
aW5lLCBXSS5kZWJ1Z2dlck1hbmFnZXIudW5jYXVnaHRFeGNlcHRpb25zQnJlYWtwb2ludCk7Ci0g
ICAgICAgIGVsc2UgaWYgKGNvb2tpZVtXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxlY3RlZEFz
c2VydGlvbkZhaWx1cmVzQ29va2llS2V5XSkKKyAgICAgICAgZWxzZSBpZiAoY29va2llW0RlYnVn
Z2VyU2lkZWJhclBhbmVsLlNlbGVjdGVkQXNzZXJ0aW9uRmFpbHVyZXNDb29raWVLZXldKQogICAg
ICAgICAgICAgcmV2ZWFsQW5kU2VsZWN0KHRoaXMuX2JyZWFrcG9pbnRzQ29udGVudFRyZWVPdXRs
aW5lLCBXSS5kZWJ1Z2dlck1hbmFnZXIuYXNzZXJ0aW9uRmFpbHVyZXNCcmVha3BvaW50KTsKLSAg
ICAgICAgZWxzZSBpZiAoY29va2llW1dJLkRlYnVnZ2VyU2lkZWJhclBhbmVsLlNlbGVjdGVkQWxs
UmVxdWVzdHNDb29raWVLZXldKQorICAgICAgICBlbHNlIGlmIChjb29raWVbRGVidWdnZXJTaWRl
YmFyUGFuZWwuU2VsZWN0ZWRBbGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50XSkKKyAgICAgICAg
ICAgIHJldmVhbEFuZFNlbGVjdCh0aGlzLl9icmVha3BvaW50c0NvbnRlbnRUcmVlT3V0bGluZSwg
V0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEFuaW1hdGlvbkZyYW1lc0JyZWFrcG9pbnQpOworICAg
ICAgICBlbHNlIGlmIChjb29raWVbRGVidWdnZXJTaWRlYmFyUGFuZWwuU2VsZWN0ZWRBbGxJbnRl
cnZhbHNCcmVha3BvaW50XSkKKyAgICAgICAgICAgIHJldmVhbEFuZFNlbGVjdCh0aGlzLl9icmVh
a3BvaW50c0NvbnRlbnRUcmVlT3V0bGluZSwgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEludGVy
dmFsc0JyZWFrcG9pbnQpOworICAgICAgICBlbHNlIGlmIChjb29raWVbRGVidWdnZXJTaWRlYmFy
UGFuZWwuU2VsZWN0ZWRBbGxMaXN0ZW5lcnNCcmVha3BvaW50XSkKKyAgICAgICAgICAgIHJldmVh
bEFuZFNlbGVjdCh0aGlzLl9icmVha3BvaW50c0NvbnRlbnRUcmVlT3V0bGluZSwgV0kuZG9tRGVi
dWdnZXJNYW5hZ2VyLmFsbExpc3RlbmVyc0JyZWFrcG9pbnQpOworICAgICAgICBlbHNlIGlmIChj
b29raWVbRGVidWdnZXJTaWRlYmFyUGFuZWwuU2VsZWN0ZWRBbGxSZXF1ZXN0c0Nvb2tpZUtleV0p
CiAgICAgICAgICAgICByZXZlYWxBbmRTZWxlY3QodGhpcy5fYnJlYWtwb2ludHNDb250ZW50VHJl
ZU91dGxpbmUsIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxSZXF1ZXN0c0JyZWFrcG9pbnQpOwor
ICAgICAgICBlbHNlIGlmIChjb29raWVbRGVidWdnZXJTaWRlYmFyUGFuZWwuU2VsZWN0ZWRBbGxU
aW1lb3V0c0JyZWFrcG9pbnRdKQorICAgICAgICAgICAgcmV2ZWFsQW5kU2VsZWN0KHRoaXMuX2Jy
ZWFrcG9pbnRzQ29udGVudFRyZWVPdXRsaW5lLCBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsVGlt
ZW91dHNCcmVha3BvaW50KTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgc3VwZXIucmVzdG9y
ZVN0YXRlRnJvbUNvb2tpZShjb29raWUsIHJlbGF4ZWRNYXRjaERlbGF5KTsKICAgICB9CkBAIC01
MTIsNyArNTQ0LDE1IEBAIFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsID0gY2xhc3MgRGVidWdnZXJT
aWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5OYXZpZ2F0aW9uU2lkZWJhCiAgICAgICAgIH0gZWxzZSBp
ZiAoYnJlYWtwb2ludCBpbnN0YW5jZW9mIFdJLkV2ZW50QnJlYWtwb2ludCkgewogICAgICAgICAg
ICAgY29uc3RydWN0b3IgPSBXSS5FdmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudDsKIAotICAgICAg
ICAgICAgaWYgKGJyZWFrcG9pbnQuZXZlbnRMaXN0ZW5lcikgeworICAgICAgICAgICAgaWYgKGJy
ZWFrcG9pbnQgPT09IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxBbmltYXRpb25GcmFtZXNCcmVh
a3BvaW50KQorICAgICAgICAgICAgICAgIG9wdGlvbnMudGl0bGUgPSBXSS5VSVN0cmluZygiQWxs
IEFuaW1hdGlvbiBGcmFtZXMiKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKGJyZWFrcG9pbnQgPT09
IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxJbnRlcnZhbHNCcmVha3BvaW50KQorICAgICAgICAg
ICAgICAgIG9wdGlvbnMudGl0bGUgPSBXSS5VSVN0cmluZygiQWxsIEludGVydmFscyIpOworICAg
ICAgICAgICAgZWxzZSBpZiAoYnJlYWtwb2ludCA9PT0gV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFs
bExpc3RlbmVyc0JyZWFrcG9pbnQpCisgICAgICAgICAgICAgICAgb3B0aW9ucy50aXRsZSA9IFdJ
LlVJU3RyaW5nKCJBbGwgRXZlbnRzIik7CisgICAgICAgICAgICBlbHNlIGlmIChicmVha3BvaW50
ID09PSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsVGltZW91dHNCcmVha3BvaW50KQorICAgICAg
ICAgICAgICAgIG9wdGlvbnMudGl0bGUgPSBXSS5VSVN0cmluZygiQWxsIFRpbWVvdXRzIik7Cisg
ICAgICAgICAgICBlbHNlIGlmIChicmVha3BvaW50LmV2ZW50TGlzdGVuZXIpIHsKICAgICAgICAg
ICAgICAgICBsZXQgZXZlbnRUYXJnZXRUcmVlRWxlbWVudCA9IG51bGw7CiAgICAgICAgICAgICAg
ICAgaWYgKGJyZWFrcG9pbnQuZXZlbnRMaXN0ZW5lci5vbldpbmRvdykgewogICAgICAgICAgICAg
ICAgICAgICBpZiAoIURlYnVnZ2VyU2lkZWJhclBhbmVsLl9fd2luZG93RXZlbnRUYXJnZXRSZXBy
ZXNlbnRlZE9iamVjdCkKQEAgLTEwNjQsNiArMTEwNCwxMCBAQCBXSS5EZWJ1Z2dlclNpZGViYXJQ
YW5lbCA9IGNsYXNzIERlYnVnZ2VyU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuTmF2aWdhdGlvblNp
ZGViYQogICAgICAgICAgICAgICAgICh0cmVlRWxlbWVudCkgPT4gdHJlZUVsZW1lbnQucmVwcmVz
ZW50ZWRPYmplY3QgPT09IFdJLmRlYnVnZ2VyTWFuYWdlci51bmNhdWdodEV4Y2VwdGlvbnNCcmVh
a3BvaW50LAogICAgICAgICAgICAgICAgICh0cmVlRWxlbWVudCkgPT4gdHJlZUVsZW1lbnQucmVw
cmVzZW50ZWRPYmplY3QgPT09IFdJLmRlYnVnZ2VyTWFuYWdlci5hc3NlcnRpb25GYWlsdXJlc0Jy
ZWFrcG9pbnQsCiAgICAgICAgICAgICAgICAgKHRyZWVFbGVtZW50KSA9PiB0cmVlRWxlbWVudCBp
bnN0YW5jZW9mIFdJLkJyZWFrcG9pbnRUcmVlRWxlbWVudCB8fCB0cmVlRWxlbWVudCBpbnN0YW5j
ZW9mIFdJLlJlc291cmNlVHJlZUVsZW1lbnQgfHwgdHJlZUVsZW1lbnQgaW5zdGFuY2VvZiBXSS5T
Y3JpcHRUcmVlRWxlbWVudCwKKyAgICAgICAgICAgICAgICAodHJlZUVsZW1lbnQpID0+IHRyZWVF
bGVtZW50LnJlcHJlc2VudGVkT2JqZWN0ID09PSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsQW5p
bWF0aW9uRnJhbWVzQnJlYWtwb2ludCwKKyAgICAgICAgICAgICAgICAodHJlZUVsZW1lbnQpID0+
IHRyZWVFbGVtZW50LnJlcHJlc2VudGVkT2JqZWN0ID09PSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIu
YWxsVGltZW91dHNCcmVha3BvaW50LAorICAgICAgICAgICAgICAgICh0cmVlRWxlbWVudCkgPT4g
dHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QgPT09IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5h
bGxJbnRlcnZhbHNCcmVha3BvaW50LAorICAgICAgICAgICAgICAgICh0cmVlRWxlbWVudCkgPT4g
dHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QgPT09IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5h
bGxMaXN0ZW5lcnNCcmVha3BvaW50LAogICAgICAgICAgICAgICAgICh0cmVlRWxlbWVudCkgPT4g
dHJlZUVsZW1lbnQgaW5zdGFuY2VvZiBXSS5FdmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudCwKICAg
ICAgICAgICAgICAgICAodHJlZUVsZW1lbnQpID0+IHRyZWVFbGVtZW50IGluc3RhbmNlb2YgV0ku
RE9NTm9kZVRyZWVFbGVtZW50LAogICAgICAgICAgICAgICAgICh0cmVlRWxlbWVudCkgPT4gdHJl
ZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QgPT09IERlYnVnZ2VyU2lkZWJhclBhbmVsLl9fd2lu
ZG93RXZlbnRUYXJnZXRSZXByZXNlbnRlZE9iamVjdCwKQEAgLTExMjMsMjAgKzExNjcsMTEgQEAg
V0kuRGVidWdnZXJTaWRlYmFyUGFuZWwgPSBjbGFzcyBEZWJ1Z2dlclNpZGViYXJQYW5lbCBleHRl
bmRzIFdJLk5hdmlnYXRpb25TaWRlYmEKIAogICAgICAgICBzd2l0Y2ggKHBhdXNlUmVhc29uKSB7
CiAgICAgICAgIGNhc2UgV0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVhc29uLkFuaW1hdGlvbkZy
YW1lOgotICAgICAgICAgICAgY29uc29sZS5hc3NlcnQocGF1c2VEYXRhLCAiRXhwZWN0ZWQgZGF0
YSB3aXRoIGFuIGFuaW1hdGlvbiBmcmFtZSwgYnV0IGZvdW5kIG5vbmUuIik7Ci0gICAgICAgICAg
ICBpZiAoIXBhdXNlRGF0YSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAg
ICAgICAgIHZhciBldmVudEJyZWFrcG9pbnQgPSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuZXZlbnRC
cmVha3BvaW50Rm9yVHlwZUFuZEV2ZW50TmFtZShXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5Bbmlt
YXRpb25GcmFtZSwgcGF1c2VEYXRhLmV2ZW50TmFtZSk7Ci0gICAgICAgICAgICBjb25zb2xlLmFz
c2VydChldmVudEJyZWFrcG9pbnQsICJFeHBlY3RlZCBBbmltYXRpb25GcmFtZSBicmVha3BvaW50
IGZvciBldmVudCBuYW1lLiIsIHBhdXNlRGF0YS5ldmVudE5hbWUpOwotICAgICAgICAgICAgaWYg
KCFldmVudEJyZWFrcG9pbnQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCiAgICAg
ICAgICAgICB0aGlzLl9wYXVzZVJlYXNvblRyZWVPdXRsaW5lID0gdGhpcy5jcmVhdGVDb250ZW50
VHJlZU91dGxpbmUoe3N1cHByZXNzRmlsdGVyaW5nOiB0cnVlfSk7CiAKLSAgICAgICAgICAgIHZh
ciBldmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudCA9IG5ldyBXSS5FdmVudEJyZWFrcG9pbnRUcmVl
RWxlbWVudChldmVudEJyZWFrcG9pbnQsIHsKKyAgICAgICAgICAgIHZhciBldmVudEJyZWFrcG9p
bnRUcmVlRWxlbWVudCA9IG5ldyBXSS5FdmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudChXSS5kb21E
ZWJ1Z2dlck1hbmFnZXIuYWxsQW5pbWF0aW9uRnJhbWVzQnJlYWtwb2ludCwgewogICAgICAgICAg
ICAgICAgIGNsYXNzTmFtZTogV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwuUGF1c2VkQnJlYWtwb2lu
dEljb25TdHlsZUNsYXNzTmFtZSwKLSAgICAgICAgICAgICAgICB0aXRsZTogV0kuVUlTdHJpbmco
IiVzIEZpcmVkIikuZm9ybWF0KHBhdXNlRGF0YS5ldmVudE5hbWUpLAorICAgICAgICAgICAgICAg
IHRpdGxlOiBXSS5VSVN0cmluZygicmVxdWVzdEFuaW1hdGlvbkZyYW1lIEZpcmVkIiksCiAgICAg
ICAgICAgICB9KTsKICAgICAgICAgICAgIHRoaXMuX3BhdXNlUmVhc29uVHJlZU91dGxpbmUuYXBw
ZW5kQ2hpbGQoZXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQpOwogCkBAIC0xMjUzLDYgKzEyODgs
NyBAQCBXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbCA9IGNsYXNzIERlYnVnZ2VyU2lkZWJhclBhbmVs
IGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYQogICAgICAgICAgICAgfQogICAgICAgICAgICAg
YnJlYWs7CiAKKyAgICAgICAgY2FzZSBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uTGlz
dGVuZXI6CiAgICAgICAgIGNhc2UgV0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVhc29uLkV2ZW50
TGlzdGVuZXI6CiAgICAgICAgICAgICBjb25zb2xlLmFzc2VydChwYXVzZURhdGEsICJFeHBlY3Rl
ZCBkYXRhIHdpdGggYW4gZXZlbnQgbGlzdGVuZXIsIGJ1dCBmb3VuZCBub25lLiIpOwogICAgICAg
ICAgICAgaWYgKCFwYXVzZURhdGEpCkBAIC0xMjYyLDcgKzEyOTgsNyBAQCBXSS5EZWJ1Z2dlclNp
ZGViYXJQYW5lbCA9IGNsYXNzIERlYnVnZ2VyU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuTmF2aWdh
dGlvblNpZGViYQogICAgICAgICAgICAgaWYgKHBhdXNlRGF0YS5ldmVudExpc3RlbmVySWQpCiAg
ICAgICAgICAgICAgICAgZXZlbnRCcmVha3BvaW50ID0gV0kuZG9tTWFuYWdlci5icmVha3BvaW50
Rm9yRXZlbnRMaXN0ZW5lcklkKHBhdXNlRGF0YS5ldmVudExpc3RlbmVySWQpOwogICAgICAgICAg
ICAgaWYgKCFldmVudEJyZWFrcG9pbnQpCi0gICAgICAgICAgICAgICAgZXZlbnRCcmVha3BvaW50
ID0gV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmV2ZW50QnJlYWtwb2ludEZvclR5cGVBbmRFdmVudE5h
bWUoV0kuRXZlbnRCcmVha3BvaW50LlR5cGUuTGlzdGVuZXIsIHBhdXNlRGF0YS5ldmVudE5hbWUp
OworICAgICAgICAgICAgICAgIGV2ZW50QnJlYWtwb2ludCA9IFdJLmRvbURlYnVnZ2VyTWFuYWdl
ci5saXN0ZW5lckJyZWFrcG9pbnRGb3JFdmVudE5hbWUocGF1c2VEYXRhLmV2ZW50TmFtZSk7CiAK
ICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGV2ZW50QnJlYWtwb2ludCwgIkV4cGVjdGVkIEV2
ZW50IExpc3RlbmVyIGJyZWFrcG9pbnQgZm9yIGV2ZW50IG5hbWUuIiwgcGF1c2VEYXRhLmV2ZW50
TmFtZSk7CiAgICAgICAgICAgICBpZiAoIWV2ZW50QnJlYWtwb2ludCkKQEAgLTEzMDgsNiArMTM0
NCwyMSBAQCBXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbCA9IGNsYXNzIERlYnVnZ2VyU2lkZWJhclBh
bmVsIGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYQogICAgICAgICAgICAgfQogICAgICAgICAg
ICAgYnJlYWs7CiAKKyAgICAgICAgY2FzZSBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24u
SW50ZXJ2YWw6CisgICAgICAgICAgICB0aGlzLl9wYXVzZVJlYXNvblRyZWVPdXRsaW5lID0gdGhp
cy5jcmVhdGVDb250ZW50VHJlZU91dGxpbmUoe3N1cHByZXNzRmlsdGVyaW5nOiB0cnVlfSk7CisK
KyAgICAgICAgICAgIHZhciBldmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudCA9IG5ldyBXSS5FdmVu
dEJyZWFrcG9pbnRUcmVlRWxlbWVudChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsSW50ZXJ2YWxz
QnJlYWtwb2ludCwgeworICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogV0kuRGVidWdnZXJTaWRl
YmFyUGFuZWwuUGF1c2VkQnJlYWtwb2ludEljb25TdHlsZUNsYXNzTmFtZSwKKyAgICAgICAgICAg
ICAgICB0aXRsZTogV0kuVUlTdHJpbmcoInNldEludGVydmFsIEZpcmVkIiksCisgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIHRoaXMuX3BhdXNlUmVhc29uVHJlZU91dGxpbmUuYXBwZW5kQ2hp
bGQoZXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQpOworCisgICAgICAgICAgICB2YXIgZXZlbnRC
cmVha3BvaW50Um93ID0gbmV3IFdJLkRldGFpbHNTZWN0aW9uUm93OworICAgICAgICAgICAgZXZl
bnRCcmVha3BvaW50Um93LmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fcGF1c2VSZWFzb25UcmVl
T3V0bGluZS5lbGVtZW50KTsKKworICAgICAgICAgICAgdGhpcy5fcGF1c2VSZWFzb25Hcm91cC5y
b3dzID0gW2V2ZW50QnJlYWtwb2ludFJvd107CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKwog
ICAgICAgICBjYXNlIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5QYXVzZU9uTmV4dFN0
YXRlbWVudDoKICAgICAgICAgICAgIHRoaXMuX3BhdXNlUmVhc29uVGV4dFJvdy50ZXh0ID0gV0ku
VUlTdHJpbmcoIkltbWVkaWF0ZSBQYXVzZSBSZXF1ZXN0ZWQiKTsKICAgICAgICAgICAgIHRoaXMu
X3BhdXNlUmVhc29uR3JvdXAucm93cyA9IFt0aGlzLl9wYXVzZVJlYXNvblRleHRSb3ddOwpAQCAt
MTMxOCw3ICsxMzY5LDE2IEBAIFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsID0gY2xhc3MgRGVidWdn
ZXJTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5OYXZpZ2F0aW9uU2lkZWJhCiAgICAgICAgICAgICBp
ZiAoIXBhdXNlRGF0YSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAg
ICAgIHZhciBldmVudEJyZWFrcG9pbnQgPSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuZXZlbnRCcmVh
a3BvaW50Rm9yVHlwZUFuZEV2ZW50TmFtZShXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5UaW1lciwg
cGF1c2VEYXRhLmV2ZW50TmFtZSk7CisgICAgICAgICAgICB2YXIgZXZlbnRCcmVha3BvaW50ID0g
bnVsbDsKKyAgICAgICAgICAgIHN3aXRjaCAocGF1c2VEYXRhLmV2ZW50TmFtZSkgeworICAgICAg
ICAgICAgY2FzZSAic2V0VGltZW91dCI6CisgICAgICAgICAgICAgICAgZXZlbnRCcmVha3BvaW50
ID0gV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbFRpbWVvdXRzQnJlYWtwb2ludDsKKyAgICAgICAg
ICAgICAgICBicmVhazsKKworICAgICAgICAgICAgY2FzZSAic2V0SW50ZXJ2YWwiOgorICAgICAg
ICAgICAgICAgIGV2ZW50QnJlYWtwb2ludCA9IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxJbnRl
cnZhbHNCcmVha3BvaW50OworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQog
ICAgICAgICAgICAgY29uc29sZS5hc3NlcnQoZXZlbnRCcmVha3BvaW50LCAiRXhwZWN0ZWQgVGlt
ZXIgYnJlYWtwb2ludCBmb3IgZXZlbnQgbmFtZS4iLCBwYXVzZURhdGEuZXZlbnROYW1lKTsKICAg
ICAgICAgICAgIGlmICghZXZlbnRCcmVha3BvaW50KQogICAgICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKQEAgLTEzMzcsNiArMTM5NywyMSBAQCBXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbCA9IGNs
YXNzIERlYnVnZ2VyU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYQogICAg
ICAgICAgICAgdGhpcy5fcGF1c2VSZWFzb25Hcm91cC5yb3dzID0gW2V2ZW50QnJlYWtwb2ludFJv
d107CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKIAorICAgICAgICBjYXNlIFdJLkRlYnVnZ2Vy
TWFuYWdlci5QYXVzZVJlYXNvbi5UaW1lb3V0OgorICAgICAgICAgICAgdGhpcy5fcGF1c2VSZWFz
b25UcmVlT3V0bGluZSA9IHRoaXMuY3JlYXRlQ29udGVudFRyZWVPdXRsaW5lKHtzdXBwcmVzc0Zp
bHRlcmluZzogdHJ1ZX0pOworCisgICAgICAgICAgICB2YXIgZXZlbnRCcmVha3BvaW50VHJlZUVs
ZW1lbnQgPSBuZXcgV0kuRXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQoV0kuZG9tRGVidWdnZXJN
YW5hZ2VyLmFsbFRpbWVvdXRzQnJlYWtwb2ludCwgeworICAgICAgICAgICAgICAgIGNsYXNzTmFt
ZTogV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwuUGF1c2VkQnJlYWtwb2ludEljb25TdHlsZUNsYXNz
TmFtZSwKKyAgICAgICAgICAgICAgICB0aXRsZTogV0kuVUlTdHJpbmcoInNldFRpbWVvdXQgRmly
ZWQiKSwKKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgdGhpcy5fcGF1c2VSZWFzb25UcmVl
T3V0bGluZS5hcHBlbmRDaGlsZChldmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudCk7CisKKyAgICAg
ICAgICAgIHZhciBldmVudEJyZWFrcG9pbnRSb3cgPSBuZXcgV0kuRGV0YWlsc1NlY3Rpb25Sb3c7
CisgICAgICAgICAgICBldmVudEJyZWFrcG9pbnRSb3cuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlz
Ll9wYXVzZVJlYXNvblRyZWVPdXRsaW5lLmVsZW1lbnQpOworCisgICAgICAgICAgICB0aGlzLl9w
YXVzZVJlYXNvbkdyb3VwLnJvd3MgPSBbZXZlbnRCcmVha3BvaW50Um93XTsKKyAgICAgICAgICAg
IHJldHVybiB0cnVlOworCiAgICAgICAgIGNhc2UgV0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVh
c29uLkZldGNoOgogICAgICAgICBjYXNlIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5Y
SFI6CiAgICAgICAgICAgICBjb25zb2xlLmFzc2VydChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuc3Vw
cG9ydGVkKTsKQEAgLTE0NTUsMTEgKzE1MzAsMzEgQEAgV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwg
PSBjbGFzcyBEZWJ1Z2dlclNpZGViYXJQYW5lbCBleHRlbmRzIFdJLk5hdmlnYXRpb25TaWRlYmEK
ICAgICAgICAgbGV0IHRyZWVFbGVtZW50ID0gZXZlbnQuZGF0YS5lbGVtZW50OwogCiAgICAgICAg
IGxldCBzZXR0aW5nID0gbnVsbDsKLSAgICAgICAgaWYgKHRyZWVFbGVtZW50LmJyZWFrcG9pbnQg
PT09IFdJLmRlYnVnZ2VyTWFuYWdlci5hc3NlcnRpb25GYWlsdXJlc0JyZWFrcG9pbnQpCisgICAg
ICAgIHN3aXRjaCAodHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QpIHsKKyAgICAgICAgY2Fz
ZSBXSS5kZWJ1Z2dlck1hbmFnZXIuYXNzZXJ0aW9uRmFpbHVyZXNCcmVha3BvaW50OgogICAgICAg
ICAgICAgc2V0dGluZyA9IFdJLnNldHRpbmdzLnNob3dBc3NlcnRpb25GYWlsdXJlc0JyZWFrcG9p
bnQ7Ci0gICAgICAgIGVsc2UgaWYgKHRyZWVFbGVtZW50LnJlcHJlc2VudGVkT2JqZWN0ID09PSBX
SS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsUmVxdWVzdHNCcmVha3BvaW50KQotICAgICAgICAgICAg
c2V0dGluZyA9IFdJLnNldHRpbmdzLnNob3dBbGxSZXF1ZXN0c0JyZWFrcG9pbnQ7CisgICAgICAg
ICAgICBicmVhazsKIAorICAgICAgICBjYXNlIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxBbmlt
YXRpb25GcmFtZXNCcmVha3BvaW50OgorICAgICAgICAgICAgc2V0dGluZyA9IFdJLnNldHRpbmdz
LnNob3dBbGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50OworICAgICAgICAgICAgYnJlYWs7CisK
KyAgICAgICAgY2FzZSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsSW50ZXJ2YWxzQnJlYWtwb2lu
dDoKKyAgICAgICAgICAgIHNldHRpbmcgPSBXSS5zZXR0aW5ncy5zaG93QWxsSW50ZXJ2YWxzQnJl
YWtwb2ludDsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgV0kuZG9tRGVidWdn
ZXJNYW5hZ2VyLmFsbExpc3RlbmVyc0JyZWFrcG9pbnQ6CisgICAgICAgICAgICBzZXR0aW5nID0g
V0kuc2V0dGluZ3Muc2hvd0FsbExpc3RlbmVyc0JyZWFrcG9pbnQ7CisgICAgICAgICAgICBicmVh
azsKKworICAgICAgICBjYXNlIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxSZXF1ZXN0c0JyZWFr
cG9pbnQ6CisgICAgICAgICAgICBzZXR0aW5nID0gV0kuc2V0dGluZ3Muc2hvd0FsbFJlcXVlc3Rz
QnJlYWtwb2ludDsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgV0kuZG9tRGVi
dWdnZXJNYW5hZ2VyLmFsbFRpbWVvdXRzQnJlYWtwb2ludDoKKyAgICAgICAgICAgIHNldHRpbmcg
PSBXSS5zZXR0aW5ncy5zaG93QWxsVGltZW91dHNCcmVha3BvaW50OworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIH0KICAgICAgICAgaWYgKHNldHRpbmcpCiAgICAgICAgICAgICBzZXR0aW5n
LnZhbHVlID0gISF0cmVlRWxlbWVudC5wYXJlbnQ7CiAgICAgfQpAQCAtMTQ4MCwxOCArMTU3NSw0
MiBAQCBXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbCA9IGNsYXNzIERlYnVnZ2VyU2lkZWJhclBhbmVs
IGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYQogICAgICAgICAgICAgfSwgYXNzZXJ0aW9uRmFp
bHVyZXNCcmVha3BvaW50U2hvd24pOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKFdJLmRvbURl
YnVnZ2VyTWFuYWdlci5zdXBwb3J0ZWQpIHsKKyAgICAgICAgaWYgKFdJLkRPTURlYnVnZ2VyTWFu
YWdlci5zdXBwb3J0c0V2ZW50QnJlYWtwb2ludHMoKSB8fCBXSS5ET01EZWJ1Z2dlck1hbmFnZXIu
c3VwcG9ydHNFdmVudExpc3RlbmVyQnJlYWtwb2ludHMoKSkgeworICAgICAgICAgICAgZnVuY3Rp
b24gYWRkVG9nZ2xlRm9yU3BlY2lhbEV2ZW50QnJlYWtwb2ludChicmVha3BvaW50LCBsYWJlbCwg
Y2hlY2tlZCkgeworICAgICAgICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZENoZWNrYm94SXRl
bShsYWJlbCwgKCkgPT4geworICAgICAgICAgICAgICAgICAgICBpZiAoY2hlY2tlZCkKKyAgICAg
ICAgICAgICAgICAgICAgICAgIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5yZW1vdmVFdmVudEJyZWFr
cG9pbnQoYnJlYWtwb2ludCk7CisgICAgICAgICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAg
ICAgICAgICAgICAgICAgYnJlYWtwb2ludC5kaXNhYmxlZCA9IGZhbHNlOworICAgICAgICAgICAg
ICAgICAgICAgICAgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFkZEV2ZW50QnJlYWtwb2ludChicmVh
a3BvaW50KTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0sIGNoZWNr
ZWQpOworICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRTZXBh
cmF0b3IoKTsKIAorICAgICAgICAgICAgYWRkVG9nZ2xlRm9yU3BlY2lhbEV2ZW50QnJlYWtwb2lu
dChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsQW5pbWF0aW9uRnJhbWVzQnJlYWtwb2ludCwgV0ku
VUlTdHJpbmcoIkFsbCBBbmltYXRpb24gRnJhbWVzIiksIFdJLnNldHRpbmdzLnNob3dBbGxBbmlt
YXRpb25GcmFtZXNCcmVha3BvaW50LnZhbHVlKTsKKworICAgICAgICAgICAgY29udGV4dE1lbnUu
YXBwZW5kU2VwYXJhdG9yKCk7CisKKyAgICAgICAgICAgIGFkZFRvZ2dsZUZvclNwZWNpYWxFdmVu
dEJyZWFrcG9pbnQoV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbFRpbWVvdXRzQnJlYWtwb2ludCwg
V0kuVUlTdHJpbmcoIkFsbCBUaW1lb3V0cyIpLCBXSS5zZXR0aW5ncy5zaG93QWxsVGltZW91dHNC
cmVha3BvaW50LnZhbHVlKTsKKyAgICAgICAgICAgIGFkZFRvZ2dsZUZvclNwZWNpYWxFdmVudEJy
ZWFrcG9pbnQoV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEludGVydmFsc0JyZWFrcG9pbnQsIFdJ
LlVJU3RyaW5nKCJBbGwgSW50ZXJ2YWxzIiksIFdJLnNldHRpbmdzLnNob3dBbGxJbnRlcnZhbHNC
cmVha3BvaW50LnZhbHVlKTsKKworICAgICAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kU2VwYXJh
dG9yKCk7CisKKyAgICAgICAgICAgIGlmIChXSS5ET01EZWJ1Z2dlck1hbmFnZXIuc3VwcG9ydHNB
bGxMaXN0ZW5lcnNCcmVha3BvaW50KCkpCisgICAgICAgICAgICAgICAgYWRkVG9nZ2xlRm9yU3Bl
Y2lhbEV2ZW50QnJlYWtwb2ludChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsTGlzdGVuZXJzQnJl
YWtwb2ludCwgV0kuVUlTdHJpbmcoIkFsbCBFdmVudHMiKSwgV0kuc2V0dGluZ3Muc2hvd0FsbExp
c3RlbmVyc0JyZWFrcG9pbnQudmFsdWUpOworCiAgICAgICAgICAgICBjb250ZXh0TWVudS5hcHBl
bmRJdGVtKFdJLlVJU3RyaW5nKCJFdmVudCBCcmVha3BvaW50XHUyMDI2IiksICgpID0+IHsKICAg
ICAgICAgICAgICAgICBsZXQgcG9wb3ZlciA9IG5ldyBXSS5FdmVudEJyZWFrcG9pbnRQb3BvdmVy
KHRoaXMpOwogICAgICAgICAgICAgICAgIHBvcG92ZXIuc2hvdyh0aGlzLl9jcmVhdGVCcmVha3Bv
aW50QnV0dG9uLmVsZW1lbnQsIFtXSS5SZWN0RWRnZS5NQVhfWSwgV0kuUmVjdEVkZ2UuTUlOX1ks
IFdJLlJlY3RFZGdlLk1BWF9YXSk7CiAgICAgICAgICAgICB9KTsKIAogICAgICAgICAgICAgY29u
dGV4dE1lbnUuYXBwZW5kU2VwYXJhdG9yKCk7CisgICAgICAgIH0KIAorICAgICAgICBpZiAoV0ku
RE9NRGVidWdnZXJNYW5hZ2VyLnN1cHBvcnRzVVJMQnJlYWtwb2ludHMoKSB8fCBXSS5ET01EZWJ1
Z2dlck1hbmFnZXIuc3VwcG9ydHNYSFJCcmVha3BvaW50cygpKSB7CiAgICAgICAgICAgICBsZXQg
YWxsUmVxdWVzdHNCcmVha3BvaW50U2hvd24gPSBXSS5zZXR0aW5ncy5zaG93QWxsUmVxdWVzdHNC
cmVha3BvaW50LnZhbHVlOwotCiAgICAgICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRDaGVja2Jv
eEl0ZW0oV0kucmVwZWF0ZWRVSVN0cmluZy5hbGxSZXF1ZXN0cygpLCAoKSA9PiB7CiAgICAgICAg
ICAgICAgICAgaWYgKGFsbFJlcXVlc3RzQnJlYWtwb2ludFNob3duKQogICAgICAgICAgICAgICAg
ICAgICBXSS5kb21EZWJ1Z2dlck1hbmFnZXIucmVtb3ZlVVJMQnJlYWtwb2ludChXSS5kb21EZWJ1
Z2dlck1hbmFnZXIuYWxsUmVxdWVzdHNCcmVha3BvaW50KTsKQEAgLTE1MTcsNCArMTYzNiw4IEBA
IFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsLlBhdXNlZEJyZWFrcG9pbnRJY29uU3R5bGVDbGFzc05h
bWUgPSAiYnJlYWtwb2ludC1wYXVzZWQtCiBXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxlY3Rl
ZEFsbEV4Y2VwdGlvbnNDb29raWVLZXkgPSAiZGVidWdnZXItc2lkZWJhci1wYW5lbC1hbGwtZXhj
ZXB0aW9ucy1icmVha3BvaW50IjsKIFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsLlNlbGVjdGVkVW5j
YXVnaHRFeGNlcHRpb25zQ29va2llS2V5ID0gImRlYnVnZ2VyLXNpZGViYXItcGFuZWwtdW5jYXVn
aHQtZXhjZXB0aW9ucy1icmVha3BvaW50IjsKIFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsLlNlbGVj
dGVkQXNzZXJ0aW9uRmFpbHVyZXNDb29raWVLZXkgPSAiZGVidWdnZXItc2lkZWJhci1wYW5lbC1h
c3NlcnRpb24tZmFpbHVyZXMtYnJlYWtwb2ludCI7CitXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbC5T
ZWxlY3RlZEFsbEFuaW1hdGlvbkZyYW1lc0JyZWFrcG9pbnQgPSAiZGVidWdnZXItc2lkZWJhci1w
YW5lbC1hbGwtYW5pbWF0aW9uLWZyYW1lcy1icmVha3BvaW50IjsKK1dJLkRlYnVnZ2VyU2lkZWJh
clBhbmVsLlNlbGVjdGVkQWxsSW50ZXJ2YWxzQnJlYWtwb2ludCA9ICJkZWJ1Z2dlci1zaWRlYmFy
LXBhbmVsLWFsbC1pbnRlcnZhbHMtYnJlYWtwb2ludCI7CitXSS5EZWJ1Z2dlclNpZGViYXJQYW5l
bC5TZWxlY3RlZEFsbExpc3RlbmVyc0JyZWFrcG9pbnQgPSAiZGVidWdnZXItc2lkZWJhci1wYW5l
bC1hbGwtbGlzdGVuZXJzLWJyZWFrcG9pbnQiOworV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwuU2Vs
ZWN0ZWRBbGxUaW1lb3V0c0JyZWFrcG9pbnQgPSAiZGVidWdnZXItc2lkZWJhci1wYW5lbC1hbGwt
dGltZW91dHMtYnJlYWtwb2ludCI7CiBXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxlY3RlZEFs
bFJlcXVlc3RzQ29va2llS2V5ID0gImRlYnVnZ2VyLXNpZGViYXItcGFuZWwtYWxsLXJlcXVlc3Rz
LWJyZWFrcG9pbnQiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvRXZlbnRCcmVha3BvaW50UG9wb3Zlci5jc3MgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9FdmVudEJyZWFrcG9pbnRQb3BvdmVyLmNzcwppbmRl
eCBhNWJjMDM3NjdhOTMzZjUxYzE4M2FhMDc2MzU0MWYyNWZlMDNlZWE4Li5jN2ZiMjE1MjA5OTVj
OGE0ZTUwN2FiM2I0OTNmZjE3NGQyZTcxZjNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9FdmVudEJyZWFrcG9pbnRQb3BvdmVyLmNzcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9FdmVudEJyZWFrcG9p
bnRQb3BvdmVyLmNzcwpAQCAtMjgsMTYgKzI4LDEyIEBACiAgICAgcGFkZGluZzogNXB4OwogfQog
Ci0ucG9wb3ZlciAuZXZlbnQtYnJlYWtwb2ludC1jb250ZW50ID4gLmV2ZW50LXR5cGUgewotICAg
IGRpc3BsYXk6IGZsZXg7CisucG9wb3ZlciAuZXZlbnQtYnJlYWtwb2ludC1jb250ZW50ID4gaW5w
dXQgewogICAgIG1hcmdpbi10b3A6IDRweDsKLX0KLQotLnBvcG92ZXIgLmV2ZW50LWJyZWFrcG9p
bnQtY29udGVudCA+IC5ldmVudC10eXBlID4gaW5wdXQgewogICAgIGZvbnQtZmFtaWx5OiBNZW5s
bywgbW9ub3NwYWNlOwogICAgIHRleHQtYWxpZ246IGxlZnQ7CiB9CiAKLS5wb3BvdmVyIC5ldmVu
dC1icmVha3BvaW50LWNvbnRlbnQgPiAuZXZlbnQtdHlwZSA+IGlucHV0OjpwbGFjZWhvbGRlciB7
CisucG9wb3ZlciAuZXZlbnQtYnJlYWtwb2ludC1jb250ZW50ID4gaW5wdXQ6OnBsYWNlaG9sZGVy
IHsKICAgICBmb250LWZhbWlseTogc3lzdGVtLXVpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRXZlbnRCcmVha3BvaW50UG9wb3Zlci5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50QnJlYWtw
b2ludFBvcG92ZXIuanMKaW5kZXggZThiODY2NTYwYTM5Yzg0ZGYyOWQxZWEwYTYzNzUyNDQxN2Rj
NDlkMy4uODMyMmYyYmQ1NGMyMTA4OGQ4YzFlNDA1ZDY2ODFjYTExYzFjYmJmMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRXZlbnRCcmVha3Bv
aW50UG9wb3Zlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9FdmVudEJyZWFrcG9pbnRQb3BvdmVyLmpzCkBAIC01NiwzMiArNTYsNyBAQCBXSS5FdmVu
dEJyZWFrcG9pbnRQb3BvdmVyID0gY2xhc3MgRXZlbnRCcmVha3BvaW50UG9wb3ZlciBleHRlbmRz
IFdJLlBvcG92ZXIKICAgICAgICAgbGFiZWwuY2xhc3NMaXN0LmFkZCgibGFiZWwiKTsKICAgICAg
ICAgbGFiZWwudGV4dENvbnRlbnQgPSBXSS5VSVN0cmluZygiQnJlYWsgb24gZXZlbnRzIHdpdGgg
bmFtZToiKTsKIAotICAgICAgICBsZXQgdHlwZUNvbnRhaW5lciA9IGNvbnRlbnRFbGVtZW50LmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTsKLSAgICAgICAgdHlwZUNv
bnRhaW5lci5jbGFzc0xpc3QuYWRkKCJldmVudC10eXBlIik7Ci0KLSAgICAgICAgdGhpcy5fdHlw
ZVNlbGVjdEVsZW1lbnQgPSB0eXBlQ29udGFpbmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInNlbGVjdCIpKTsKLSAgICAgICAgdGhpcy5fdHlwZVNlbGVjdEVsZW1lbnQuYWRk
RXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwgdGhpcy5faGFuZGxlVHlwZVNlbGVjdENoYW5nZS5iaW5k
KHRoaXMpKTsKLSAgICAgICAgdGhpcy5fdHlwZVNlbGVjdEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5l
cigia2V5ZG93biIsIChldmVudCkgPT4gewotICAgICAgICAgICAgaWYgKGlzRW50ZXJLZXkoZXZl
bnQpKQotICAgICAgICAgICAgICAgIHRoaXMuZGlzbWlzcygpOwotICAgICAgICB9KTsKLQotICAg
ICAgICBsZXQgY3JlYXRlT3B0aW9uID0gKHRleHQsIHZhbHVlKSA9PiB7Ci0gICAgICAgICAgICBs
ZXQgb3B0aW9uRWxlbWVudCA9IHRoaXMuX3R5cGVTZWxlY3RFbGVtZW50LmFwcGVuZENoaWxkKGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpKTsKLSAgICAgICAgICAgIG9wdGlvbkVsZW1l
bnQudmFsdWUgPSB2YWx1ZTsKLSAgICAgICAgICAgIG9wdGlvbkVsZW1lbnQudGV4dENvbnRlbnQg
PSB0ZXh0OwotICAgICAgICB9OwotCi0gICAgICAgIGNyZWF0ZU9wdGlvbihXSS5VSVN0cmluZygi
RE9NIEV2ZW50IiksIFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkxpc3RlbmVyKTsKLQotICAgICAg
ICBpZiAoV0kuRE9NRGVidWdnZXJNYW5hZ2VyLnN1cHBvcnRzRXZlbnRCcmVha3BvaW50cygpKSB7
Ci0gICAgICAgICAgICBjcmVhdGVPcHRpb24oV0kudW5sb2NhbGl6ZWRTdHJpbmcoInJlcXVlc3RB
bmltYXRpb25GcmFtZSIpLCAicmVxdWVzdEFuaW1hdGlvbkZyYW1lIik7Ci0gICAgICAgICAgICBj
cmVhdGVPcHRpb24oV0kudW5sb2NhbGl6ZWRTdHJpbmcoInNldFRpbWVvdXQiKSwgInNldFRpbWVv
dXQiKTsKLSAgICAgICAgICAgIGNyZWF0ZU9wdGlvbihXSS51bmxvY2FsaXplZFN0cmluZygic2V0
SW50ZXJ2YWwiKSwgInNldEludGVydmFsIik7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAg
dGhpcy5fdHlwZVNlbGVjdEVsZW1lbnQuaGlkZGVuID0gdHJ1ZTsKLQotICAgICAgICB0aGlzLl9k
b21FdmVudE5hbWVJbnB1dEVsZW1lbnQgPSB0eXBlQ29udGFpbmVyLmFwcGVuZENoaWxkKGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0IikpOworICAgICAgICB0aGlzLl9kb21FdmVudE5hbWVJ
bnB1dEVsZW1lbnQgPSBjb250ZW50RWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJpbnB1dCIpKTsKICAgICAgICAgdGhpcy5fZG9tRXZlbnROYW1lSW5wdXRFbGVtZW50
LnNldEF0dHJpYnV0ZSgiZGlyIiwgImx0ciIpOwogICAgICAgICB0aGlzLl9kb21FdmVudE5hbWVJ
bnB1dEVsZW1lbnQucGxhY2Vob2xkZXIgPSBXSS5VSVN0cmluZygiRXhhbXBsZTogXHUyMDFDJXNc
dTIwMUQiKS5mb3JtYXQoImNsaWNrIik7CiAgICAgICAgIHRoaXMuX2RvbUV2ZW50TmFtZUlucHV0
RWxlbWVudC5zcGVsbGNoZWNrID0gZmFsc2U7CkBAIC0xMjUsMjggKzEwMCwxMiBAQCBXSS5FdmVu
dEJyZWFrcG9pbnRQb3BvdmVyID0gY2xhc3MgRXZlbnRCcmVha3BvaW50UG9wb3ZlciBleHRlbmRz
IFdJLlBvcG92ZXIKIAogICAgICAgICB0aGlzLl9wcmVzZW50T3ZlclRhcmdldEVsZW1lbnQoKTsK
IAotICAgICAgICB0aGlzLl90eXBlU2VsZWN0RWxlbWVudC52YWx1ZSA9IFdJLkV2ZW50QnJlYWtw
b2ludC5UeXBlLkxpc3RlbmVyOwogICAgICAgICB0aGlzLl9kb21FdmVudE5hbWVJbnB1dEVsZW1l
bnQuc2VsZWN0KCk7CiAgICAgfQogCiAgICAgZGlzbWlzcygpCiAgICAgewotICAgICAgICBsZXQg
dHlwZSA9IHRoaXMuX3R5cGVTZWxlY3RFbGVtZW50LnZhbHVlOwotICAgICAgICBsZXQgdmFsdWUg
PSBudWxsOwotCi0gICAgICAgIGlmICh0eXBlID09PSBXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5M
aXN0ZW5lcikKLSAgICAgICAgICAgIHZhbHVlID0gdGhpcy5fZG9tRXZlbnROYW1lSW5wdXRFbGVt
ZW50LnZhbHVlOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIHZhbHVlID0gdHlwZTsKLQot
ICAgICAgICAgICAgaWYgKHZhbHVlID09PSAicmVxdWVzdEFuaW1hdGlvbkZyYW1lIikKLSAgICAg
ICAgICAgICAgICB0eXBlID0gV0kuRXZlbnRCcmVha3BvaW50LlR5cGUuQW5pbWF0aW9uRnJhbWU7
Ci0gICAgICAgICAgICBlbHNlIGlmICh2YWx1ZSA9PT0gInNldFRpbWVvdXQiIHx8IHZhbHVlID09
PSAic2V0SW50ZXJ2YWwiKQotICAgICAgICAgICAgICAgIHR5cGUgPSBXSS5FdmVudEJyZWFrcG9p
bnQuVHlwZS5UaW1lcjsKLSAgICAgICAgfQotCi0gICAgICAgIGlmICh0eXBlICYmIHZhbHVlKQot
ICAgICAgICAgICAgdGhpcy5fYnJlYWtwb2ludCA9IG5ldyBXSS5FdmVudEJyZWFrcG9pbnQodHlw
ZSwgdmFsdWUpOworICAgICAgICB0aGlzLl9icmVha3BvaW50ID0gbmV3IFdJLkV2ZW50QnJlYWtw
b2ludChXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5MaXN0ZW5lciwge2V2ZW50TmFtZTogdGhpcy5f
ZG9tRXZlbnROYW1lSW5wdXRFbGVtZW50LnZhbHVlfSk7CiAKICAgICAgICAgc3VwZXIuZGlzbWlz
cygpOwogCkBAIC0xNzMsMjIgKzEzMiw2IEBAIFdJLkV2ZW50QnJlYWtwb2ludFBvcG92ZXIgPSBj
bGFzcyBFdmVudEJyZWFrcG9pbnRQb3BvdmVyIGV4dGVuZHMgV0kuUG9wb3ZlcgogICAgICAgICB0
aGlzLnByZXNlbnQodGFyZ2V0RnJhbWUsIHRoaXMuX3ByZWZlcnJlZEVkZ2VzKTsKICAgICB9CiAK
LSAgICBfaGFuZGxlVHlwZVNlbGVjdENoYW5nZShldmVudCkKLSAgICB7Ci0gICAgICAgIGxldCBs
aXN0ZW5lclR5cGVTZWxlY3RlZCA9IHRoaXMuX3R5cGVTZWxlY3RFbGVtZW50LnZhbHVlID09PSBX
SS5FdmVudEJyZWFrcG9pbnQuVHlwZS5MaXN0ZW5lcjsKLSAgICAgICAgdGhpcy5fZG9tRXZlbnRO
YW1lSW5wdXRFbGVtZW50LmhpZGRlbiA9ICFsaXN0ZW5lclR5cGVTZWxlY3RlZDsKLQotICAgICAg
ICB0aGlzLnVwZGF0ZSgpOwotCi0gICAgICAgIGlmIChsaXN0ZW5lclR5cGVTZWxlY3RlZCkgewot
ICAgICAgICAgICAgdGhpcy5fZG9tRXZlbnROYW1lSW5wdXRFbGVtZW50LmZvY3VzKCk7Ci0KLSAg
ICAgICAgICAgIGlmICh0aGlzLl9kb21FdmVudE5hbWVJbnB1dEVsZW1lbnQudmFsdWUpCi0gICAg
ICAgICAgICAgICAgdGhpcy5fc2hvd1N1Z2dlc3Rpb25zVmlldygpOwotICAgICAgICB9IGVsc2UK
LSAgICAgICAgICAgIHRoaXMuX3N1Z2dlc3Rpb25zVmlldy5oaWRlKCk7Ci0gICAgfQotCiAgICAg
IF9zaG93U3VnZ2VzdGlvbnNWaWV3KCkKICAgICAgewogICAgICAgICBsZXQgY29tcHV0ZWRTdHls
ZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMuX2RvbUV2ZW50TmFtZUlucHV0RWxlbWVu
dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9FdmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudC5jc3MgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9FdmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudC5jc3MKaW5kZXgg
OGI1YTFjMmUzM2JjZjliNTI3Yzc0OWZmYmZhNGRhZTZhYmNiNGM0Ni4uYTlhNWFkYjg1ZmFiYTk4
NTA1YzgyYjk4ZDA5YzFmMDljYzJmZDBlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQuY3NzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50QnJlYWtw
b2ludFRyZWVFbGVtZW50LmNzcwpAQCAtMjcsMTAgKzI3LDE0IEBACiAgICAgY29udGVudDogdXJs
KC4uL0ltYWdlcy9FdmVudEJyZWFrcG9pbnRBbmltYXRpb25GcmFtZS5zdmcpOwogfQogCisuYnJl
YWtwb2ludC5ldmVudC5icmVha3BvaW50LWZvci1pbnRlcnZhbDpub3QoLmJyZWFrcG9pbnQtcGF1
c2VkLWljb24pIC5pY29uIHsKKyAgICBjb250ZW50OiB1cmwoLi4vSW1hZ2VzL0V2ZW50QnJlYWtw
b2ludEludGVydmFsLnN2Zyk7Cit9CisKIC5icmVha3BvaW50LmV2ZW50LmJyZWFrcG9pbnQtZm9y
LWxpc3RlbmVyOm5vdCguYnJlYWtwb2ludC1wYXVzZWQtaWNvbikgLmljb24gewogICAgIGNvbnRl
bnQ6IHVybCguLi9JbWFnZXMvRXZlbnRCcmVha3BvaW50TGlzdGVuZXIuc3ZnKTsKIH0KIAotLmJy
ZWFrcG9pbnQuZXZlbnQuYnJlYWtwb2ludC1mb3ItdGltZXI6bm90KC5icmVha3BvaW50LXBhdXNl
ZC1pY29uKSAuaWNvbiB7Ci0gICAgY29udGVudDogdXJsKC4uL0ltYWdlcy9FdmVudEJyZWFrcG9p
bnRUaW1lci5zdmcpOworLmJyZWFrcG9pbnQuZXZlbnQuYnJlYWtwb2ludC1mb3ItdGltZW91dDpu
b3QoLmJyZWFrcG9pbnQtcGF1c2VkLWljb24pIC5pY29uIHsKKyAgICBjb250ZW50OiB1cmwoLi4v
SW1hZ2VzL0V2ZW50QnJlYWtwb2ludFRpbWVvdXQuc3ZnKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZXNOYXZpZ2F0aW9uU2lk
ZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
U291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanMKaW5kZXggZTk1MGIzZjA1MTU0ZjExNzdk
NzIxZjZhNWM4MDViYjA2ZGU5OWFhOS4uNzJiMzZmYTVhZWRhN2RiMjQ1YzBjMTJlOWE5OTRlZjNj
NDQ5NTViZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFu
ZWwuanMKQEAgLTMxNiwxNyArMzE2LDI5IEBAIFdJLlNvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBh
bmVsID0gY2xhc3MgU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgZXh0ZW5kcyBXCiAgICAg
ICAgIHRoaXMuX2hhbmRsZVJlc291cmNlR3JvdXBpbmdNb2RlQ2hhbmdlZCgpOwogCiAgICAgICAg
IGlmIChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuc3VwcG9ydGVkKSB7Ci0gICAgICAgICAgICBpZiAo
V0kuc2V0dGluZ3Muc2hvd0FsbFJlcXVlc3RzQnJlYWtwb2ludC52YWx1ZSkKLSAgICAgICAgICAg
ICAgICBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWRkVVJMQnJlYWtwb2ludChXSS5kb21EZWJ1Z2dl
ck1hbmFnZXIuYWxsUmVxdWVzdHNCcmVha3BvaW50KTsKKyAgICAgICAgICAgIGlmIChXSS5zZXR0
aW5ncy5zaG93QWxsQW5pbWF0aW9uRnJhbWVzQnJlYWtwb2ludC52YWx1ZSkKKyAgICAgICAgICAg
ICAgICBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRCcmVha3BvaW50KFdJLmRvbURlYnVn
Z2VyTWFuYWdlci5hbGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50KTsKIAotICAgICAgICAgICAg
Zm9yIChsZXQgZXZlbnRCcmVha3BvaW50IG9mIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5ldmVudEJy
ZWFrcG9pbnRzKQorICAgICAgICAgICAgaWYgKFdJLnNldHRpbmdzLnNob3dBbGxUaW1lb3V0c0Jy
ZWFrcG9pbnQudmFsdWUpCisgICAgICAgICAgICAgICAgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFk
ZEV2ZW50QnJlYWtwb2ludChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsVGltZW91dHNCcmVha3Bv
aW50KTsKKworICAgICAgICAgICAgaWYgKFdJLnNldHRpbmdzLnNob3dBbGxJbnRlcnZhbHNCcmVh
a3BvaW50LnZhbHVlKQorICAgICAgICAgICAgICAgIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hZGRF
dmVudEJyZWFrcG9pbnQoV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEludGVydmFsc0JyZWFrcG9p
bnQpOworCisgICAgICAgICAgICBpZiAoV0kuc2V0dGluZ3Muc2hvd0FsbExpc3RlbmVyc0JyZWFr
cG9pbnQudmFsdWUpCisgICAgICAgICAgICAgICAgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFkZEV2
ZW50QnJlYWtwb2ludChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsTGlzdGVuZXJzQnJlYWtwb2lu
dCk7CisKKyAgICAgICAgICAgIGZvciAobGV0IGV2ZW50QnJlYWtwb2ludCBvZiBXSS5kb21EZWJ1
Z2dlck1hbmFnZXIubGlzdGVuZXJCcmVha3BvaW50cykKICAgICAgICAgICAgICAgICB0aGlzLl9h
ZGRCcmVha3BvaW50KGV2ZW50QnJlYWtwb2ludCk7CiAKKyAgICAgICAgICAgIGZvciAobGV0IGV2
ZW50TGlzdGVuZXJCcmVha3BvaW50IG9mIFdJLmRvbU1hbmFnZXIuZXZlbnRMaXN0ZW5lckJyZWFr
cG9pbnRzKQorICAgICAgICAgICAgICAgIHRoaXMuX2FkZEJyZWFrcG9pbnQoZXZlbnRMaXN0ZW5l
ckJyZWFrcG9pbnQpOworCiAgICAgICAgICAgICBmb3IgKGxldCBkb21CcmVha3BvaW50IG9mIFdJ
LmRvbURlYnVnZ2VyTWFuYWdlci5kb21CcmVha3BvaW50cykKICAgICAgICAgICAgICAgICB0aGlz
Ll9hZGRCcmVha3BvaW50KGRvbUJyZWFrcG9pbnQpOwogCi0gICAgICAgICAgICBmb3IgKGxldCBl
dmVudExpc3RlbmVyQnJlYWtwb2ludCBvZiBXSS5kb21NYW5hZ2VyLmV2ZW50TGlzdGVuZXJCcmVh
a3BvaW50cykKLSAgICAgICAgICAgICAgICB0aGlzLl9hZGRCcmVha3BvaW50KGV2ZW50TGlzdGVu
ZXJCcmVha3BvaW50KTsKKyAgICAgICAgICAgIGlmIChXSS5zZXR0aW5ncy5zaG93QWxsUmVxdWVz
dHNCcmVha3BvaW50LnZhbHVlKQorICAgICAgICAgICAgICAgIFdJLmRvbURlYnVnZ2VyTWFuYWdl
ci5hZGRVUkxCcmVha3BvaW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxSZXF1ZXN0c0JyZWFr
cG9pbnQpOwogCiAgICAgICAgICAgICBmb3IgKGxldCB1cmxCcmVha3BvaW50cyBvZiBXSS5kb21E
ZWJ1Z2dlck1hbmFnZXIudXJsQnJlYWtwb2ludHMpCiAgICAgICAgICAgICAgICAgdGhpcy5fYWRk
QnJlYWtwb2ludCh1cmxCcmVha3BvaW50cyk7CkBAIC04NTQsNiArODY2LDEwIEBAIFdJLlNvdXJj
ZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsID0gY2xhc3MgU291cmNlc05hdmlnYXRpb25TaWRlYmFy
UGFuZWwgZXh0ZW5kcyBXCiAgICAgICAgICAgICAgICAgKHRyZWVFbGVtZW50KSA9PiB0cmVlRWxl
bWVudC5yZXByZXNlbnRlZE9iamVjdCA9PT0gV0kuZGVidWdnZXJNYW5hZ2VyLnVuY2F1Z2h0RXhj
ZXB0aW9uc0JyZWFrcG9pbnQsCiAgICAgICAgICAgICAgICAgKHRyZWVFbGVtZW50KSA9PiB0cmVl
RWxlbWVudC5yZXByZXNlbnRlZE9iamVjdCA9PT0gV0kuZGVidWdnZXJNYW5hZ2VyLmFzc2VydGlv
bkZhaWx1cmVzQnJlYWtwb2ludCwKICAgICAgICAgICAgICAgICAodHJlZUVsZW1lbnQpID0+IHRy
ZWVFbGVtZW50IGluc3RhbmNlb2YgV0kuQnJlYWtwb2ludFRyZWVFbGVtZW50IHx8IHRyZWVFbGVt
ZW50IGluc3RhbmNlb2YgV0kuUmVzb3VyY2VUcmVlRWxlbWVudCB8fCB0cmVlRWxlbWVudCBpbnN0
YW5jZW9mIFdJLlNjcmlwdFRyZWVFbGVtZW50LAorICAgICAgICAgICAgICAgICh0cmVlRWxlbWVu
dCkgPT4gdHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QgPT09IFdJLmRvbURlYnVnZ2VyTWFu
YWdlci5hbGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50LAorICAgICAgICAgICAgICAgICh0cmVl
RWxlbWVudCkgPT4gdHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QgPT09IFdJLmRvbURlYnVn
Z2VyTWFuYWdlci5hbGxUaW1lb3V0c0JyZWFrcG9pbnQsCisgICAgICAgICAgICAgICAgKHRyZWVF
bGVtZW50KSA9PiB0cmVlRWxlbWVudC5yZXByZXNlbnRlZE9iamVjdCA9PT0gV0kuZG9tRGVidWdn
ZXJNYW5hZ2VyLmFsbEludGVydmFsc0JyZWFrcG9pbnQsCisgICAgICAgICAgICAgICAgKHRyZWVF
bGVtZW50KSA9PiB0cmVlRWxlbWVudC5yZXByZXNlbnRlZE9iamVjdCA9PT0gV0kuZG9tRGVidWdn
ZXJNYW5hZ2VyLmFsbExpc3RlbmVyc0JyZWFrcG9pbnQsCiAgICAgICAgICAgICAgICAgKHRyZWVF
bGVtZW50KSA9PiB0cmVlRWxlbWVudCBpbnN0YW5jZW9mIFdJLkV2ZW50QnJlYWtwb2ludFRyZWVF
bGVtZW50LAogICAgICAgICAgICAgICAgICh0cmVlRWxlbWVudCkgPT4gdHJlZUVsZW1lbnQgaW5z
dGFuY2VvZiBXSS5ET01Ob2RlVHJlZUVsZW1lbnQsCiAgICAgICAgICAgICAgICAgKHRyZWVFbGVt
ZW50KSA9PiB0cmVlRWxlbWVudC5yZXByZXNlbnRlZE9iamVjdCA9PT0gU291cmNlc05hdmlnYXRp
b25TaWRlYmFyUGFuZWwuX193aW5kb3dFdmVudFRhcmdldFJlcHJlc2VudGVkT2JqZWN0LApAQCAt
OTM1LDcgKzk1MSwxNSBAQCBXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbCA9IGNsYXNz
IFNvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsIGV4dGVuZHMgVwogICAgICAgICB9IGVsc2Ug
aWYgKGJyZWFrcG9pbnQgaW5zdGFuY2VvZiBXSS5FdmVudEJyZWFrcG9pbnQpIHsKICAgICAgICAg
ICAgIGNvbnN0cnVjdG9yID0gV0kuRXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQ7CiAKLSAgICAg
ICAgICAgIGlmIChicmVha3BvaW50LmV2ZW50TGlzdGVuZXIpIHsKKyAgICAgICAgICAgIGlmIChi
cmVha3BvaW50ID09PSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsQW5pbWF0aW9uRnJhbWVzQnJl
YWtwb2ludCkKKyAgICAgICAgICAgICAgICBvcHRpb25zLnRpdGxlID0gV0kuVUlTdHJpbmcoIkFs
bCBBbmltYXRpb24gRnJhbWVzIik7CisgICAgICAgICAgICBlbHNlIGlmIChicmVha3BvaW50ID09
PSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsSW50ZXJ2YWxzQnJlYWtwb2ludCkKKyAgICAgICAg
ICAgICAgICBvcHRpb25zLnRpdGxlID0gV0kuVUlTdHJpbmcoIkFsbCBJbnRlcnZhbHMiKTsKKyAg
ICAgICAgICAgIGVsc2UgaWYgKGJyZWFrcG9pbnQgPT09IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5h
bGxMaXN0ZW5lcnNCcmVha3BvaW50KQorICAgICAgICAgICAgICAgIG9wdGlvbnMudGl0bGUgPSBX
SS5VSVN0cmluZygiQWxsIEV2ZW50cyIpOworICAgICAgICAgICAgZWxzZSBpZiAoYnJlYWtwb2lu
dCA9PT0gV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbFRpbWVvdXRzQnJlYWtwb2ludCkKKyAgICAg
ICAgICAgICAgICBvcHRpb25zLnRpdGxlID0gV0kuVUlTdHJpbmcoIkFsbCBUaW1lb3V0cyIpOwor
ICAgICAgICAgICAgZWxzZSBpZiAoYnJlYWtwb2ludC5ldmVudExpc3RlbmVyKSB7CiAgICAgICAg
ICAgICAgICAgbGV0IGV2ZW50VGFyZ2V0VHJlZUVsZW1lbnQgPSBudWxsOwogICAgICAgICAgICAg
ICAgIGlmIChicmVha3BvaW50LmV2ZW50TGlzdGVuZXIub25XaW5kb3cpIHsKICAgICAgICAgICAg
ICAgICAgICAgaWYgKCFTb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbC5fX3dpbmRvd0V2ZW50
VGFyZ2V0UmVwcmVzZW50ZWRPYmplY3QpCkBAIC0xMTM1LDIwICsxMTU5LDExIEBAIFdJLlNvdXJj
ZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsID0gY2xhc3MgU291cmNlc05hdmlnYXRpb25TaWRlYmFy
UGFuZWwgZXh0ZW5kcyBXCiAKICAgICAgICAgc3dpdGNoIChwYXVzZVJlYXNvbikgewogICAgICAg
ICBjYXNlIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5BbmltYXRpb25GcmFtZTogewot
ICAgICAgICAgICAgY29uc29sZS5hc3NlcnQocGF1c2VEYXRhLCAiRXhwZWN0ZWQgZGF0YSB3aXRo
IGFuIGFuaW1hdGlvbiBmcmFtZSwgYnV0IGZvdW5kIG5vbmUuIik7Ci0gICAgICAgICAgICBpZiAo
IXBhdXNlRGF0YSkKLSAgICAgICAgICAgICAgICBicmVhazsKLQotICAgICAgICAgICAgbGV0IGV2
ZW50QnJlYWtwb2ludCA9IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5ldmVudEJyZWFrcG9pbnRGb3JU
eXBlQW5kRXZlbnROYW1lKFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkFuaW1hdGlvbkZyYW1lLCBw
YXVzZURhdGEuZXZlbnROYW1lKTsKLSAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGV2ZW50QnJl
YWtwb2ludCwgIkV4cGVjdGVkIEFuaW1hdGlvbkZyYW1lIGJyZWFrcG9pbnQgZm9yIGV2ZW50IG5h
bWUuIiwgcGF1c2VEYXRhLmV2ZW50TmFtZSk7Ci0gICAgICAgICAgICBpZiAoIWV2ZW50QnJlYWtw
b2ludCkKLSAgICAgICAgICAgICAgICBicmVhazsKLQogICAgICAgICAgICAgdGhpcy5fcGF1c2VS
ZWFzb25UcmVlT3V0bGluZSA9IHRoaXMuY3JlYXRlQ29udGVudFRyZWVPdXRsaW5lKHtzdXBwcmVz
c0ZpbHRlcmluZzogdHJ1ZX0pOwogCi0gICAgICAgICAgICBsZXQgZXZlbnRCcmVha3BvaW50VHJl
ZUVsZW1lbnQgPSBuZXcgV0kuRXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQoZXZlbnRCcmVha3Bv
aW50LCB7CisgICAgICAgICAgICBsZXQgZXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQgPSBuZXcg
V0kuRXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQoV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEFu
aW1hdGlvbkZyYW1lc0JyZWFrcG9pbnQsIHsKICAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICJi
cmVha3BvaW50LXBhdXNlZC1pY29uIiwKLSAgICAgICAgICAgICAgICB0aXRsZTogV0kuVUlTdHJp
bmcoIiVzIEZpcmVkIikuZm9ybWF0KHBhdXNlRGF0YS5ldmVudE5hbWUpLAorICAgICAgICAgICAg
ICAgIHRpdGxlOiBXSS5VSVN0cmluZygicmVxdWVzdEFuaW1hdGlvbkZyYW1lIEZpcmVkIiksCiAg
ICAgICAgICAgICB9KTsKICAgICAgICAgICAgIHRoaXMuX3BhdXNlUmVhc29uVHJlZU91dGxpbmUu
YXBwZW5kQ2hpbGQoZXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQpOwogCkBAIC0xMjY3LDYgKzEy
ODIsNyBAQCBXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbCA9IGNsYXNzIFNvdXJjZXNO
YXZpZ2F0aW9uU2lkZWJhclBhbmVsIGV4dGVuZHMgVwogICAgICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgICAgIH0KIAorICAgICAgICBjYXNlIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNv
bi5MaXN0ZW5lcjoKICAgICAgICAgY2FzZSBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24u
RXZlbnRMaXN0ZW5lcjogewogICAgICAgICAgICAgY29uc29sZS5hc3NlcnQocGF1c2VEYXRhLCAi
RXhwZWN0ZWQgZGF0YSB3aXRoIGFuIGV2ZW50IGxpc3RlbmVyLCBidXQgZm91bmQgbm9uZS4iKTsK
ICAgICAgICAgICAgIGlmICghcGF1c2VEYXRhKQpAQCAtMTI3Niw3ICsxMjkyLDcgQEAgV0kuU291
cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBjbGFzcyBTb3VyY2VzTmF2aWdhdGlvblNpZGVi
YXJQYW5lbCBleHRlbmRzIFcKICAgICAgICAgICAgIGlmIChwYXVzZURhdGEuZXZlbnRMaXN0ZW5l
cklkKQogICAgICAgICAgICAgICAgIGV2ZW50QnJlYWtwb2ludCA9IFdJLmRvbU1hbmFnZXIuYnJl
YWtwb2ludEZvckV2ZW50TGlzdGVuZXJJZChwYXVzZURhdGEuZXZlbnRMaXN0ZW5lcklkKTsKICAg
ICAgICAgICAgIGlmICghZXZlbnRCcmVha3BvaW50KQotICAgICAgICAgICAgICAgIGV2ZW50QnJl
YWtwb2ludCA9IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5ldmVudEJyZWFrcG9pbnRGb3JUeXBlQW5k
RXZlbnROYW1lKFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkxpc3RlbmVyLCBwYXVzZURhdGEuZXZl
bnROYW1lKTsKKyAgICAgICAgICAgICAgICBldmVudEJyZWFrcG9pbnQgPSBXSS5kb21EZWJ1Z2dl
ck1hbmFnZXIubGlzdGVuZXJCcmVha3BvaW50Rm9yRXZlbnROYW1lKHBhdXNlRGF0YS5ldmVudE5h
bWUpOwogCiAgICAgICAgICAgICBjb25zb2xlLmFzc2VydChldmVudEJyZWFrcG9pbnQsICJFeHBl
Y3RlZCBFdmVudCBMaXN0ZW5lciBicmVha3BvaW50IGZvciBldmVudCBuYW1lLiIsIHBhdXNlRGF0
YS5ldmVudE5hbWUpOwogICAgICAgICAgICAgaWYgKCFldmVudEJyZWFrcG9pbnQpCkBAIC0xMzI0
LDYgKzEzNDAsMjIgQEAgV0kuU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBjbGFzcyBT
b3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbCBleHRlbmRzIFcKICAgICAgICAgICAgIHJldHVy
biB0cnVlOwogICAgICAgICB9CiAKKyAgICAgICAgY2FzZSBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1
c2VSZWFzb24uSW50ZXJ2YWw6IHsKKyAgICAgICAgICAgIHRoaXMuX3BhdXNlUmVhc29uVHJlZU91
dGxpbmUgPSB0aGlzLmNyZWF0ZUNvbnRlbnRUcmVlT3V0bGluZSh7c3VwcHJlc3NGaWx0ZXJpbmc6
IHRydWV9KTsKKworICAgICAgICAgICAgbGV0IGV2ZW50QnJlYWtwb2ludFRyZWVFbGVtZW50ID0g
bmV3IFdJLkV2ZW50QnJlYWtwb2ludFRyZWVFbGVtZW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5h
bGxJbnRlcnZhbHNCcmVha3BvaW50LCB7CisgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiAiYnJl
YWtwb2ludC1wYXVzZWQtaWNvbiIsCisgICAgICAgICAgICAgICAgdGl0bGU6IFdJLlVJU3RyaW5n
KCJzZXRJbnRlcnZhbCBGaXJlZCIpLAorICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB0aGlz
Ll9wYXVzZVJlYXNvblRyZWVPdXRsaW5lLmFwcGVuZENoaWxkKGV2ZW50QnJlYWtwb2ludFRyZWVF
bGVtZW50KTsKKworICAgICAgICAgICAgbGV0IGV2ZW50QnJlYWtwb2ludFJvdyA9IG5ldyBXSS5E
ZXRhaWxzU2VjdGlvblJvdzsKKyAgICAgICAgICAgIGV2ZW50QnJlYWtwb2ludFJvdy5lbGVtZW50
LmFwcGVuZENoaWxkKHRoaXMuX3BhdXNlUmVhc29uVHJlZU91dGxpbmUuZWxlbWVudCk7CisKKyAg
ICAgICAgICAgIHRoaXMuX3BhdXNlUmVhc29uR3JvdXAucm93cyA9IFtldmVudEJyZWFrcG9pbnRS
b3ddOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKwogICAgICAgICBjYXNl
IFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5QYXVzZU9uTmV4dFN0YXRlbWVudDoKICAg
ICAgICAgICAgIHRoaXMuX3BhdXNlUmVhc29uVGV4dFJvdy50ZXh0ID0gV0kuVUlTdHJpbmcoIklt
bWVkaWF0ZSBQYXVzZSBSZXF1ZXN0ZWQiKTsKICAgICAgICAgICAgIHRoaXMuX3BhdXNlUmVhc29u
R3JvdXAucm93cyA9IFt0aGlzLl9wYXVzZVJlYXNvblRleHRSb3ddOwpAQCAtMTMzNCw3ICsxMzY2
LDE2IEBAIFdJLlNvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsID0gY2xhc3MgU291cmNlc05h
dmlnYXRpb25TaWRlYmFyUGFuZWwgZXh0ZW5kcyBXCiAgICAgICAgICAgICBpZiAoIXBhdXNlRGF0
YSkKICAgICAgICAgICAgICAgICBicmVhazsKIAotICAgICAgICAgICAgbGV0IGV2ZW50QnJlYWtw
b2ludCA9IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5ldmVudEJyZWFrcG9pbnRGb3JUeXBlQW5kRXZl
bnROYW1lKFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLlRpbWVyLCBwYXVzZURhdGEuZXZlbnROYW1l
KTsKKyAgICAgICAgICAgIGxldCBldmVudEJyZWFrcG9pbnQgPSBudWxsOworICAgICAgICAgICAg
c3dpdGNoIChwYXVzZURhdGEuZXZlbnROYW1lKSB7CisgICAgICAgICAgICBjYXNlICJzZXRUaW1l
b3V0IjoKKyAgICAgICAgICAgICAgICBldmVudEJyZWFrcG9pbnQgPSBXSS5kb21EZWJ1Z2dlck1h
bmFnZXIuYWxsVGltZW91dHNCcmVha3BvaW50OworICAgICAgICAgICAgICAgIGJyZWFrOworCisg
ICAgICAgICAgICBjYXNlICJzZXRJbnRlcnZhbCI6CisgICAgICAgICAgICAgICAgZXZlbnRCcmVh
a3BvaW50ID0gV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEludGVydmFsc0JyZWFrcG9pbnQ7Cisg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBjb25zb2xl
LmFzc2VydChldmVudEJyZWFrcG9pbnQsICJFeHBlY3RlZCBUaW1lciBicmVha3BvaW50IGZvciBl
dmVudCBuYW1lLiIsIHBhdXNlRGF0YS5ldmVudE5hbWUpOwogICAgICAgICAgICAgaWYgKCFldmVu
dEJyZWFrcG9pbnQpCiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0xMzU0LDYgKzEzOTUsMjIg
QEAgV0kuU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBjbGFzcyBTb3VyY2VzTmF2aWdh
dGlvblNpZGViYXJQYW5lbCBleHRlbmRzIFcKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAg
ICAgICB9CiAKKyAgICAgICAgY2FzZSBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uVGlt
ZW91dDogeworICAgICAgICAgICAgdGhpcy5fcGF1c2VSZWFzb25UcmVlT3V0bGluZSA9IHRoaXMu
Y3JlYXRlQ29udGVudFRyZWVPdXRsaW5lKHtzdXBwcmVzc0ZpbHRlcmluZzogdHJ1ZX0pOworCisg
ICAgICAgICAgICBsZXQgZXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQgPSBuZXcgV0kuRXZlbnRC
cmVha3BvaW50VHJlZUVsZW1lbnQoV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbFRpbWVvdXRzQnJl
YWtwb2ludCwgeworICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogImJyZWFrcG9pbnQtcGF1c2Vk
LWljb24iLAorICAgICAgICAgICAgICAgIHRpdGxlOiBXSS5VSVN0cmluZygic2V0VGltZW91dCBG
aXJlZCIpLAorICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB0aGlzLl9wYXVzZVJlYXNvblRy
ZWVPdXRsaW5lLmFwcGVuZENoaWxkKGV2ZW50QnJlYWtwb2ludFRyZWVFbGVtZW50KTsKKworICAg
ICAgICAgICAgbGV0IGV2ZW50QnJlYWtwb2ludFJvdyA9IG5ldyBXSS5EZXRhaWxzU2VjdGlvblJv
dzsKKyAgICAgICAgICAgIGV2ZW50QnJlYWtwb2ludFJvdy5lbGVtZW50LmFwcGVuZENoaWxkKHRo
aXMuX3BhdXNlUmVhc29uVHJlZU91dGxpbmUuZWxlbWVudCk7CisKKyAgICAgICAgICAgIHRoaXMu
X3BhdXNlUmVhc29uR3JvdXAucm93cyA9IFtldmVudEJyZWFrcG9pbnRSb3ddOworICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKwogICAgICAgICBjYXNlIFdJLkRlYnVnZ2VyTWFu
YWdlci5QYXVzZVJlYXNvbi5GZXRjaDoKICAgICAgICAgY2FzZSBXSS5EZWJ1Z2dlck1hbmFnZXIu
UGF1c2VSZWFzb24uWEhSOiB7CiAgICAgICAgICAgICBjb25zb2xlLmFzc2VydChXSS5kb21EZWJ1
Z2dlck1hbmFnZXIuc3VwcG9ydGVkKTsKQEAgLTE0OTIsMTAgKzE1NDksMzEgQEAgV0kuU291cmNl
c05hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBjbGFzcyBTb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQ
YW5lbCBleHRlbmRzIFcKICAgICAgICAgbGV0IHRyZWVFbGVtZW50ID0gZXZlbnQuZGF0YS5lbGVt
ZW50OwogCiAgICAgICAgIGxldCBzZXR0aW5nID0gbnVsbDsKLSAgICAgICAgaWYgKHRyZWVFbGVt
ZW50LmJyZWFrcG9pbnQgPT09IFdJLmRlYnVnZ2VyTWFuYWdlci5hc3NlcnRpb25GYWlsdXJlc0Jy
ZWFrcG9pbnQpCisgICAgICAgIHN3aXRjaCAodHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3Qp
IHsKKyAgICAgICAgY2FzZSBXSS5kZWJ1Z2dlck1hbmFnZXIuYXNzZXJ0aW9uRmFpbHVyZXNCcmVh
a3BvaW50OgogICAgICAgICAgICAgc2V0dGluZyA9IFdJLnNldHRpbmdzLnNob3dBc3NlcnRpb25G
YWlsdXJlc0JyZWFrcG9pbnQ7Ci0gICAgICAgIGVsc2UgaWYgKHRyZWVFbGVtZW50LnJlcHJlc2Vu
dGVkT2JqZWN0ID09PSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsUmVxdWVzdHNCcmVha3BvaW50
KQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBXSS5kb21EZWJ1Z2dlck1hbmFn
ZXIuYWxsQW5pbWF0aW9uRnJhbWVzQnJlYWtwb2ludDoKKyAgICAgICAgICAgIHNldHRpbmcgPSBX
SS5zZXR0aW5ncy5zaG93QWxsQW5pbWF0aW9uRnJhbWVzQnJlYWtwb2ludDsKKyAgICAgICAgICAg
IGJyZWFrOworCisgICAgICAgIGNhc2UgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEludGVydmFs
c0JyZWFrcG9pbnQ6CisgICAgICAgICAgICBzZXR0aW5nID0gV0kuc2V0dGluZ3Muc2hvd0FsbElu
dGVydmFsc0JyZWFrcG9pbnQ7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIFdJ
LmRvbURlYnVnZ2VyTWFuYWdlci5hbGxMaXN0ZW5lcnNCcmVha3BvaW50OgorICAgICAgICAgICAg
c2V0dGluZyA9IFdJLnNldHRpbmdzLnNob3dBbGxMaXN0ZW5lcnNCcmVha3BvaW50OworICAgICAg
ICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsUmVx
dWVzdHNCcmVha3BvaW50OgogICAgICAgICAgICAgc2V0dGluZyA9IFdJLnNldHRpbmdzLnNob3dB
bGxSZXF1ZXN0c0JyZWFrcG9pbnQ7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNl
IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxUaW1lb3V0c0JyZWFrcG9pbnQ6CisgICAgICAgICAg
ICBzZXR0aW5nID0gV0kuc2V0dGluZ3Muc2hvd0FsbFRpbWVvdXRzQnJlYWtwb2ludDsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICB9CiAKICAgICAgICAgaWYgKHNldHRpbmcpCiAgICAgICAg
ICAgICBzZXR0aW5nLnZhbHVlID0gISF0cmVlRWxlbWVudC5wYXJlbnQ7CkBAIC0xNTIyLDE4ICsx
NjAwLDQyIEBAIFdJLlNvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsID0gY2xhc3MgU291cmNl
c05hdmlnYXRpb25TaWRlYmFyUGFuZWwgZXh0ZW5kcyBXCiAgICAgICAgICAgICB9LCBhc3NlcnRp
b25GYWlsdXJlc0JyZWFrcG9pbnRTaG93bik7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoV0ku
ZG9tRGVidWdnZXJNYW5hZ2VyLnN1cHBvcnRlZCkgeworICAgICAgICBpZiAoV0kuRE9NRGVidWdn
ZXJNYW5hZ2VyLnN1cHBvcnRzRXZlbnRCcmVha3BvaW50cygpIHx8IFdJLkRPTURlYnVnZ2VyTWFu
YWdlci5zdXBwb3J0c0V2ZW50TGlzdGVuZXJCcmVha3BvaW50cygpKSB7CisgICAgICAgICAgICBm
dW5jdGlvbiBhZGRUb2dnbGVGb3JTcGVjaWFsRXZlbnRCcmVha3BvaW50KGJyZWFrcG9pbnQsIGxh
YmVsLCBjaGVja2VkKSB7CisgICAgICAgICAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kQ2hlY2ti
b3hJdGVtKGxhYmVsLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgICAgIGlmIChjaGVja2VkKQor
ICAgICAgICAgICAgICAgICAgICAgICAgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLnJlbW92ZUV2ZW50
QnJlYWtwb2ludChicmVha3BvaW50KTsKKyAgICAgICAgICAgICAgICAgICAgZWxzZSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICBicmVha3BvaW50LmRpc2FibGVkID0gZmFsc2U7CisgICAgICAg
ICAgICAgICAgICAgICAgICBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRCcmVha3BvaW50
KGJyZWFrcG9pbnQpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSwg
Y2hlY2tlZCk7CisgICAgICAgICAgICB9CisKICAgICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVu
ZFNlcGFyYXRvcigpOwogCisgICAgICAgICAgICBhZGRUb2dnbGVGb3JTcGVjaWFsRXZlbnRCcmVh
a3BvaW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50
LCBXSS5VSVN0cmluZygiQWxsIEFuaW1hdGlvbiBGcmFtZXMiKSwgV0kuc2V0dGluZ3Muc2hvd0Fs
bEFuaW1hdGlvbkZyYW1lc0JyZWFrcG9pbnQudmFsdWUpOworCisgICAgICAgICAgICBjb250ZXh0
TWVudS5hcHBlbmRTZXBhcmF0b3IoKTsKKworICAgICAgICAgICAgYWRkVG9nZ2xlRm9yU3BlY2lh
bEV2ZW50QnJlYWtwb2ludChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsVGltZW91dHNCcmVha3Bv
aW50LCBXSS5VSVN0cmluZygiQWxsIFRpbWVvdXRzIiksIFdJLnNldHRpbmdzLnNob3dBbGxUaW1l
b3V0c0JyZWFrcG9pbnQudmFsdWUpOworICAgICAgICAgICAgYWRkVG9nZ2xlRm9yU3BlY2lhbEV2
ZW50QnJlYWtwb2ludChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsSW50ZXJ2YWxzQnJlYWtwb2lu
dCwgV0kuVUlTdHJpbmcoIkFsbCBJbnRlcnZhbHMiKSwgV0kuc2V0dGluZ3Muc2hvd0FsbEludGVy
dmFsc0JyZWFrcG9pbnQudmFsdWUpOworCisgICAgICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRT
ZXBhcmF0b3IoKTsKKworICAgICAgICAgICAgaWYgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5zdXBw
b3J0c0FsbExpc3RlbmVyc0JyZWFrcG9pbnQoKSkKKyAgICAgICAgICAgICAgICBhZGRUb2dnbGVG
b3JTcGVjaWFsRXZlbnRCcmVha3BvaW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxMaXN0ZW5l
cnNCcmVha3BvaW50LCBXSS5VSVN0cmluZygiQWxsIEV2ZW50cyIpLCBXSS5zZXR0aW5ncy5zaG93
QWxsTGlzdGVuZXJzQnJlYWtwb2ludC52YWx1ZSk7CisKICAgICAgICAgICAgIGNvbnRleHRNZW51
LmFwcGVuZEl0ZW0oV0kuVUlTdHJpbmcoIkV2ZW50IEJyZWFrcG9pbnRcdTIwMjYiKSwgKCkgPT4g
ewogICAgICAgICAgICAgICAgIGxldCBwb3BvdmVyID0gbmV3IFdJLkV2ZW50QnJlYWtwb2ludFBv
cG92ZXIodGhpcyk7CiAgICAgICAgICAgICAgICAgcG9wb3Zlci5zaG93KHRoaXMuX2NyZWF0ZUJy
ZWFrcG9pbnRCdXR0b24uZWxlbWVudCwgW1dJLlJlY3RFZGdlLk1BWF9ZLCBXSS5SZWN0RWRnZS5N
SU5fWSwgV0kuUmVjdEVkZ2UuTUFYX1hdKTsKICAgICAgICAgICAgIH0pOwogCiAgICAgICAgICAg
ICBjb250ZXh0TWVudS5hcHBlbmRTZXBhcmF0b3IoKTsKKyAgICAgICAgfQogCisgICAgICAgIGlm
IChXSS5ET01EZWJ1Z2dlck1hbmFnZXIuc3VwcG9ydHNVUkxCcmVha3BvaW50cygpIHx8IFdJLkRP
TURlYnVnZ2VyTWFuYWdlci5zdXBwb3J0c1hIUkJyZWFrcG9pbnRzKCkpIHsKICAgICAgICAgICAg
IGxldCBhbGxSZXF1ZXN0c0JyZWFrcG9pbnRTaG93biA9IFdJLnNldHRpbmdzLnNob3dBbGxSZXF1
ZXN0c0JyZWFrcG9pbnQudmFsdWU7Ci0KICAgICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZENo
ZWNrYm94SXRlbShXSS5yZXBlYXRlZFVJU3RyaW5nLmFsbFJlcXVlc3RzKCksICgpID0+IHsKICAg
ICAgICAgICAgICAgICBpZiAoYWxsUmVxdWVzdHNCcmVha3BvaW50U2hvd24pCiAgICAgICAgICAg
ICAgICAgICAgIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5yZW1vdmVVUkxCcmVha3BvaW50KFdJLmRv
bURlYnVnZ2VyTWFuYWdlci5hbGxSZXF1ZXN0c0JyZWFrcG9pbnQpOwpAQCAtMTU0Myw3ICsxNjQ1
LDcgQEAgV0kuU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBjbGFzcyBTb3VyY2VzTmF2
aWdhdGlvblNpZGViYXJQYW5lbCBleHRlbmRzIFcKICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICB9LCBhbGxSZXF1ZXN0c0JyZWFrcG9pbnRTaG93bik7CiAKLSAgICAgICAgICAgIGNvbnRl
eHRNZW51LmFwcGVuZEl0ZW0oV0kuVUlTdHJpbmcoIlVSTCBCcmVha3BvaW50XHUyMDI2IiksICgp
ID0+IHsKKyAgICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV0kuRE9NRGVidWdnZXJN
YW5hZ2VyLnN1cHBvcnRzVVJMQnJlYWtwb2ludHMoKSA/IFdJLlVJU3RyaW5nKCJVUkwgQnJlYWtw
b2ludFx1MjAyNiIpIDogV0kuVUlTdHJpbmcoIlhIUiBCcmVha3BvaW50XHUyMDI2IiksICgpID0+
IHsKICAgICAgICAgICAgICAgICBsZXQgcG9wb3ZlciA9IG5ldyBXSS5VUkxCcmVha3BvaW50UG9w
b3Zlcih0aGlzKTsKICAgICAgICAgICAgICAgICBwb3BvdmVyLnNob3codGhpcy5fY3JlYXRlQnJl
YWtwb2ludEJ1dHRvbi5lbGVtZW50LCBbV0kuUmVjdEVkZ2UuTUFYX1ksIFdJLlJlY3RFZGdlLk1J
Tl9ZLCBXSS5SZWN0RWRnZS5NQVhfWF0pOwogICAgICAgICAgICAgfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2U5Mzkz
M2QyM2I1ZjAyZDlhZTkyNmY4MWI5NDc2MGEzYzE4N2M4Ny4uMmJhN2MwMGQ0Y2RkNzFkNzVjZDUz
NWJkNWQxZjRkODFkZjc1NzRlOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE5LTA3LTMxICBE
ZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBET006IGFkZCBhIHNwZWNpYWwgYnJlYWtwb2ludCBmb3IgIkFsbCBFdmVudHMiCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDAyODUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9kb20v
YnJlYWtwb2ludC1mb3ItZXZlbnQtbGlzdGVuZXIuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZG9tL2JyZWFrcG9pbnQtZm9yLWV2ZW50LWxpc3RlbmVyLWV4cGVjdGVkLnR4dDoKKworICAgICAg
ICAqIGluc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtYW5pbWF0aW9uLWZyYW1lLWJyZWFrcG9p
bnRzLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC1hbmltYXRp
b24tZnJhbWUtYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci9k
b20tZGVidWdnZXIvZXZlbnQtYnJlYWtwb2ludC13aXRoLW5hdmlnYXRpb24uaHRtbDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWJyZWFrcG9pbnQtd2l0aC1uYXZpZ2F0
aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50
LWludGVydmFsLWJyZWFrcG9pbnRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9k
b20tZGVidWdnZXIvZXZlbnQtaW50ZXJ2YWwtYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWxpc3RlbmVyLWJyZWFr
cG9pbnRzLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC1saXN0
ZW5lci1icmVha3BvaW50cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2RvbS1k
ZWJ1Z2dlci9ldmVudC10aW1lb3V0LWJyZWFrcG9pbnRzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGluc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtdGltZW91dC1icmVha3BvaW50cy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorCisgICAgICAgICogaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9yZXNvdXJj
ZXMvZXZlbnQtYnJlYWtwb2ludC11dGlsaXRpZXMuanM6CisgICAgICAgIChUZXN0UGFnZS5yZWdp
c3RlckluaXRpYWxpemVyLkluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LnRlYXJkb3duKToK
KyAgICAgICAgKFRlc3RQYWdlLnJlZ2lzdGVySW5pdGlhbGl6ZXIuSW5zcGVjdG9yVGVzdC5FdmVu
dEJyZWFrcG9pbnQuZmFpbE9uUGF1c2UpOgorICAgICAgICAoVGVzdFBhZ2UucmVnaXN0ZXJJbml0
aWFsaXplci5JbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5jcmVhdGVCcmVha3BvaW50KTog
QWRkZWQuCisgICAgICAgIChUZXN0UGFnZS5yZWdpc3RlckluaXRpYWxpemVyLkluc3BlY3RvclRl
c3QuRXZlbnRCcmVha3BvaW50LmFkZEJyZWFrcG9pbnQpOgorICAgICAgICAoVGVzdFBhZ2UucmVn
aXN0ZXJJbml0aWFsaXplci5JbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5yZW1vdmVCcmVh
a3BvaW50KToKKyAgICAgICAgKFRlc3RQYWdlLnJlZ2lzdGVySW5pdGlhbGl6ZXIuSW5zcGVjdG9y
VGVzdC5FdmVudEJyZWFrcG9pbnQuZGlzYWJsZUJyZWFrcG9pbnQpOgorCisgICAgICAgICogaW5z
cGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC10aW1lci1icmVha3BvaW50cy5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGluc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtdGltZXItYnJlYWtwb2lu
dHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorCiAyMDE5LTA3LTI5ICBTZXJnZWkgR2xhenVub3Yg
IDxnbGF6dW5vdkBnb29nbGUuY29tPgogCiAgICAgICAgIFRoZSBtYXhpbXVtIHN1YmZyYW1lIGNv
dW50IGNoZWNrIHNob3VsZCBub3QgYmUgc2tpcHBlZCBmb3IgZW1wdHkgVVJMcy4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtYW5pbWF0aW9uLWZy
YW1lLWJyZWFrcG9pbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20t
ZGVidWdnZXIvZXZlbnQtYW5pbWF0aW9uLWZyYW1lLWJyZWFrcG9pbnRzLWV4cGVjdGVkLnR4dApp
bmRleCA5YzcyNzAxMjc2MmY2YzY4YzljN2VlNzZjODA4MGQ1ZTY2N2E2ZjUwLi45MGIyNmE3N2Jk
NTU2Njk1ZjFiMDFmZjE3MjlkNjVhNWRmMjhjNzFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWFuaW1hdGlvbi1mcmFtZS1icmVha3BvaW50cy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVu
dC1hbmltYXRpb24tZnJhbWUtYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0CkBAIC0yLDggKzIsOCBA
QCBUZXN0cyBmb3IgRXZlbnQgQW5pbWF0aW9uRnJhbWUgYnJlYWtwb2ludHMuCiAKIAogPT0gUnVu
bmluZyB0ZXN0IHN1aXRlOiBET01EZWJ1Z2dlci5FdmVudC5BbmltYXRpb25GcmFtZQotLS0gUnVu
bmluZyB0ZXN0IGNhc2U6IERPTURlYnVnZ2VyLkV2ZW50LkFuaW1hdGlvbkZyYW1lLkFkZEJyZWFr
cG9pbnQgInJlcXVlc3RBbmltYXRpb25GcmFtZSIKLUFkZGluZyAicmVxdWVzdEFuaW1hdGlvbkZy
YW1lIiBFdmVudCBCcmVha3BvaW50Li4uCistLSBSdW5uaW5nIHRlc3QgY2FzZTogRE9NRGVidWdn
ZXIuRXZlbnQuQW5pbWF0aW9uRnJhbWUuQWRkQnJlYWtwb2ludAorQWRkaW5nICJhbmltYXRpb24t
ZnJhbWUiIEV2ZW50IEJyZWFrcG9pbnQuLi4KIEZpcmluZyAicmVxdWVzdEFuaW1hdGlvbkZyYW1l
IiBvbiB3aW5kb3cuLi4KIFBBU1M6IFNob3VsZCBwYXVzZSBiZWZvcmUgZXZlbnQgaGFuZGxlciBp
cyBydW4uCiBDQUxMIFNUQUNLOgpAQCAtMTQsMjQgKzE0LDI0IEBAIEFTWU5DIENBTEwgU1RBQ0s6
CiAzOiBbUF0gR2xvYmFsIENvZGUKIC0tIFJ1bm5pbmcgdGVzdCB0ZWFyZG93bi4KIAotLS0gUnVu
bmluZyB0ZXN0IGNhc2U6IERPTURlYnVnZ2VyLkV2ZW50LkFuaW1hdGlvbkZyYW1lLkFkZERpc2Fi
bGVkQnJlYWtwb2ludCAicmVxdWVzdEFuaW1hdGlvbkZyYW1lIgotQWRkaW5nICJyZXF1ZXN0QW5p
bWF0aW9uRnJhbWUiIEV2ZW50IEJyZWFrcG9pbnQuLi4KLURpc2FibGluZyAicmVxdWVzdEFuaW1h
dGlvbkZyYW1lIiBFdmVudCBCcmVha3BvaW50Li4uCistLSBSdW5uaW5nIHRlc3QgY2FzZTogRE9N
RGVidWdnZXIuRXZlbnQuQW5pbWF0aW9uRnJhbWUuQWRkRGlzYWJsZWRCcmVha3BvaW50CitBZGRp
bmcgImFuaW1hdGlvbi1mcmFtZSIgRXZlbnQgQnJlYWtwb2ludC4uLgorRGlzYWJsaW5nICJhbmlt
YXRpb24tZnJhbWUiIEV2ZW50IEJyZWFrcG9pbnQuLi4KIEZpcmluZyAicmVxdWVzdEFuaW1hdGlv
bkZyYW1lIiBvbiB3aW5kb3cuLi4KIFBBU1M6IFNob3VsZCBub3QgcGF1c2UgZm9yIGRpc2FibGVk
IGJyZWFrcG9pbnQuCiAtLSBSdW5uaW5nIHRlc3QgdGVhcmRvd24uCiAKLS0tIFJ1bm5pbmcgdGVz
dCBjYXNlOiBET01EZWJ1Z2dlci5FdmVudC5BbmltYXRpb25GcmFtZS5SZW1vdmVCcmVha3BvaW50
ICJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiCi1BZGRpbmcgInJlcXVlc3RBbmltYXRpb25GcmFtZSIg
RXZlbnQgQnJlYWtwb2ludC4uLgotUmVtb3ZpbmcgInJlcXVlc3RBbmltYXRpb25GcmFtZSIgRXZl
bnQgQnJlYWtwb2ludC4uLgorLS0gUnVubmluZyB0ZXN0IGNhc2U6IERPTURlYnVnZ2VyLkV2ZW50
LkFuaW1hdGlvbkZyYW1lLlJlbW92ZUJyZWFrcG9pbnQKK0FkZGluZyAiYW5pbWF0aW9uLWZyYW1l
IiBFdmVudCBCcmVha3BvaW50Li4uCitSZW1vdmluZyAiYW5pbWF0aW9uLWZyYW1lIiBFdmVudCBC
cmVha3BvaW50Li4uCiBGaXJpbmcgInJlcXVlc3RBbmltYXRpb25GcmFtZSIgb24gd2luZG93Li4u
CiBQQVNTOiBTaG91bGQgbm90IHBhdXNlIGZvciByZW1vdmVkIGJyZWFrcG9pbnQuCiAtLSBSdW5u
aW5nIHRlc3QgdGVhcmRvd24uCiAKLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01EZWJ1Z2dlci5F
dmVudC5BbmltYXRpb25GcmFtZS5SZW1vdmVEaXNhYmxlZEJyZWFrcG9pbnQgInJlcXVlc3RBbmlt
YXRpb25GcmFtZSIKLUFkZGluZyAicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiBFdmVudCBCcmVha3Bv
aW50Li4uCi1EaXNhYmxpbmcgInJlcXVlc3RBbmltYXRpb25GcmFtZSIgRXZlbnQgQnJlYWtwb2lu
dC4uLgotUmVtb3ZpbmcgInJlcXVlc3RBbmltYXRpb25GcmFtZSIgRXZlbnQgQnJlYWtwb2ludC4u
LgorLS0gUnVubmluZyB0ZXN0IGNhc2U6IERPTURlYnVnZ2VyLkV2ZW50LkFuaW1hdGlvbkZyYW1l
LlJlbW92ZURpc2FibGVkQnJlYWtwb2ludAorQWRkaW5nICJhbmltYXRpb24tZnJhbWUiIEV2ZW50
IEJyZWFrcG9pbnQuLi4KK0Rpc2FibGluZyAiYW5pbWF0aW9uLWZyYW1lIiBFdmVudCBCcmVha3Bv
aW50Li4uCitSZW1vdmluZyAiYW5pbWF0aW9uLWZyYW1lIiBFdmVudCBCcmVha3BvaW50Li4uCiBG
aXJpbmcgInJlcXVlc3RBbmltYXRpb25GcmFtZSIgb24gd2luZG93Li4uCiBQQVNTOiBTaG91bGQg
bm90IHBhdXNlIGZvciByZW1vdmVkIGRpc2FibGVkIGJyZWFrcG9pbnQuCiAtLSBSdW5uaW5nIHRl
c3QgdGVhcmRvd24uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLWRlYnVn
Z2VyL2V2ZW50LWFuaW1hdGlvbi1mcmFtZS1icmVha3BvaW50cy5odG1sIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC1hbmltYXRpb24tZnJhbWUtYnJlYWtwb2ludHMu
aHRtbAppbmRleCAxOWYzZjFiNGJkMDViYTE5NTcxZjhmYjEzNjNiZDg1ZTM3MWFiMmMzLi5mMGJh
NDdiNDYyNTI1ZTI5ZWVlMDZkN2YxMmZhNTI3OTNjYTM0MDcxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWFuaW1hdGlvbi1mcmFtZS1icmVha3Bv
aW50cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQt
YW5pbWF0aW9uLWZyYW1lLWJyZWFrcG9pbnRzLmh0bWwKQEAgLTE1LDg3ICsxNSw4NSBAQCBmdW5j
dGlvbiB0cmlnZ2VyX3JlcXVlc3RBbmltYXRpb25GcmFtZSgpIHsKIH0KIAogZnVuY3Rpb24gdGVz
dCgpIHsKKyAgICBjb25zdCBldmVudE5hbWUgPSAicmVxdWVzdEFuaW1hdGlvbkZyYW1lIjsKKwog
ICAgIGxldCBzdWl0ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiRE9NRGVidWdn
ZXIuRXZlbnQuQW5pbWF0aW9uRnJhbWUiKTsKIAotICAgIGZ1bmN0aW9uIGFkZFRlc3RDYXNlc0Zv
ckV2ZW50TmFtZShldmVudE5hbWUpIHsKLSAgICAgICAgc3VpdGUuYWRkVGVzdENhc2UoewotICAg
ICAgICAgICAgbmFtZTogYERPTURlYnVnZ2VyLkV2ZW50LkFuaW1hdGlvbkZyYW1lLkFkZEJyZWFr
cG9pbnQgIiR7ZXZlbnROYW1lfSJgLAotICAgICAgICAgICAgZGVzY3JpcHRpb246ICJDaGVjayB0
aGF0IHRoZSBkZWJ1Z2dlciBwYXVzZXMgZm9yIGVuYWJsZWQgYnJlYWtwb2ludHMuIiwKLSAgICAg
ICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICAgICAgbGV0IHBhdXNl
ZCA9IGZhbHNlOworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogYERPTURl
YnVnZ2VyLkV2ZW50LkFuaW1hdGlvbkZyYW1lLkFkZEJyZWFrcG9pbnRgLAorICAgICAgICBkZXNj
cmlwdGlvbjogIkNoZWNrIHRoYXQgdGhlIGRlYnVnZ2VyIHBhdXNlcyBmb3IgZW5hYmxlZCBicmVh
a3BvaW50cy4iLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICAgICAg
bGV0IHBhdXNlZCA9IGZhbHNlOwogCi0gICAgICAgICAgICAgICAgbGV0IGxpc3RlbmVyID0gV0ku
ZGVidWdnZXJNYW5hZ2VyLnNpbmdsZUZpcmVFdmVudExpc3RlbmVyKFdJLkRlYnVnZ2VyTWFuYWdl
ci5FdmVudC5QYXVzZWQsIChldmVudCkgPT4gewotICAgICAgICAgICAgICAgICAgICBwYXVzZWQg
PSB0cnVlOworICAgICAgICAgICAgbGV0IGxpc3RlbmVyID0gV0kuZGVidWdnZXJNYW5hZ2VyLnNp
bmdsZUZpcmVFdmVudExpc3RlbmVyKFdJLkRlYnVnZ2VyTWFuYWdlci5FdmVudC5QYXVzZWQsIChl
dmVudCkgPT4geworICAgICAgICAgICAgICAgIHBhdXNlZCA9IHRydWU7CiAKLSAgICAgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5wYXNzKCJTaG91bGQgcGF1c2UgYmVmb3JlIGV2ZW50IGhh
bmRsZXIgaXMgcnVuLiIpOwotICAgICAgICAgICAgICAgICAgICBsb2dBY3RpdmVTdGFja1RyYWNl
KCk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5wYXNzKCJTaG91bGQgcGF1c2UgYmVm
b3JlIGV2ZW50IGhhbmRsZXIgaXMgcnVuLiIpOworICAgICAgICAgICAgICAgIGxvZ0FjdGl2ZVN0
YWNrVHJhY2UoKTsKIAotICAgICAgICAgICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIucmVz
dW1lKCkKLSAgICAgICAgICAgICAgICAgICAgLmNhdGNoKHJlamVjdCk7Ci0gICAgICAgICAgICAg
ICAgfSk7Ci0KLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNpbmdsZUZpcmVFdmVudExp
c3RlbmVyKGBUZXN0UGFnZS0ke2V2ZW50TmFtZX1gLCAoZXZlbnQpID0+IHsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKCFwYXVzZWQpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIFdJLmRlYnVn
Z2VyTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkRlYnVnZ2VyTWFuYWdlci5FdmVudC5Q
YXVzZWQsIGxpc3RlbmVyKTsKLQotICAgICAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5mYWlsKCJTaG91bGQgcGF1c2UgYmVmb3JlIGV2ZW50IGhhbmRsZXIgaXMgcnVuLiIpOwotICAg
ICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAg
ICAgICAgICAgICAgIH0pOwotCi0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJy
ZWFrcG9pbnQuYWRkQnJlYWtwb2ludChXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5BbmltYXRpb25G
cmFtZSwgZXZlbnROYW1lKQotICAgICAgICAgICAgICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZl
bnRCcmVha3BvaW50LmF3YWl0RXZlbnQoIndpbmRvdyIsIGV2ZW50TmFtZSkpCisgICAgICAgICAg
ICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLnJlc3VtZSgpCiAgICAgICAgICAgICAgICAgLmNhdGNo
KHJlamVjdCk7Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgdGVhcmRvd246IEluc3BlY3Rv
clRlc3QuRXZlbnRCcmVha3BvaW50LnRlYXJkb3duLAotICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0pOwogCi0gICAgICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKLSAgICAgICAgICAgIG5hbWU6IGBE
T01EZWJ1Z2dlci5FdmVudC5BbmltYXRpb25GcmFtZS5BZGREaXNhYmxlZEJyZWFrcG9pbnQgIiR7
ZXZlbnROYW1lfSJgLAotICAgICAgICAgICAgZGVzY3JpcHRpb246ICJDaGVjayB0aGF0IGRlYnVn
Z2VyIGRvZXMgbm90IHBhdXNlIGZvciBkaXNhYmxlZCBicmVha3BvaW50cy4iLAotICAgICAgICAg
ICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LkV2ZW50QnJlYWtwb2ludC5mYWlsT25QYXVzZShyZXNvbHZlLCByZWplY3QsIFdJLkRlYnVnZ2Vy
TWFuYWdlci5QYXVzZVJlYXNvbi5BbmltYXRpb25GcmFtZSwgZXZlbnROYW1lLCAiU2hvdWxkIG5v
dCBwYXVzZSBmb3IgZGlzYWJsZWQgYnJlYWtwb2ludC4iKTsKKyAgICAgICAgICAgIEluc3BlY3Rv
clRlc3Quc2luZ2xlRmlyZUV2ZW50TGlzdGVuZXIoYFRlc3RQYWdlLSR7ZXZlbnROYW1lfWAsIChl
dmVudCkgPT4geworICAgICAgICAgICAgICAgIGlmICghcGF1c2VkKSB7CisgICAgICAgICAgICAg
ICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkRlYnVnZ2Vy
TWFuYWdlci5FdmVudC5QYXVzZWQsIGxpc3RlbmVyKTsKIAotICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmFkZEJyZWFrcG9pbnQoV0kuRXZlbnRCcmVha3BvaW50
LlR5cGUuQW5pbWF0aW9uRnJhbWUsIGV2ZW50TmFtZSkKLSAgICAgICAgICAgICAgICAudGhlbihJ
bnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5kaXNhYmxlQnJlYWtwb2ludCkKLSAgICAgICAg
ICAgICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hd2FpdEV2ZW50KCJ3
aW5kb3ciLCBldmVudE5hbWUpKQotICAgICAgICAgICAgICAgIC5jYXRjaChyZWplY3QpOwotICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgIHRlYXJkb3duOiBJbnNwZWN0b3JUZXN0LkV2ZW50QnJl
YWtwb2ludC50ZWFyZG93biwKLSAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuZmFpbCgiU2hvdWxkIHBhdXNlIGJlZm9yZSBldmVudCBoYW5kbGVyIGlzIHJ1bi4i
KTsKKyAgICAgICAgICAgICAgICB9CiAKLSAgICAgICAgc3VpdGUuYWRkVGVzdENhc2UoewotICAg
ICAgICAgICAgbmFtZTogYERPTURlYnVnZ2VyLkV2ZW50LkFuaW1hdGlvbkZyYW1lLlJlbW92ZUJy
ZWFrcG9pbnQgIiR7ZXZlbnROYW1lfSJgLAotICAgICAgICAgICAgZGVzY3JpcHRpb246ICJDaGVj
ayB0aGF0IGRlYnVnZ2VyIGRvZXMgbm90IHBhdXNlIGZvciByZW1vdmVkIGJyZWFrcG9pbnQuIiwK
LSAgICAgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuZmFpbE9uUGF1c2UocmVzb2x2ZSwgcmVqZWN0LCBX
SS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uQW5pbWF0aW9uRnJhbWUsIGV2ZW50TmFtZSwg
IlNob3VsZCBub3QgcGF1c2UgZm9yIHJlbW92ZWQgYnJlYWtwb2ludC4iKTsKKyAgICAgICAgICAg
ICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICB9KTsKIAotICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmFkZEJyZWFrcG9pbnQoV0kuRXZlbnRCcmVha3BvaW50
LlR5cGUuQW5pbWF0aW9uRnJhbWUsIGV2ZW50TmFtZSkKLSAgICAgICAgICAgICAgICAudGhlbihJ
bnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5yZW1vdmVCcmVha3BvaW50KQotICAgICAgICAg
ICAgICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmF3YWl0RXZlbnQoIndp
bmRvdyIsIGV2ZW50TmFtZSkpCi0gICAgICAgICAgICAgICAgLmNhdGNoKHJlamVjdCk7Ci0gICAg
ICAgICAgICB9LAotICAgICAgICAgICAgdGVhcmRvd246IEluc3BlY3RvclRlc3QuRXZlbnRCcmVh
a3BvaW50LnRlYXJkb3duLAotICAgICAgICB9KTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
RXZlbnRCcmVha3BvaW50LmFkZEJyZWFrcG9pbnQoV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEFu
aW1hdGlvbkZyYW1lc0JyZWFrcG9pbnQpCisgICAgICAgICAgICAudGhlbihJbnNwZWN0b3JUZXN0
LkV2ZW50QnJlYWtwb2ludC5hd2FpdEV2ZW50KCJ3aW5kb3ciLCBldmVudE5hbWUpKQorICAgICAg
ICAgICAgLmNhdGNoKHJlamVjdCk7CisgICAgICAgIH0sCisgICAgICAgIHRlYXJkb3duOiBJbnNw
ZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC50ZWFyZG93biwKKyAgICB9KTsKIAotICAgICAgICBz
dWl0ZS5hZGRUZXN0Q2FzZSh7Ci0gICAgICAgICAgICBuYW1lOiBgRE9NRGVidWdnZXIuRXZlbnQu
QW5pbWF0aW9uRnJhbWUuUmVtb3ZlRGlzYWJsZWRCcmVha3BvaW50ICIke2V2ZW50TmFtZX0iYCwK
LSAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAiQ2hlY2sgdGhhdCBhIGRpc2FibGVkIGJyZWFrcG9p
bnQgY2FuIGJlIHJlbW92ZWQuIiwKLSAgICAgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7
Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuZmFpbE9uUGF1
c2UocmVzb2x2ZSwgcmVqZWN0LCBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uQW5pbWF0
aW9uRnJhbWUsIGV2ZW50TmFtZSwgIlNob3VsZCBub3QgcGF1c2UgZm9yIHJlbW92ZWQgZGlzYWJs
ZWQgYnJlYWtwb2ludC4iKTsKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6
IGBET01EZWJ1Z2dlci5FdmVudC5BbmltYXRpb25GcmFtZS5BZGREaXNhYmxlZEJyZWFrcG9pbnRg
LAorICAgICAgICBkZXNjcmlwdGlvbjogIkNoZWNrIHRoYXQgZGVidWdnZXIgZG9lcyBub3QgcGF1
c2UgZm9yIGRpc2FibGVkIGJyZWFrcG9pbnRzLiIsCisgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVq
ZWN0KSB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5mYWlsT25Q
YXVzZShyZXNvbHZlLCByZWplY3QsIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5Bbmlt
YXRpb25GcmFtZSwgZXZlbnROYW1lLCAiU2hvdWxkIG5vdCBwYXVzZSBmb3IgZGlzYWJsZWQgYnJl
YWtwb2ludC4iKTsKIAotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3Bv
aW50LmFkZEJyZWFrcG9pbnQoV0kuRXZlbnRCcmVha3BvaW50LlR5cGUuQW5pbWF0aW9uRnJhbWUs
IGV2ZW50TmFtZSkKLSAgICAgICAgICAgICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2ZW50QnJl
YWtwb2ludC5kaXNhYmxlQnJlYWtwb2ludCkKLSAgICAgICAgICAgICAgICAudGhlbihJbnNwZWN0
b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5yZW1vdmVCcmVha3BvaW50KQotICAgICAgICAgICAgICAg
IC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmF3YWl0RXZlbnQoIndpbmRvdyIs
IGV2ZW50TmFtZSkpCi0gICAgICAgICAgICAgICAgLmNhdGNoKHJlamVjdCk7Ci0gICAgICAgICAg
ICB9LAotICAgICAgICAgICAgdGVhcmRvd246IEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50
LnRlYXJkb3duLAotICAgICAgICB9KTsKLSAgICB9CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LkV2ZW50QnJlYWtwb2ludC5hZGRCcmVha3BvaW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxB
bmltYXRpb25GcmFtZXNCcmVha3BvaW50KQorICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVz
dC5FdmVudEJyZWFrcG9pbnQuZGlzYWJsZUJyZWFrcG9pbnQpCisgICAgICAgICAgICAudGhlbihJ
bnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hd2FpdEV2ZW50KCJ3aW5kb3ciLCBldmVudE5h
bWUpKQorICAgICAgICAgICAgLmNhdGNoKHJlamVjdCk7CisgICAgICAgIH0sCisgICAgICAgIHRl
YXJkb3duOiBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC50ZWFyZG93biwKKyAgICB9KTsK
IAotICAgIGFkZFRlc3RDYXNlc0ZvckV2ZW50TmFtZSgicmVxdWVzdEFuaW1hdGlvbkZyYW1lIik7
CisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiBgRE9NRGVidWdnZXIuRXZl
bnQuQW5pbWF0aW9uRnJhbWUuUmVtb3ZlQnJlYWtwb2ludGAsCisgICAgICAgIGRlc2NyaXB0aW9u
OiAiQ2hlY2sgdGhhdCBkZWJ1Z2dlciBkb2VzIG5vdCBwYXVzZSBmb3IgcmVtb3ZlZCBicmVha3Bv
aW50LiIsCisgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5mYWlsT25QYXVzZShyZXNvbHZlLCByZWplY3QsIFdJ
LkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5BbmltYXRpb25GcmFtZSwgZXZlbnROYW1lLCAi
U2hvdWxkIG5vdCBwYXVzZSBmb3IgcmVtb3ZlZCBicmVha3BvaW50LiIpOworCisgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hZGRCcmVha3BvaW50KFdJLmRvbURlYnVn
Z2VyTWFuYWdlci5hbGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50KQorICAgICAgICAgICAgLnRo
ZW4oSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQucmVtb3ZlQnJlYWtwb2ludCkKKyAgICAg
ICAgICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmF3YWl0RXZlbnQoIndp
bmRvdyIsIGV2ZW50TmFtZSkpCisgICAgICAgICAgICAuY2F0Y2gocmVqZWN0KTsKKyAgICAgICAg
fSwKKyAgICAgICAgdGVhcmRvd246IEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LnRlYXJk
b3duLAorICAgIH0pOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiBg
RE9NRGVidWdnZXIuRXZlbnQuQW5pbWF0aW9uRnJhbWUuUmVtb3ZlRGlzYWJsZWRCcmVha3BvaW50
YCwKKyAgICAgICAgZGVzY3JpcHRpb246ICJDaGVjayB0aGF0IGEgZGlzYWJsZWQgYnJlYWtwb2lu
dCBjYW4gYmUgcmVtb3ZlZC4iLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuZmFpbE9uUGF1c2UocmVzb2x2
ZSwgcmVqZWN0LCBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uQW5pbWF0aW9uRnJhbWUs
IGV2ZW50TmFtZSwgIlNob3VsZCBub3QgcGF1c2UgZm9yIHJlbW92ZWQgZGlzYWJsZWQgYnJlYWtw
b2ludC4iKTsKKworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYWRk
QnJlYWtwb2ludChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsQW5pbWF0aW9uRnJhbWVzQnJlYWtw
b2ludCkKKyAgICAgICAgICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmRp
c2FibGVCcmVha3BvaW50KQorICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVudEJy
ZWFrcG9pbnQucmVtb3ZlQnJlYWtwb2ludCkKKyAgICAgICAgICAgIC50aGVuKEluc3BlY3RvclRl
c3QuRXZlbnRCcmVha3BvaW50LmF3YWl0RXZlbnQoIndpbmRvdyIsIGV2ZW50TmFtZSkpCisgICAg
ICAgICAgICAuY2F0Y2gocmVqZWN0KTsKKyAgICAgICAgfSwKKyAgICAgICAgdGVhcmRvd246IElu
c3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LnRlYXJkb3duLAorICAgIH0pOwogCiAgICAgc3Vp
dGUucnVuVGVzdENhc2VzQW5kRmluaXNoKCk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWJyZWFrcG9pbnQtd2l0aC1uYXZpZ2F0aW9uLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtYnJl
YWtwb2ludC13aXRoLW5hdmlnYXRpb24tZXhwZWN0ZWQudHh0CmluZGV4IDUwYmE1YzliNmRmYzRj
YzExYzc3ZDRkNmRjZjNmODBlZjMxZmU5Y2IuLmM0YzM5MzlkMTI1OGI1N2M4YzQ1ZDE2NmZjNTBh
Mzc4ZDhhOWFjY2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdn
ZXIvZXZlbnQtYnJlYWtwb2ludC13aXRoLW5hdmlnYXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtYnJlYWtwb2ludC13aXRoLW5h
dmlnYXRpb24tZXhwZWN0ZWQudHh0CkBAIC01LDcgKzUsNyBAQCBUZXN0cyBmb3IgRXZlbnQgTGlz
dGVuZXIgYnJlYWtwb2ludHMuCiAtLSBSdW5uaW5nIHRlc3QgY2FzZTogRE9NRGVidWdnZXIuRXZl
bnRXaXRoTmF2aWdhdGlvbi5BZGRCcmVha3BvaW50CiBBZGRpbmcgImxvYWQiIEV2ZW50IEJyZWFr
cG9pbnQuLi4KIFJlbG9hZGluZyBXZWJJbnNwZWN0b3IuLi4KLVBBU1M6IFBhdXNlIHJlYXNvbiBz
aG91bGQgYmUgRXZlbnRMaXN0ZW5lci4KK1BBU1M6IFBhdXNlIHJlYXNvbiBzaG91bGQgYmUgTGlz
dGVuZXIuCiBQQVNTOiBQYXVzZSBkYXRhIGV2ZW50TmFtZSBzaG91bGQgYmUgImxvYWQiLgogLS0g
UnVubmluZyB0ZXN0IHRlYXJkb3duLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWJyZWFrcG9pbnQtd2l0aC1uYXZpZ2F0aW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWJyZWFrcG9pbnQtd2l0aC1u
YXZpZ2F0aW9uLmh0bWwKaW5kZXggZTcwYmI2NTViYzUxNWMxN2M0NzBkZDIzMjIxOTQ3ZTQ4MzNh
NTU3Zi4uYzQxZGI3MmVhZDY3NTU3ZDI4NWFlNmI4MTliZjIwYmMyZTU0NmFjNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC1icmVha3BvaW50LXdp
dGgtbmF2aWdhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdn
ZXIvZXZlbnQtYnJlYWtwb2ludC13aXRoLW5hdmlnYXRpb24uaHRtbApAQCAtMiw2ICsyLDcgQEAK
IDxodG1sPgogPGhlYWQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
cmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvZXZlbnQtYnJlYWtwb2ludC11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4K
IGZ1bmN0aW9uIGhhbmRsZUxvYWQoZXZlbnQpIHsKICAgICBUZXN0UGFnZS5kaXNwYXRjaEV2ZW50
VG9Gcm9udGVuZCgiVGVzdFBhZ2VMb2FkIik7CkBAIC0yMiw3ICsyMyw3IEBAIGZ1bmN0aW9uIHRl
c3QoKSB7CiAgICAgICAgICAgICAgICAgcGF1c2VkID0gdHJ1ZTsKIAogICAgICAgICAgICAgICAg
IGxldCB0YXJnZXREYXRhID0gV0kuZGVidWdnZXJNYW5hZ2VyLmRhdGFGb3JUYXJnZXQoV0kuZGVi
dWdnZXJNYW5hZ2VyLmFjdGl2ZUNhbGxGcmFtZS50YXJnZXQpOwotICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuZXhwZWN0RXF1YWwodGFyZ2V0RGF0YS5wYXVzZVJlYXNvbiwgV0kuRGVidWdn
ZXJNYW5hZ2VyLlBhdXNlUmVhc29uLkV2ZW50TGlzdGVuZXIsICJQYXVzZSByZWFzb24gc2hvdWxk
IGJlIEV2ZW50TGlzdGVuZXIuIik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBl
Y3RFcXVhbCh0YXJnZXREYXRhLnBhdXNlUmVhc29uLCBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VS
ZWFzb24uTGlzdGVuZXIsICJQYXVzZSByZWFzb24gc2hvdWxkIGJlIExpc3RlbmVyLiIpOwogICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwodGFyZ2V0RGF0YS5wYXVzZURh
dGEuZXZlbnROYW1lLCAibG9hZCIsICJQYXVzZSBkYXRhIGV2ZW50TmFtZSBzaG91bGQgYmUgXCJs
b2FkXCIuIik7CiAKICAgICAgICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIucmVzdW1lKCkK
QEAgLTQ0LDcgKzQ1LDcgQEAgZnVuY3Rpb24gdGVzdCgpIHsKIAogICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5sb2coIkFkZGluZyBcImxvYWRcIiBFdmVudCBCcmVha3BvaW50Li4uIik7CiAKLSAg
ICAgICAgICAgIGxldCBicmVha3BvaW50ID0gbmV3IFdJLkV2ZW50QnJlYWtwb2ludChXSS5FdmVu
dEJyZWFrcG9pbnQuVHlwZS5MaXN0ZW5lciwgImxvYWQiKTsKKyAgICAgICAgICAgIGxldCBicmVh
a3BvaW50ID0gbmV3IFdJLkV2ZW50QnJlYWtwb2ludChXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5M
aXN0ZW5lciwge2V2ZW50TmFtZTogImxvYWQifSk7CiAKICAgICAgICAgICAgIFdJLmRvbURlYnVn
Z2VyTWFuYWdlci5hd2FpdEV2ZW50KFdJLkRPTURlYnVnZ2VyTWFuYWdlci5FdmVudC5FdmVudEJy
ZWFrcG9pbnRBZGRlZCkKICAgICAgICAgICAgIC50aGVuKChldmVudCkgPT4gewpAQCAtNTgsMTMg
KzU5LDcgQEAgZnVuY3Rpb24gdGVzdCgpIHsKIAogICAgICAgICAgICAgV0kuZG9tRGVidWdnZXJN
YW5hZ2VyLmFkZEV2ZW50QnJlYWtwb2ludChicmVha3BvaW50KTsKICAgICAgICAgfSwKLSAgICAg
ICAgdGVhcmRvd24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICBsZXQgYnJlYWtwb2lu
dHMgPSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuZXZlbnRCcmVha3BvaW50czsKLSAgICAgICAgICAg
IGZvciAobGV0IGJyZWFrcG9pbnQgb2YgYnJlYWtwb2ludHMpCi0gICAgICAgICAgICAgICAgV0ku
ZG9tRGVidWdnZXJNYW5hZ2VyLnJlbW92ZUV2ZW50QnJlYWtwb2ludChicmVha3BvaW50KTsKLQot
ICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICB9LAorICAgICAgICB0ZWFyZG93bjogSW5z
cGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQudGVhcmRvd24sCiAgICAgfSk7CiAKICAgICBzdWl0
ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9kb20tZGVidWdnZXIvZXZlbnQtaW50ZXJ2YWwtYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC1pbnRlcnZhbC1icmVh
a3BvaW50cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWVjNDgwYTc4YjVkODNiY2Q3MGVhYjcz
YTk3YTIwZGZkZWI4MzY4ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9kb20tZGVidWdnZXIvZXZlbnQtaW50ZXJ2YWwtYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNTcgQEAKK1Rlc3RzIGZvciBFdmVudCBUaW1lciBicmVha3BvaW50cy4KKworCis9
PSBSdW5uaW5nIHRlc3Qgc3VpdGU6IERPTURlYnVnZ2VyLkV2ZW50LlRpbWVyCistLSBSdW5uaW5n
IHRlc3QgY2FzZTogRE9NRGVidWdnZXIuRXZlbnQuSW50ZXJ2YWwuQWRkQnJlYWtwb2ludAorQWRk
aW5nICJpbnRlcnZhbCIgRXZlbnQgQnJlYWtwb2ludC4uLgorRmlyaW5nICJzZXRJbnRlcnZhbCIg
b24gd2luZG93Li4uCitQQVNTOiBTaG91bGQgcGF1c2UgYmVmb3JlIGV2ZW50IGhhbmRsZXIgaXMg
cnVuLgorQ0FMTCBTVEFDSzoKKzA6IFtGXSBoYW5kbGVXaW5kb3dfc2V0SW50ZXJ2YWwKK0FTWU5D
IENBTEwgU1RBQ0s6CisxOiAtLS0gc2V0SW50ZXJ2YWwgLS0tCisyOiBbRl0gdHJpZ2dlcl9zZXRJ
bnRlcnZhbAorMzogW1BdIEdsb2JhbCBDb2RlCistLSBSdW5uaW5nIHRlc3QgdGVhcmRvd24uCisK
Ky0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01EZWJ1Z2dlci5FdmVudC5JbnRlcnZhbC5BZGREaXNh
YmxlZEJyZWFrcG9pbnQKK0FkZGluZyAiaW50ZXJ2YWwiIEV2ZW50IEJyZWFrcG9pbnQuLi4KK0Rp
c2FibGluZyAiaW50ZXJ2YWwiIEV2ZW50IEJyZWFrcG9pbnQuLi4KK0ZpcmluZyAic2V0SW50ZXJ2
YWwiIG9uIHdpbmRvdy4uLgorUEFTUzogU2hvdWxkIG5vdCBwYXVzZSBmb3IgZGlzYWJsZWQgYnJl
YWtwb2ludC4KKy0tIFJ1bm5pbmcgdGVzdCB0ZWFyZG93bi4KKworLS0gUnVubmluZyB0ZXN0IGNh
c2U6IERPTURlYnVnZ2VyLkV2ZW50LkludGVydmFsLlJlbW92ZUJyZWFrcG9pbnQKK0FkZGluZyAi
aW50ZXJ2YWwiIEV2ZW50IEJyZWFrcG9pbnQuLi4KK1JlbW92aW5nICJpbnRlcnZhbCIgRXZlbnQg
QnJlYWtwb2ludC4uLgorRmlyaW5nICJzZXRJbnRlcnZhbCIgb24gd2luZG93Li4uCitQQVNTOiBT
aG91bGQgbm90IHBhdXNlIGZvciByZW1vdmVkIGJyZWFrcG9pbnQuCistLSBSdW5uaW5nIHRlc3Qg
dGVhcmRvd24uCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01EZWJ1Z2dlci5FdmVudC5JbnRl
cnZhbC5SZW1vdmVEaXNhYmxlZEJyZWFrcG9pbnQKK0FkZGluZyAiaW50ZXJ2YWwiIEV2ZW50IEJy
ZWFrcG9pbnQuLi4KK0Rpc2FibGluZyAiaW50ZXJ2YWwiIEV2ZW50IEJyZWFrcG9pbnQuLi4KK1Jl
bW92aW5nICJpbnRlcnZhbCIgRXZlbnQgQnJlYWtwb2ludC4uLgorRmlyaW5nICJzZXRJbnRlcnZh
bCIgb24gd2luZG93Li4uCitQQVNTOiBTaG91bGQgbm90IHBhdXNlIGZvciByZW1vdmVkIGRpc2Fi
bGVkIGJyZWFrcG9pbnQuCistLSBSdW5uaW5nIHRlc3QgdGVhcmRvd24uCisKKy0tIFJ1bm5pbmcg
dGVzdCBjYXNlOiBET01EZWJ1Z2dlci5FdmVudC5JbnRlcnZhbC5SZXBlYXRGaXJlQnJlYWtwb2lu
dAorQWRkaW5nICJpbnRlcnZhbCIgRXZlbnQgQnJlYWtwb2ludC4uLgorRmlyaW5nICJzZXRJbnRl
cnZhbCIgb24gd2luZG93Li4uCitQQVNTOiBTaG91bGQgcGF1c2UgYmVmb3JlIGV2ZW50IGhhbmRs
ZXIgaXMgcnVuLgorQ0FMTCBTVEFDSzoKKzA6IFtGXSBoYW5kbGVSZXBlYXQKK0FTWU5DIENBTEwg
U1RBQ0s6CisxOiAtLS0gc2V0SW50ZXJ2YWwgLS0tCisyOiBbRl0gcmVwZWF0U2V0SW50ZXJ2YWwK
KzM6IFtQXSBHbG9iYWwgQ29kZQorUEFTUzogU2hvdWxkIHBhdXNlIGJlZm9yZSBldmVudCBoYW5k
bGVyIGlzIHJ1bi4KK0NBTEwgU1RBQ0s6CiswOiBbRl0gaGFuZGxlUmVwZWF0CitBU1lOQyBDQUxM
IFNUQUNLOgorMTogLS0tIHNldEludGVydmFsIC0tLQorMjogW0ZdIHJlcGVhdFNldEludGVydmFs
CiszOiBbUF0gR2xvYmFsIENvZGUKKy0tIFJ1bm5pbmcgdGVzdCB0ZWFyZG93bi4KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC1pbnRlcnZhbC1i
cmVha3BvaW50cy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVu
dC1pbnRlcnZhbC1icmVha3BvaW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIzYjJhZmZlODY0ZmMwMjc5
YWE4ODllMjY0ZTgzYjdjMWM4OGM0NjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWludGVydmFsLWJyZWFrcG9pbnRzLmh0bWwKQEAg
LTAsMCArMSwxNTQgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvaW5zcGVjdG9yLXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2RlYnVnZ2VyL3Jlc291cmNlcy9sb2ctYWN0
aXZlLXN0YWNrLXRyYWNlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZXZl
bnQtYnJlYWtwb2ludC11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworbGV0IGlu
dGVydmFsSUQgPSBOYU47CisKK2Z1bmN0aW9uIGhhbmRsZVdpbmRvd19zZXRJbnRlcnZhbCgpIHsK
KyAgICBUZXN0UGFnZS5kaXNwYXRjaEV2ZW50VG9Gcm9udGVuZCgiVGVzdFBhZ2Utc2V0SW50ZXJ2
YWwiKTsKKworICAgIHJlcGVhdENsZWFySW50ZXJ2YWwoKTsKK30KKworZnVuY3Rpb24gaGFuZGxl
UmVwZWF0KCkgeworfQorCitmdW5jdGlvbiB0cmlnZ2VyX3NldEludGVydmFsKCkgeworICAgIGlu
dGVydmFsSUQgPSBzZXRJbnRlcnZhbChoYW5kbGVXaW5kb3dfc2V0SW50ZXJ2YWwsIDEwMCk7Cit9
CisKK2Z1bmN0aW9uIHJlcGVhdFNldEludGVydmFsKCkgeworICAgIGludGVydmFsSUQgPSBzZXRJ
bnRlcnZhbChoYW5kbGVSZXBlYXQsIDEwMCk7Cit9CisKK2Z1bmN0aW9uIHJlcGVhdENsZWFySW50
ZXJ2YWwoKSB7CisgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbElEKTsKKyAgICBpbnRlcnZhbElE
ID0gTmFOOworfQorCitmdW5jdGlvbiB0ZXN0KCkgeworICAgIGNvbnN0IGV2ZW50TmFtZSA9ICJz
ZXRJbnRlcnZhbCI7CisKKyAgICBsZXQgc3VpdGUgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZUFzeW5j
U3VpdGUoIkRPTURlYnVnZ2VyLkV2ZW50LlRpbWVyIik7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2Fz
ZSh7CisgICAgICAgIG5hbWU6IGBET01EZWJ1Z2dlci5FdmVudC5JbnRlcnZhbC5BZGRCcmVha3Bv
aW50YCwKKyAgICAgICAgZGVzY3JpcHRpb246ICJDaGVjayB0aGF0IHRoZSBkZWJ1Z2dlciBwYXVz
ZXMgZm9yIGVuYWJsZWQgYnJlYWtwb2ludHMuIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWpl
Y3QpIHsKKyAgICAgICAgICAgIGxldCBwYXVzZWQgPSBmYWxzZTsKKworICAgICAgICAgICAgbGV0
IGxpc3RlbmVyID0gV0kuZGVidWdnZXJNYW5hZ2VyLnNpbmdsZUZpcmVFdmVudExpc3RlbmVyKFdJ
LkRlYnVnZ2VyTWFuYWdlci5FdmVudC5QYXVzZWQsIChldmVudCkgPT4geworICAgICAgICAgICAg
ICAgIHBhdXNlZCA9IHRydWU7CisKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnBhc3Mo
IlNob3VsZCBwYXVzZSBiZWZvcmUgZXZlbnQgaGFuZGxlciBpcyBydW4uIik7CisgICAgICAgICAg
ICAgICAgbG9nQWN0aXZlU3RhY2tUcmFjZSgpOworCisgICAgICAgICAgICAgICAgV0kuZGVidWdn
ZXJNYW5hZ2VyLnJlc3VtZSgpCisgICAgICAgICAgICAgICAgLmNhdGNoKHJlamVjdCk7CisgICAg
ICAgICAgICB9KTsKKworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zaW5nbGVGaXJlRXZlbnRM
aXN0ZW5lcihgVGVzdFBhZ2UtJHtldmVudE5hbWV9YCwgKGV2ZW50KSA9PiB7CisgICAgICAgICAg
ICAgICAgaWYgKCFwYXVzZWQpIHsKKyAgICAgICAgICAgICAgICAgICAgV0kuZGVidWdnZXJNYW5h
Z2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCwg
bGlzdGVuZXIpOworCisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZmFpbCgiU2hv
dWxkIHBhdXNlIGJlZm9yZSBldmVudCBoYW5kbGVyIGlzIHJ1bi4iKTsKKyAgICAgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICB9KTsKKworICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYWRkQnJlYWtwb2ludChXSS5k
b21EZWJ1Z2dlck1hbmFnZXIuYWxsSW50ZXJ2YWxzQnJlYWtwb2ludCkKKyAgICAgICAgICAgIC50
aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmF3YWl0RXZlbnQoIndpbmRvdyIsIGV2
ZW50TmFtZSkpCisgICAgICAgICAgICAuY2F0Y2gocmVqZWN0KTsKKyAgICAgICAgfSwKKyAgICAg
ICAgdGVhcmRvd246IEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LnRlYXJkb3duLAorICAg
IH0pOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiBgRE9NRGVidWdn
ZXIuRXZlbnQuSW50ZXJ2YWwuQWRkRGlzYWJsZWRCcmVha3BvaW50YCwKKyAgICAgICAgZGVzY3Jp
cHRpb246ICJDaGVjayB0aGF0IGRlYnVnZ2VyIGRvZXMgbm90IHBhdXNlIGZvciBkaXNhYmxlZCBi
cmVha3BvaW50cy4iLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuZmFpbE9uUGF1c2UocmVzb2x2ZSwgcmVq
ZWN0LCBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uSW50ZXJ2YWwsIGV2ZW50TmFtZSwg
IlNob3VsZCBub3QgcGF1c2UgZm9yIGRpc2FibGVkIGJyZWFrcG9pbnQuIik7CisKKyAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmFkZEJyZWFrcG9pbnQoV0kuZG9tRGVi
dWdnZXJNYW5hZ2VyLmFsbEludGVydmFsc0JyZWFrcG9pbnQpCisgICAgICAgICAgICAudGhlbihJ
bnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5kaXNhYmxlQnJlYWtwb2ludCkKKyAgICAgICAg
ICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmF3YWl0RXZlbnQoIndpbmRv
dyIsIGV2ZW50TmFtZSkpCisgICAgICAgICAgICAuY2F0Y2gocmVqZWN0KTsKKyAgICAgICAgfSwK
KyAgICAgICAgdGVhcmRvd246IEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LnRlYXJkb3du
LAorICAgIH0pOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiBgRE9N
RGVidWdnZXIuRXZlbnQuSW50ZXJ2YWwuUmVtb3ZlQnJlYWtwb2ludGAsCisgICAgICAgIGRlc2Ny
aXB0aW9uOiAiQ2hlY2sgdGhhdCBkZWJ1Z2dlciBkb2VzIG5vdCBwYXVzZSBmb3IgcmVtb3ZlZCBi
cmVha3BvaW50LiIsCisgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5mYWlsT25QYXVzZShyZXNvbHZlLCByZWpl
Y3QsIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5JbnRlcnZhbCwgZXZlbnROYW1lLCAi
U2hvdWxkIG5vdCBwYXVzZSBmb3IgcmVtb3ZlZCBicmVha3BvaW50LiIpOworCisgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hZGRCcmVha3BvaW50KFdJLmRvbURlYnVn
Z2VyTWFuYWdlci5hbGxJbnRlcnZhbHNCcmVha3BvaW50KQorICAgICAgICAgICAgLnRoZW4oSW5z
cGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQucmVtb3ZlQnJlYWtwb2ludCkKKyAgICAgICAgICAg
IC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmF3YWl0RXZlbnQoIndpbmRvdyIs
IGV2ZW50TmFtZSkpCisgICAgICAgICAgICAuY2F0Y2gocmVqZWN0KTsKKyAgICAgICAgfSwKKyAg
ICAgICAgdGVhcmRvd246IEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LnRlYXJkb3duLAor
ICAgIH0pOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiBgRE9NRGVi
dWdnZXIuRXZlbnQuSW50ZXJ2YWwuUmVtb3ZlRGlzYWJsZWRCcmVha3BvaW50YCwKKyAgICAgICAg
ZGVzY3JpcHRpb246ICJDaGVjayB0aGF0IGEgZGlzYWJsZWQgYnJlYWtwb2ludCBjYW4gYmUgcmVt
b3ZlZC4iLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuZmFpbE9uUGF1c2UocmVzb2x2ZSwgcmVqZWN0LCBX
SS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uSW50ZXJ2YWwsIGV2ZW50TmFtZSwgIlNob3Vs
ZCBub3QgcGF1c2UgZm9yIHJlbW92ZWQgZGlzYWJsZWQgYnJlYWtwb2ludC4iKTsKKworICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYWRkQnJlYWtwb2ludChXSS5kb21E
ZWJ1Z2dlck1hbmFnZXIuYWxsSW50ZXJ2YWxzQnJlYWtwb2ludCkKKyAgICAgICAgICAgIC50aGVu
KEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmRpc2FibGVCcmVha3BvaW50KQorICAgICAg
ICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQucmVtb3ZlQnJlYWtwb2lu
dCkKKyAgICAgICAgICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmF3YWl0
RXZlbnQoIndpbmRvdyIsIGV2ZW50TmFtZSkpCisgICAgICAgICAgICAuY2F0Y2gocmVqZWN0KTsK
KyAgICAgICAgfSwKKyAgICAgICAgdGVhcmRvd246IEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3Bv
aW50LnRlYXJkb3duLAorICAgIH0pOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAg
ICBuYW1lOiBgRE9NRGVidWdnZXIuRXZlbnQuSW50ZXJ2YWwuUmVwZWF0RmlyZUJyZWFrcG9pbnRg
LAorICAgICAgICBkZXNjcmlwdGlvbjogIkNoZWNrIHRoYXQgYSBzaW5nbGUgYnJlYWtwb2ludCBw
YXVzZXMgbXVsdGlwbGUgdGltZXMgZm9yIHRoZSBzYW1lIGludGVydmFsLiIsCisgICAgICAgIHRl
c3QocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAgICAgICBsZXQgcGF1c2VDb3VudCA9IDA7CisK
KyAgICAgICAgICAgIGxldCBsaXN0ZW5lciA9IFdJLmRlYnVnZ2VyTWFuYWdlci5hZGRFdmVudExp
c3RlbmVyKFdJLkRlYnVnZ2VyTWFuYWdlci5FdmVudC5QYXVzZWQsIChldmVudCkgPT4geworICAg
ICAgICAgICAgICAgICsrcGF1c2VDb3VudDsKKworICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QucGFzcygiU2hvdWxkIHBhdXNlIGJlZm9yZSBldmVudCBoYW5kbGVyIGlzIHJ1bi4iKTsKKyAg
ICAgICAgICAgICAgICBsb2dBY3RpdmVTdGFja1RyYWNlKCk7CisKKyAgICAgICAgICAgICAgICBX
SS5kZWJ1Z2dlck1hbmFnZXIucmVzdW1lKCkKKyAgICAgICAgICAgICAgICAuY2F0Y2gocmVqZWN0
KTsKKworICAgICAgICAgICAgICAgIGlmIChwYXVzZUNvdW50ID49IDIpIHsKKyAgICAgICAgICAg
ICAgICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuRGVidWdn
ZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCwgbGlzdGVuZXIpOworCisgICAgICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYHJlcGVhdENsZWFySW50ZXJ2YWwoKWApCisg
ICAgICAgICAgICAgICAgICAgIC50aGVuKHJlc29sdmUsIHJlamVjdCkKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJy
ZWFrcG9pbnQuYWRkQnJlYWtwb2ludChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsSW50ZXJ2YWxz
QnJlYWtwb2ludCkKKyAgICAgICAgICAgIC50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmxvZygiRmlyaW5nIFwic2V0SW50ZXJ2YWxcIiBvbiB3aW5kb3cuLi4iKTsK
KyAgICAgICAgICAgICAgICByZXR1cm4gSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgcmVw
ZWF0U2V0SW50ZXJ2YWwoKWApOworICAgICAgICAgICAgfSkKKyAgICAgICAgICAgIC5jYXRjaChy
ZWplY3QpOworICAgICAgICB9LAorICAgICAgICB0ZWFyZG93bjogSW5zcGVjdG9yVGVzdC5FdmVu
dEJyZWFrcG9pbnQudGVhcmRvd24sCisgICAgfSk7CisKKyAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNB
bmRGaW5pc2goKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0
KCkiPgorICAgIDxwPlRlc3RzIGZvciBFdmVudCBUaW1lciBicmVha3BvaW50cy48L3A+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLWRlYnVn
Z2VyL2V2ZW50LWxpc3RlbmVyLWJyZWFrcG9pbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtbGlzdGVuZXItYnJlYWtwb2ludHMtZXhwZWN0
ZWQudHh0CmluZGV4IDc0MzNjOWFjNzQ1OTQ2NTNlOGQxMjRlYjhmZGJmMjA5NDk4ODg3ODIuLjc4
MWI3Y2QyZGQwYTU4MGVlOTk0NTM3OWU0M2FiNjhhYzNhNTBhMmEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtbGlzdGVuZXItYnJlYWtwb2ludHMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZl
bnQtbGlzdGVuZXItYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0CkBAIC0zLDcgKzMsOCBAQCBUZXN0
cyBmb3IgRXZlbnQgTGlzdGVuZXIgYnJlYWtwb2ludHMuCiAKID09IFJ1bm5pbmcgdGVzdCBzdWl0
ZTogRE9NRGVidWdnZXIuRXZlbnQuTGlzdGVuZXIKIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01E
ZWJ1Z2dlci5FdmVudC5MaXN0ZW5lci5BZGRCcmVha3BvaW50ICJjbGljayIKLUFkZGluZyAiY2xp
Y2siIEV2ZW50IEJyZWFrcG9pbnQuLi4KK0NyZWF0aW5nICJjbGljayIgRXZlbnQgQnJlYWtwb2lu
dC4uLgorQWRkaW5nICJsaXN0ZW5lcjpjbGljayIgRXZlbnQgQnJlYWtwb2ludC4uLgogRmlyaW5n
ICJjbGljayIgb24gYm9keS4uLgogUEFTUzogU2hvdWxkIHBhdXNlIGJlZm9yZSBldmVudCBoYW5k
bGVyIGlzIHJ1bi4KIENBTEwgU1RBQ0s6CkBAIC0xMywyOSArMTQsMzMgQEAgQ0FMTCBTVEFDSzoK
IC0tIFJ1bm5pbmcgdGVzdCB0ZWFyZG93bi4KIAogLS0gUnVubmluZyB0ZXN0IGNhc2U6IERPTURl
YnVnZ2VyLkV2ZW50Lkxpc3RlbmVyLkFkZERpc2FibGVkQnJlYWtwb2ludCAiY2xpY2siCi1BZGRp
bmcgImNsaWNrIiBFdmVudCBCcmVha3BvaW50Li4uCi1EaXNhYmxpbmcgImNsaWNrIiBFdmVudCBC
cmVha3BvaW50Li4uCitDcmVhdGluZyAiY2xpY2siIEV2ZW50IEJyZWFrcG9pbnQuLi4KK0FkZGlu
ZyAibGlzdGVuZXI6Y2xpY2siIEV2ZW50IEJyZWFrcG9pbnQuLi4KK0Rpc2FibGluZyAibGlzdGVu
ZXI6Y2xpY2siIEV2ZW50IEJyZWFrcG9pbnQuLi4KIEZpcmluZyAiY2xpY2siIG9uIGJvZHkuLi4K
IFBBU1M6IFNob3VsZCBub3QgcGF1c2UgZm9yIGRpc2FibGVkIGJyZWFrcG9pbnQuCiAtLSBSdW5u
aW5nIHRlc3QgdGVhcmRvd24uCiAKIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01EZWJ1Z2dlci5F
dmVudC5MaXN0ZW5lci5SZW1vdmVCcmVha3BvaW50ICJjbGljayIKLUFkZGluZyAiY2xpY2siIEV2
ZW50IEJyZWFrcG9pbnQuLi4KLVJlbW92aW5nICJjbGljayIgRXZlbnQgQnJlYWtwb2ludC4uLgor
Q3JlYXRpbmcgImNsaWNrIiBFdmVudCBCcmVha3BvaW50Li4uCitBZGRpbmcgImxpc3RlbmVyOmNs
aWNrIiBFdmVudCBCcmVha3BvaW50Li4uCitSZW1vdmluZyAibGlzdGVuZXI6Y2xpY2siIEV2ZW50
IEJyZWFrcG9pbnQuLi4KIEZpcmluZyAiY2xpY2siIG9uIGJvZHkuLi4KIFBBU1M6IFNob3VsZCBu
b3QgcGF1c2UgZm9yIHJlbW92ZWQgYnJlYWtwb2ludC4KIC0tIFJ1bm5pbmcgdGVzdCB0ZWFyZG93
bi4KIAogLS0gUnVubmluZyB0ZXN0IGNhc2U6IERPTURlYnVnZ2VyLkV2ZW50Lkxpc3RlbmVyLlJl
bW92ZURpc2FibGVkQnJlYWtwb2ludCAiY2xpY2siCi1BZGRpbmcgImNsaWNrIiBFdmVudCBCcmVh
a3BvaW50Li4uCi1EaXNhYmxpbmcgImNsaWNrIiBFdmVudCBCcmVha3BvaW50Li4uCi1SZW1vdmlu
ZyAiY2xpY2siIEV2ZW50IEJyZWFrcG9pbnQuLi4KK0NyZWF0aW5nICJjbGljayIgRXZlbnQgQnJl
YWtwb2ludC4uLgorQWRkaW5nICJsaXN0ZW5lcjpjbGljayIgRXZlbnQgQnJlYWtwb2ludC4uLgor
RGlzYWJsaW5nICJsaXN0ZW5lcjpjbGljayIgRXZlbnQgQnJlYWtwb2ludC4uLgorUmVtb3Zpbmcg
Imxpc3RlbmVyOmNsaWNrIiBFdmVudCBCcmVha3BvaW50Li4uCiBGaXJpbmcgImNsaWNrIiBvbiBi
b2R5Li4uCiBQQVNTOiBTaG91bGQgbm90IHBhdXNlIGZvciByZW1vdmVkIGRpc2FibGVkIGJyZWFr
cG9pbnQuCiAtLSBSdW5uaW5nIHRlc3QgdGVhcmRvd24uCiAKIC0tIFJ1bm5pbmcgdGVzdCBjYXNl
OiBET01EZWJ1Z2dlci5FdmVudC5MaXN0ZW5lci5BZGRCcmVha3BvaW50ICJjdXN0b20iCi1BZGRp
bmcgImN1c3RvbSIgRXZlbnQgQnJlYWtwb2ludC4uLgorQ3JlYXRpbmcgImN1c3RvbSIgRXZlbnQg
QnJlYWtwb2ludC4uLgorQWRkaW5nICJsaXN0ZW5lcjpjdXN0b20iIEV2ZW50IEJyZWFrcG9pbnQu
Li4KIEZpcmluZyAiY3VzdG9tIiBvbiBib2R5Li4uCiBQQVNTOiBTaG91bGQgcGF1c2UgYmVmb3Jl
IGV2ZW50IGhhbmRsZXIgaXMgcnVuLgogQ0FMTCBTVEFDSzoKQEAgLTQ1LDI5ICs1MCw1MCBAQCBD
QUxMIFNUQUNLOgogLS0gUnVubmluZyB0ZXN0IHRlYXJkb3duLgogCiAtLSBSdW5uaW5nIHRlc3Qg
Y2FzZTogRE9NRGVidWdnZXIuRXZlbnQuTGlzdGVuZXIuQWRkRGlzYWJsZWRCcmVha3BvaW50ICJj
dXN0b20iCi1BZGRpbmcgImN1c3RvbSIgRXZlbnQgQnJlYWtwb2ludC4uLgotRGlzYWJsaW5nICJj
dXN0b20iIEV2ZW50IEJyZWFrcG9pbnQuLi4KK0NyZWF0aW5nICJjdXN0b20iIEV2ZW50IEJyZWFr
cG9pbnQuLi4KK0FkZGluZyAibGlzdGVuZXI6Y3VzdG9tIiBFdmVudCBCcmVha3BvaW50Li4uCitE
aXNhYmxpbmcgImxpc3RlbmVyOmN1c3RvbSIgRXZlbnQgQnJlYWtwb2ludC4uLgogRmlyaW5nICJj
dXN0b20iIG9uIGJvZHkuLi4KIFBBU1M6IFNob3VsZCBub3QgcGF1c2UgZm9yIGRpc2FibGVkIGJy
ZWFrcG9pbnQuCiAtLSBSdW5uaW5nIHRlc3QgdGVhcmRvd24uCiAKIC0tIFJ1bm5pbmcgdGVzdCBj
YXNlOiBET01EZWJ1Z2dlci5FdmVudC5MaXN0ZW5lci5SZW1vdmVCcmVha3BvaW50ICJjdXN0b20i
Ci1BZGRpbmcgImN1c3RvbSIgRXZlbnQgQnJlYWtwb2ludC4uLgotUmVtb3ZpbmcgImN1c3RvbSIg
RXZlbnQgQnJlYWtwb2ludC4uLgorQ3JlYXRpbmcgImN1c3RvbSIgRXZlbnQgQnJlYWtwb2ludC4u
LgorQWRkaW5nICJsaXN0ZW5lcjpjdXN0b20iIEV2ZW50IEJyZWFrcG9pbnQuLi4KK1JlbW92aW5n
ICJsaXN0ZW5lcjpjdXN0b20iIEV2ZW50IEJyZWFrcG9pbnQuLi4KIEZpcmluZyAiY3VzdG9tIiBv
biBib2R5Li4uCiBQQVNTOiBTaG91bGQgbm90IHBhdXNlIGZvciByZW1vdmVkIGJyZWFrcG9pbnQu
CiAtLSBSdW5uaW5nIHRlc3QgdGVhcmRvd24uCiAKIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01E
ZWJ1Z2dlci5FdmVudC5MaXN0ZW5lci5SZW1vdmVEaXNhYmxlZEJyZWFrcG9pbnQgImN1c3RvbSIK
LUFkZGluZyAiY3VzdG9tIiBFdmVudCBCcmVha3BvaW50Li4uCi1EaXNhYmxpbmcgImN1c3RvbSIg
RXZlbnQgQnJlYWtwb2ludC4uLgotUmVtb3ZpbmcgImN1c3RvbSIgRXZlbnQgQnJlYWtwb2ludC4u
LgorQ3JlYXRpbmcgImN1c3RvbSIgRXZlbnQgQnJlYWtwb2ludC4uLgorQWRkaW5nICJsaXN0ZW5l
cjpjdXN0b20iIEV2ZW50IEJyZWFrcG9pbnQuLi4KK0Rpc2FibGluZyAibGlzdGVuZXI6Y3VzdG9t
IiBFdmVudCBCcmVha3BvaW50Li4uCitSZW1vdmluZyAibGlzdGVuZXI6Y3VzdG9tIiBFdmVudCBC
cmVha3BvaW50Li4uCiBGaXJpbmcgImN1c3RvbSIgb24gYm9keS4uLgogUEFTUzogU2hvdWxkIG5v
dCBwYXVzZSBmb3IgcmVtb3ZlZCBkaXNhYmxlZCBicmVha3BvaW50LgogLS0gUnVubmluZyB0ZXN0
IHRlYXJkb3duLgogCistLSBSdW5uaW5nIHRlc3QgY2FzZTogRE9NRGVidWdnZXIuRXZlbnQuTGlz
dGVuZXIuQWxsRXZlbnRzQnJlYWtwb2ludAorQWRkaW5nICJsaXN0ZW5lciIgRXZlbnQgQnJlYWtw
b2ludC4uLgorRmlyaW5nICJjbGljayIgb24gYm9keS4uLgorUEFTUzogU2hvdWxkIHBhdXNlIGJl
Zm9yZSBldmVudCBoYW5kbGVyIGlzIHJ1bi4KK0NBTEwgU1RBQ0s6CiswOiBbRl0gaGFuZGxlQm9k
eV9jbGljaworMTogW0ZdIHRyaWdnZXJfY2xpY2sKKzI6IFtQXSBHbG9iYWwgQ29kZQorRmlyaW5n
ICJjdXN0b20iIG9uIGJvZHkuLi4KK1BBU1M6IFNob3VsZCBwYXVzZSBiZWZvcmUgZXZlbnQgaGFu
ZGxlciBpcyBydW4uCitDQUxMIFNUQUNLOgorMDogW0ZdIGhhbmRsZUJvZHlfY3VzdG9tCisxOiBb
Rl0gdHJpZ2dlcl9jdXN0b20KKzI6IFtQXSBHbG9iYWwgQ29kZQorUEFTUzogU2hvdWxkIGhhdmUg
cGF1c2VkIHR3aWNlLgorLS0gUnVubmluZyB0ZXN0IHRlYXJkb3duLgorCiAtLSBSdW5uaW5nIHRl
c3QgY2FzZTogRE9NRGVidWdnZXIuRXZlbnQuTGlzdGVuZXIuQWRkTXVsdGlwbGVCcmVha3BvaW50
cwotQWRkaW5nICJjbGljayIgRXZlbnQgQnJlYWtwb2ludC4uLgorQ3JlYXRpbmcgImNsaWNrIiBF
dmVudCBCcmVha3BvaW50Li4uCitBZGRpbmcgImxpc3RlbmVyOmNsaWNrIiBFdmVudCBCcmVha3Bv
aW50Li4uCiBGaXJpbmcgImNsaWNrIiBvbiBkaXYjeC4uLgogUEFTUzogU2hvdWxkIHBhdXNlIGJl
Zm9yZSBldmVudCBoYW5kbGVyIGlzIHJ1bi4KIENBTEwgU1RBQ0s6CkBAIC04Myw3ICsxMDksOCBA
QCBQQVNTOiBTaG91bGQgaGF2ZSBwYXVzZWQgdHdpY2UuCiAtLSBSdW5uaW5nIHRlc3QgdGVhcmRv
d24uCiAKIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01EZWJ1Z2dlci5FdmVudC5MaXN0ZW5lci5E
aXNhYmxlQmV0d2VlbkRpc3BhdGNoZXMKLUFkZGluZyAiY2xpY2siIEV2ZW50IEJyZWFrcG9pbnQu
Li4KK0NyZWF0aW5nICJjbGljayIgRXZlbnQgQnJlYWtwb2ludC4uLgorQWRkaW5nICJsaXN0ZW5l
cjpjbGljayIgRXZlbnQgQnJlYWtwb2ludC4uLgogRmlyaW5nICJjbGljayIgb24gZGl2I3guLi4K
IFBBU1M6IFNob3VsZCBwYXVzZSBiZWZvcmUgZXZlbnQgaGFuZGxlciBpcyBydW4uCiBDQUxMIFNU
QUNLOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVu
dC1saXN0ZW5lci1icmVha3BvaW50cy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1k
ZWJ1Z2dlci9ldmVudC1saXN0ZW5lci1icmVha3BvaW50cy5odG1sCmluZGV4IGNkZWQ5ZTQxYjhl
NDdkMzkwZGZjOGYyM2ZmMWMwZThjYjcxODU1YWMuLmZiYjQ5ODA4ZWZlOTc4Y2I1NWQ0NjE0Mzll
ZTBlYmI4ZGE3YmI1NzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVi
dWdnZXIvZXZlbnQtbGlzdGVuZXItYnJlYWtwb2ludHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWxpc3RlbmVyLWJyZWFrcG9pbnRzLmh0bWwKQEAg
LTU4LDcgKzU4LDcgQEAgZnVuY3Rpb24gdGVzdCgpIHsKICAgICAgICAgICAgICAgICAgICAgcmVz
b2x2ZSgpOwogICAgICAgICAgICAgICAgIH0pOwogCi0gICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5FdmVudEJyZWFrcG9pbnQuYWRkQnJlYWtwb2ludChXSS5FdmVudEJyZWFrcG9pbnQuVHlw
ZS5MaXN0ZW5lciwgZXZlbnROYW1lKQorICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuRXZl
bnRCcmVha3BvaW50LmNyZWF0ZUJyZWFrcG9pbnQoV0kuRXZlbnRCcmVha3BvaW50LlR5cGUuTGlz
dGVuZXIsIGV2ZW50TmFtZSkKICAgICAgICAgICAgICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2
ZW50QnJlYWtwb2ludC5hd2FpdEV2ZW50KCJib2R5IiwgZXZlbnROYW1lKSkKICAgICAgICAgICAg
ICAgICAuY2F0Y2gocmVqZWN0KTsKICAgICAgICAgICAgIH0sCkBAIC02OSw5ICs2OSw5IEBAIGZ1
bmN0aW9uIHRlc3QoKSB7CiAgICAgICAgICAgICBuYW1lOiBgRE9NRGVidWdnZXIuRXZlbnQuTGlz
dGVuZXIuQWRkRGlzYWJsZWRCcmVha3BvaW50ICIke2V2ZW50TmFtZX0iYCwKICAgICAgICAgICAg
IGRlc2NyaXB0aW9uOiAiQ2hlY2sgdGhhdCBkZWJ1Z2dlciBkb2VzIG5vdCBwYXVzZSBmb3IgZGlz
YWJsZWQgYnJlYWtwb2ludHMuIiwKICAgICAgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7
Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuZmFpbE9uUGF1
c2UocmVzb2x2ZSwgcmVqZWN0LCBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uRXZlbnRM
aXN0ZW5lciwgZXZlbnROYW1lLCAiU2hvdWxkIG5vdCBwYXVzZSBmb3IgZGlzYWJsZWQgYnJlYWtw
b2ludC4iKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5m
YWlsT25QYXVzZShyZXNvbHZlLCByZWplY3QsIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNv
bi5MaXN0ZW5lciwgZXZlbnROYW1lLCAiU2hvdWxkIG5vdCBwYXVzZSBmb3IgZGlzYWJsZWQgYnJl
YWtwb2ludC4iKTsKIAotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3Bv
aW50LmFkZEJyZWFrcG9pbnQoV0kuRXZlbnRCcmVha3BvaW50LlR5cGUuTGlzdGVuZXIsIGV2ZW50
TmFtZSkKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5jcmVh
dGVCcmVha3BvaW50KFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkxpc3RlbmVyLCBldmVudE5hbWUp
CiAgICAgICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuZGlz
YWJsZUJyZWFrcG9pbnQpCiAgICAgICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVu
dEJyZWFrcG9pbnQuYXdhaXRFdmVudCgiYm9keSIsIGV2ZW50TmFtZSkpCiAgICAgICAgICAgICAg
ICAgLmNhdGNoKHJlamVjdCk7CkBAIC04Myw5ICs4Myw5IEBAIGZ1bmN0aW9uIHRlc3QoKSB7CiAg
ICAgICAgICAgICBuYW1lOiBgRE9NRGVidWdnZXIuRXZlbnQuTGlzdGVuZXIuUmVtb3ZlQnJlYWtw
b2ludCAiJHtldmVudE5hbWV9ImAsCiAgICAgICAgICAgICBkZXNjcmlwdGlvbjogIkNoZWNrIHRo
YXQgZGVidWdnZXIgZG9lcyBub3QgcGF1c2UgZm9yIHJlbW92ZWQgYnJlYWtwb2ludC4iLAogICAg
ICAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5mYWlsT25QYXVzZShyZXNvbHZlLCByZWplY3QsIFdJLkRl
YnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5FdmVudExpc3RlbmVyLCBldmVudE5hbWUsICJTaG91
bGQgbm90IHBhdXNlIGZvciByZW1vdmVkIGJyZWFrcG9pbnQuIik7CisgICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuZmFpbE9uUGF1c2UocmVzb2x2ZSwgcmVqZWN0
LCBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uTGlzdGVuZXIsIGV2ZW50TmFtZSwgIlNo
b3VsZCBub3QgcGF1c2UgZm9yIHJlbW92ZWQgYnJlYWtwb2ludC4iKTsKIAotICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmFkZEJyZWFrcG9pbnQoV0kuRXZlbnRC
cmVha3BvaW50LlR5cGUuTGlzdGVuZXIsIGV2ZW50TmFtZSkKKyAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5jcmVhdGVCcmVha3BvaW50KFdJLkV2ZW50QnJlYWtw
b2ludC5UeXBlLkxpc3RlbmVyLCBldmVudE5hbWUpCiAgICAgICAgICAgICAgICAgLnRoZW4oSW5z
cGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQucmVtb3ZlQnJlYWtwb2ludCkKICAgICAgICAgICAg
ICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hd2FpdEV2ZW50KCJib2R5
IiwgZXZlbnROYW1lKSkKICAgICAgICAgICAgICAgICAuY2F0Y2gocmVqZWN0KTsKQEAgLTk3LDkg
Kzk3LDkgQEAgZnVuY3Rpb24gdGVzdCgpIHsKICAgICAgICAgICAgIG5hbWU6IGBET01EZWJ1Z2dl
ci5FdmVudC5MaXN0ZW5lci5SZW1vdmVEaXNhYmxlZEJyZWFrcG9pbnQgIiR7ZXZlbnROYW1lfSJg
LAogICAgICAgICAgICAgZGVzY3JpcHRpb246ICJDaGVjayB0aGF0IGEgZGlzYWJsZWQgYnJlYWtw
b2ludCBjYW4gYmUgcmVtb3ZlZC4iLAogICAgICAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3Qp
IHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5mYWlsT25Q
YXVzZShyZXNvbHZlLCByZWplY3QsIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5FdmVu
dExpc3RlbmVyLCBldmVudE5hbWUsICJTaG91bGQgbm90IHBhdXNlIGZvciByZW1vdmVkIGRpc2Fi
bGVkIGJyZWFrcG9pbnQuIik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJy
ZWFrcG9pbnQuZmFpbE9uUGF1c2UocmVzb2x2ZSwgcmVqZWN0LCBXSS5EZWJ1Z2dlck1hbmFnZXIu
UGF1c2VSZWFzb24uTGlzdGVuZXIsIGV2ZW50TmFtZSwgIlNob3VsZCBub3QgcGF1c2UgZm9yIHJl
bW92ZWQgZGlzYWJsZWQgYnJlYWtwb2ludC4iKTsKIAotICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuRXZlbnRCcmVha3BvaW50LmFkZEJyZWFrcG9pbnQoV0kuRXZlbnRCcmVha3BvaW50LlR5
cGUuTGlzdGVuZXIsIGV2ZW50TmFtZSkKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LkV2
ZW50QnJlYWtwb2ludC5jcmVhdGVCcmVha3BvaW50KFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkxp
c3RlbmVyLCBldmVudE5hbWUpCiAgICAgICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5F
dmVudEJyZWFrcG9pbnQuZGlzYWJsZUJyZWFrcG9pbnQpCiAgICAgICAgICAgICAgICAgLnRoZW4o
SW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQucmVtb3ZlQnJlYWtwb2ludCkKICAgICAgICAg
ICAgICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hd2FpdEV2ZW50KCJi
b2R5IiwgZXZlbnROYW1lKSkKQEAgLTExMiw2ICsxMTIsNDIgQEAgZnVuY3Rpb24gdGVzdCgpIHsK
ICAgICBhZGRUZXN0Q2FzZXNGb3JFdmVudE5hbWUoImNsaWNrIik7CiAgICAgYWRkVGVzdENhc2Vz
Rm9yRXZlbnROYW1lKCJjdXN0b20iKTsKIAorICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAg
ICAgbmFtZTogYERPTURlYnVnZ2VyLkV2ZW50Lkxpc3RlbmVyLkFsbEV2ZW50c0JyZWFrcG9pbnRg
LAorICAgICAgICBkZXNjcmlwdGlvbjogIkNoZWNrIHRoYXQgdGhlIGFsbCBldmVudHMgYnJlYWtw
b2ludCBwYXVzZXMgZm9yIGV2ZXJ5IGV2ZW50LiIsCisgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVq
ZWN0KSB7CisgICAgICAgICAgICBsZXQgcGF1c2VDb3VudCA9IDA7CisKKyAgICAgICAgICAgIGxl
dCBsaXN0ZW5lciA9IFdJLmRlYnVnZ2VyTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkRlYnVn
Z2VyTWFuYWdlci5FdmVudC5QYXVzZWQsIChldmVudCkgPT4geworICAgICAgICAgICAgICAgICsr
cGF1c2VDb3VudDsKKworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QucGFzcygiU2hvdWxk
IHBhdXNlIGJlZm9yZSBldmVudCBoYW5kbGVyIGlzIHJ1bi4iKTsKKyAgICAgICAgICAgICAgICBs
b2dBY3RpdmVTdGFja1RyYWNlKCk7CisKKyAgICAgICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFn
ZXIucmVzdW1lKCkKKyAgICAgICAgICAgICAgICAuY2F0Y2gocmVqZWN0KTsKKyAgICAgICAgICAg
IH0pOworCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hZGRCcmVh
a3BvaW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxMaXN0ZW5lcnNCcmVha3BvaW50KQorICAg
ICAgICAgICAgLnRoZW4oKCkgPT4geworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9n
KCJGaXJpbmcgXCJjbGlja1wiIG9uIGJvZHkuLi4iKTsKKyAgICAgICAgICAgICAgICByZXR1cm4g
SW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgdHJpZ2dlcl9jbGljaygpYCk7CisgICAgICAg
ICAgICB9KQorICAgICAgICAgICAgLnRoZW4oKCkgPT4geworICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QubG9nKCJGaXJpbmcgXCJjdXN0b21cIiBvbiBib2R5Li4uIik7CisgICAgICAgICAg
ICAgICAgcmV0dXJuIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYHRyaWdnZXJfY3VzdG9t
KClgKTsKKyAgICAgICAgICAgIH0pCisgICAgICAgICAgICAudGhlbigoKSA9PiB7CisgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChwYXVzZUNvdW50LCAyLCAiU2hvdWxk
IGhhdmUgcGF1c2VkIHR3aWNlLiIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNz
ZXJ0KCFXSS5kZWJ1Z2dlck1hbmFnZXIucGF1c2VkLCAiU2hvdWxkIG5vdCBiZSBwYXVzZWQuIik7
CisKKyAgICAgICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5l
cihXSS5EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuUGF1c2VkLCBsaXN0ZW5lcik7CisgICAgICAgICAg
ICB9KQorICAgICAgICAgICAgLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTsKKyAgICAgICAgfSwKKyAg
ICAgICAgdGVhcmRvd246IEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LnRlYXJkb3duLAor
ICAgIH0pOworCiAgICAgc3VpdGUuYWRkVGVzdENhc2UoewogICAgICAgICBuYW1lOiBgRE9NRGVi
dWdnZXIuRXZlbnQuTGlzdGVuZXIuQWRkTXVsdGlwbGVCcmVha3BvaW50c2AsCiAgICAgICAgIGRl
c2NyaXB0aW9uOiAiQ2hlY2sgdGhhdCBhIHNpbmdsZSBicmVha3BvaW50IHBhdXNlcyBmb3IgZXZl
cnkgZXZlbnQgb2YgdGhhdCB0eXBlLiIsCkBAIC0xMzcsNyArMTczLDcgQEAgZnVuY3Rpb24gdGVz
dCgpIHsKICAgICAgICAgICAgICAgICByZXNvbHZlKCk7CiAgICAgICAgICAgICB9KTsKIAotICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYWRkQnJlYWtwb2ludChXSS5F
dmVudEJyZWFrcG9pbnQuVHlwZS5MaXN0ZW5lciwgImNsaWNrIikKKyAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmNyZWF0ZUJyZWFrcG9pbnQoV0kuRXZlbnRCcmVha3Bv
aW50LlR5cGUuTGlzdGVuZXIsICJjbGljayIpCiAgICAgICAgICAgICAudGhlbigoKSA9PiB7CiAg
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkZpcmluZyBcImNsaWNrXCIgb24gZGl2
I3guLi4iKTsKICAgICAgICAgICAgICAgICByZXR1cm4gSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUlu
UGFnZShgY2xpY2tYKClgKTsKQEAgLTE3NSw3ICsyMTEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkgewog
ICAgICAgICAgICAgICAgIC50aGVuKHJlc29sdmUsIHJlamVjdCk7CiAgICAgICAgICAgICB9KTsK
IAotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYWRkQnJlYWtwb2lu
dChXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5MaXN0ZW5lciwgImNsaWNrIikKKyAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmNyZWF0ZUJyZWFrcG9pbnQoV0kuRXZlbnRC
cmVha3BvaW50LlR5cGUuTGlzdGVuZXIsICJjbGljayIpCiAgICAgICAgICAgICAudGhlbigoKSA9
PiB7CiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkZpcmluZyBcImNsaWNrXCIg
b24gZGl2I3guLi4iKTsKICAgICAgICAgICAgICAgICByZXR1cm4gSW5zcGVjdG9yVGVzdC5ldmFs
dWF0ZUluUGFnZShgY2xpY2tYKClgKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9kb20tZGVidWdnZXIvZXZlbnQtdGltZW91dC1icmVha3BvaW50cy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LXRpbWVvdXQtYnJlYWtwb2lu
dHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNhNWQwMTBkZWVjOWFhNDljYmJiNDFiNGU0ZWEz
ZmNiNDhkM2E3ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9t
LWRlYnVnZ2VyL2V2ZW50LXRpbWVvdXQtYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzggQEAKK1Rlc3RzIGZvciBFdmVudCBUaW1lciBicmVha3BvaW50cy4KKworCis9PSBSdW5u
aW5nIHRlc3Qgc3VpdGU6IERPTURlYnVnZ2VyLkV2ZW50LlRpbWVyCistLSBSdW5uaW5nIHRlc3Qg
Y2FzZTogRE9NRGVidWdnZXIuRXZlbnQuVGltZW91dC5BZGRCcmVha3BvaW50CitBZGRpbmcgInRp
bWVvdXQiIEV2ZW50IEJyZWFrcG9pbnQuLi4KK0ZpcmluZyAic2V0VGltZW91dCIgb24gd2luZG93
Li4uCitQQVNTOiBTaG91bGQgcGF1c2UgYmVmb3JlIGV2ZW50IGhhbmRsZXIgaXMgcnVuLgorQ0FM
TCBTVEFDSzoKKzA6IFtGXSBoYW5kbGVXaW5kb3dfc2V0VGltZW91dAorQVNZTkMgQ0FMTCBTVEFD
SzoKKzE6IC0tLSBzZXRUaW1lb3V0IC0tLQorMjogW0ZdIHRyaWdnZXJfc2V0VGltZW91dAorMzog
W1BdIEdsb2JhbCBDb2RlCistLSBSdW5uaW5nIHRlc3QgdGVhcmRvd24uCisKKy0tIFJ1bm5pbmcg
dGVzdCBjYXNlOiBET01EZWJ1Z2dlci5FdmVudC5UaW1lb3V0LkFkZERpc2FibGVkQnJlYWtwb2lu
dAorQWRkaW5nICJ0aW1lb3V0IiBFdmVudCBCcmVha3BvaW50Li4uCitEaXNhYmxpbmcgInRpbWVv
dXQiIEV2ZW50IEJyZWFrcG9pbnQuLi4KK0ZpcmluZyAic2V0VGltZW91dCIgb24gd2luZG93Li4u
CitQQVNTOiBTaG91bGQgbm90IHBhdXNlIGZvciBkaXNhYmxlZCBicmVha3BvaW50LgorLS0gUnVu
bmluZyB0ZXN0IHRlYXJkb3duLgorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogRE9NRGVidWdnZXIu
RXZlbnQuVGltZW91dC5SZW1vdmVCcmVha3BvaW50CitBZGRpbmcgInRpbWVvdXQiIEV2ZW50IEJy
ZWFrcG9pbnQuLi4KK1JlbW92aW5nICJ0aW1lb3V0IiBFdmVudCBCcmVha3BvaW50Li4uCitGaXJp
bmcgInNldFRpbWVvdXQiIG9uIHdpbmRvdy4uLgorUEFTUzogU2hvdWxkIG5vdCBwYXVzZSBmb3Ig
cmVtb3ZlZCBicmVha3BvaW50LgorLS0gUnVubmluZyB0ZXN0IHRlYXJkb3duLgorCistLSBSdW5u
aW5nIHRlc3QgY2FzZTogRE9NRGVidWdnZXIuRXZlbnQuVGltZW91dC5SZW1vdmVEaXNhYmxlZEJy
ZWFrcG9pbnQKK0FkZGluZyAidGltZW91dCIgRXZlbnQgQnJlYWtwb2ludC4uLgorRGlzYWJsaW5n
ICJ0aW1lb3V0IiBFdmVudCBCcmVha3BvaW50Li4uCitSZW1vdmluZyAidGltZW91dCIgRXZlbnQg
QnJlYWtwb2ludC4uLgorRmlyaW5nICJzZXRUaW1lb3V0IiBvbiB3aW5kb3cuLi4KK1BBU1M6IFNo
b3VsZCBub3QgcGF1c2UgZm9yIHJlbW92ZWQgZGlzYWJsZWQgYnJlYWtwb2ludC4KKy0tIFJ1bm5p
bmcgdGVzdCB0ZWFyZG93bi4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Rv
bS1kZWJ1Z2dlci9ldmVudC10aW1lb3V0LWJyZWFrcG9pbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LXRpbWVvdXQtYnJlYWtwb2ludHMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hNDFlY2Q2OWVjYjdkMTM4NGQwNzdiOTUwY2MxMDA1N2FlNDEwMDkxCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC10aW1l
b3V0LWJyZWFrcG9pbnRzLmh0bWwKQEAgLTAsMCArMSwxMDUgQEAKKzwhZG9jdHlwZSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9y
ZXNvdXJjZXMvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2Rl
YnVnZ2VyL3Jlc291cmNlcy9sb2ctYWN0aXZlLXN0YWNrLXRyYWNlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvZXZlbnQtYnJlYWtwb2ludC11dGlsaXRpZXMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gaGFuZGxlV2luZG93X3NldFRpbWVvdXQoKSB7Cisg
ICAgVGVzdFBhZ2UuZGlzcGF0Y2hFdmVudFRvRnJvbnRlbmQoIlRlc3RQYWdlLXNldFRpbWVvdXQi
KTsKK30KKworZnVuY3Rpb24gdHJpZ2dlcl9zZXRUaW1lb3V0KCkgeworICAgIHNldFRpbWVvdXQo
aGFuZGxlV2luZG93X3NldFRpbWVvdXQsIDEwMCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKSB7Cisg
ICAgY29uc3QgZXZlbnROYW1lID0gInNldFRpbWVvdXQiOworCisgICAgbGV0IHN1aXRlID0gSW5z
cGVjdG9yVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJET01EZWJ1Z2dlci5FdmVudC5UaW1lciIpOwor
CisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiBgRE9NRGVidWdnZXIuRXZl
bnQuVGltZW91dC5BZGRCcmVha3BvaW50YCwKKyAgICAgICAgZGVzY3JpcHRpb246ICJDaGVjayB0
aGF0IHRoZSBkZWJ1Z2dlciBwYXVzZXMgZm9yIGVuYWJsZWQgYnJlYWtwb2ludHMuIiwKKyAgICAg
ICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAgICAgICAgICAgIGxldCBwYXVzZWQgPSBmYWxz
ZTsKKworICAgICAgICAgICAgbGV0IGxpc3RlbmVyID0gV0kuZGVidWdnZXJNYW5hZ2VyLnNpbmds
ZUZpcmVFdmVudExpc3RlbmVyKFdJLkRlYnVnZ2VyTWFuYWdlci5FdmVudC5QYXVzZWQsIChldmVu
dCkgPT4geworICAgICAgICAgICAgICAgIHBhdXNlZCA9IHRydWU7CisKKyAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LnBhc3MoIlNob3VsZCBwYXVzZSBiZWZvcmUgZXZlbnQgaGFuZGxlciBp
cyBydW4uIik7CisgICAgICAgICAgICAgICAgbG9nQWN0aXZlU3RhY2tUcmFjZSgpOworCisgICAg
ICAgICAgICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLnJlc3VtZSgpCisgICAgICAgICAgICAgICAg
LmNhdGNoKHJlamVjdCk7CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5zaW5nbGVGaXJlRXZlbnRMaXN0ZW5lcihgVGVzdFBhZ2UtJHtldmVudE5hbWV9YCwgKGV2
ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgaWYgKCFwYXVzZWQpIHsKKyAgICAgICAgICAgICAg
ICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuRGVidWdnZXJN
YW5hZ2VyLkV2ZW50LlBhdXNlZCwgbGlzdGVuZXIpOworCisgICAgICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuZmFpbCgiU2hvdWxkIHBhdXNlIGJlZm9yZSBldmVudCBoYW5kbGVyIGlzIHJ1
bi4iKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICByZXNvbHZlKCk7Cisg
ICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9p
bnQuYWRkQnJlYWtwb2ludChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsVGltZW91dHNCcmVha3Bv
aW50KQorICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYXdh
aXRFdmVudCgid2luZG93IiwgZXZlbnROYW1lKSkKKyAgICAgICAgICAgIC5jYXRjaChyZWplY3Qp
OworICAgICAgICB9LAorICAgICAgICB0ZWFyZG93bjogSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFr
cG9pbnQudGVhcmRvd24sCisgICAgfSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAg
ICAgIG5hbWU6IGBET01EZWJ1Z2dlci5FdmVudC5UaW1lb3V0LkFkZERpc2FibGVkQnJlYWtwb2lu
dGAsCisgICAgICAgIGRlc2NyaXB0aW9uOiAiQ2hlY2sgdGhhdCBkZWJ1Z2dlciBkb2VzIG5vdCBw
YXVzZSBmb3IgZGlzYWJsZWQgYnJlYWtwb2ludHMuIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCBy
ZWplY3QpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmZhaWxP
blBhdXNlKHJlc29sdmUsIHJlamVjdCwgV0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVhc29uLlRp
bWVvdXQsIGV2ZW50TmFtZSwgIlNob3VsZCBub3QgcGF1c2UgZm9yIGRpc2FibGVkIGJyZWFrcG9p
bnQuIik7CisKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmFkZEJy
ZWFrcG9pbnQoV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbFRpbWVvdXRzQnJlYWtwb2ludCkKKyAg
ICAgICAgICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmRpc2FibGVCcmVh
a3BvaW50KQorICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQu
YXdhaXRFdmVudCgid2luZG93IiwgZXZlbnROYW1lKSkKKyAgICAgICAgICAgIC5jYXRjaChyZWpl
Y3QpOworICAgICAgICB9LAorICAgICAgICB0ZWFyZG93bjogSW5zcGVjdG9yVGVzdC5FdmVudEJy
ZWFrcG9pbnQudGVhcmRvd24sCisgICAgfSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7Cisg
ICAgICAgIG5hbWU6IGBET01EZWJ1Z2dlci5FdmVudC5UaW1lb3V0LlJlbW92ZUJyZWFrcG9pbnRg
LAorICAgICAgICBkZXNjcmlwdGlvbjogIkNoZWNrIHRoYXQgZGVidWdnZXIgZG9lcyBub3QgcGF1
c2UgZm9yIHJlbW92ZWQgYnJlYWtwb2ludC4iLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVj
dCkgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuZmFpbE9uUGF1
c2UocmVzb2x2ZSwgcmVqZWN0LCBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uVGltZW91
dCwgZXZlbnROYW1lLCAiU2hvdWxkIG5vdCBwYXVzZSBmb3IgcmVtb3ZlZCBicmVha3BvaW50LiIp
OworCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hZGRCcmVha3Bv
aW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxUaW1lb3V0c0JyZWFrcG9pbnQpCisgICAgICAg
ICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5yZW1vdmVCcmVha3BvaW50
KQorICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYXdhaXRF
dmVudCgid2luZG93IiwgZXZlbnROYW1lKSkKKyAgICAgICAgICAgIC5jYXRjaChyZWplY3QpOwor
ICAgICAgICB9LAorICAgICAgICB0ZWFyZG93bjogSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9p
bnQudGVhcmRvd24sCisgICAgfSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAg
IG5hbWU6IGBET01EZWJ1Z2dlci5FdmVudC5UaW1lb3V0LlJlbW92ZURpc2FibGVkQnJlYWtwb2lu
dGAsCisgICAgICAgIGRlc2NyaXB0aW9uOiAiQ2hlY2sgdGhhdCBhIGRpc2FibGVkIGJyZWFrcG9p
bnQgY2FuIGJlIHJlbW92ZWQuIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmZhaWxPblBhdXNlKHJlc29s
dmUsIHJlamVjdCwgV0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVhc29uLlRpbWVvdXQsIGV2ZW50
TmFtZSwgIlNob3VsZCBub3QgcGF1c2UgZm9yIHJlbW92ZWQgZGlzYWJsZWQgYnJlYWtwb2ludC4i
KTsKKworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYWRkQnJlYWtw
b2ludChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsVGltZW91dHNCcmVha3BvaW50KQorICAgICAg
ICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuZGlzYWJsZUJyZWFrcG9p
bnQpCisgICAgICAgICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5yZW1v
dmVCcmVha3BvaW50KQorICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFr
cG9pbnQuYXdhaXRFdmVudCgid2luZG93IiwgZXZlbnROYW1lKSkKKyAgICAgICAgICAgIC5jYXRj
aChyZWplY3QpOworICAgICAgICB9LAorICAgICAgICB0ZWFyZG93bjogSW5zcGVjdG9yVGVzdC5F
dmVudEJyZWFrcG9pbnQudGVhcmRvd24sCisgICAgfSk7CisKKyAgICBzdWl0ZS5ydW5UZXN0Q2Fz
ZXNBbmRGaW5pc2goKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5U
ZXN0KCkiPgorICAgIDxwPlRlc3RzIGZvciBFdmVudCBUaW1lciBicmVha3BvaW50cy48L3A+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLWRl
YnVnZ2VyL2V2ZW50LXRpbWVyLWJyZWFrcG9pbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtdGltZXItYnJlYWtwb2ludHMtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3OGRjNDEzMjc2MDE1MDQxYzBjNWQw
NWFjOTEzMTIzZjYzMWQyYWJmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtdGltZXIt
YnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsOTEgKzAsMCBAQAot
VGVzdHMgZm9yIEV2ZW50IFRpbWVyIGJyZWFrcG9pbnRzLgotCi0KLT09IFJ1bm5pbmcgdGVzdCBz
dWl0ZTogRE9NRGVidWdnZXIuRXZlbnQuVGltZXIKLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01E
ZWJ1Z2dlci5FdmVudC5UaW1lci5BZGRCcmVha3BvaW50ICJzZXRUaW1lb3V0IgotQWRkaW5nICJz
ZXRUaW1lb3V0IiBFdmVudCBCcmVha3BvaW50Li4uCi1GaXJpbmcgInNldFRpbWVvdXQiIG9uIHdp
bmRvdy4uLgotUEFTUzogU2hvdWxkIHBhdXNlIGJlZm9yZSBldmVudCBoYW5kbGVyIGlzIHJ1bi4K
LUNBTEwgU1RBQ0s6Ci0wOiBbRl0gaGFuZGxlV2luZG93X3NldFRpbWVvdXQKLUFTWU5DIENBTEwg
U1RBQ0s6Ci0xOiAtLS0gc2V0VGltZW91dCAtLS0KLTI6IFtGXSB0cmlnZ2VyX3NldFRpbWVvdXQK
LTM6IFtQXSBHbG9iYWwgQ29kZQotLS0gUnVubmluZyB0ZXN0IHRlYXJkb3duLgotCi0tLSBSdW5u
aW5nIHRlc3QgY2FzZTogRE9NRGVidWdnZXIuRXZlbnQuVGltZXIuQWRkRGlzYWJsZWRCcmVha3Bv
aW50ICJzZXRUaW1lb3V0IgotQWRkaW5nICJzZXRUaW1lb3V0IiBFdmVudCBCcmVha3BvaW50Li4u
Ci1EaXNhYmxpbmcgInNldFRpbWVvdXQiIEV2ZW50IEJyZWFrcG9pbnQuLi4KLUZpcmluZyAic2V0
VGltZW91dCIgb24gd2luZG93Li4uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlIGZvciBkaXNhYmxl
ZCBicmVha3BvaW50LgotLS0gUnVubmluZyB0ZXN0IHRlYXJkb3duLgotCi0tLSBSdW5uaW5nIHRl
c3QgY2FzZTogRE9NRGVidWdnZXIuRXZlbnQuVGltZXIuUmVtb3ZlQnJlYWtwb2ludCAic2V0VGlt
ZW91dCIKLUFkZGluZyAic2V0VGltZW91dCIgRXZlbnQgQnJlYWtwb2ludC4uLgotUmVtb3Zpbmcg
InNldFRpbWVvdXQiIEV2ZW50IEJyZWFrcG9pbnQuLi4KLUZpcmluZyAic2V0VGltZW91dCIgb24g
d2luZG93Li4uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlIGZvciByZW1vdmVkIGJyZWFrcG9pbnQu
Ci0tLSBSdW5uaW5nIHRlc3QgdGVhcmRvd24uCi0KLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01E
ZWJ1Z2dlci5FdmVudC5UaW1lci5SZW1vdmVEaXNhYmxlZEJyZWFrcG9pbnQgInNldFRpbWVvdXQi
Ci1BZGRpbmcgInNldFRpbWVvdXQiIEV2ZW50IEJyZWFrcG9pbnQuLi4KLURpc2FibGluZyAic2V0
VGltZW91dCIgRXZlbnQgQnJlYWtwb2ludC4uLgotUmVtb3ZpbmcgInNldFRpbWVvdXQiIEV2ZW50
IEJyZWFrcG9pbnQuLi4KLUZpcmluZyAic2V0VGltZW91dCIgb24gd2luZG93Li4uCi1QQVNTOiBT
aG91bGQgbm90IHBhdXNlIGZvciByZW1vdmVkIGRpc2FibGVkIGJyZWFrcG9pbnQuCi0tLSBSdW5u
aW5nIHRlc3QgdGVhcmRvd24uCi0KLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01EZWJ1Z2dlci5F
dmVudC5UaW1lci5BZGRCcmVha3BvaW50ICJzZXRJbnRlcnZhbCIKLUFkZGluZyAic2V0SW50ZXJ2
YWwiIEV2ZW50IEJyZWFrcG9pbnQuLi4KLUZpcmluZyAic2V0SW50ZXJ2YWwiIG9uIHdpbmRvdy4u
LgotUEFTUzogU2hvdWxkIHBhdXNlIGJlZm9yZSBldmVudCBoYW5kbGVyIGlzIHJ1bi4KLUNBTEwg
U1RBQ0s6Ci0wOiBbRl0gaGFuZGxlV2luZG93X3NldEludGVydmFsCi1BU1lOQyBDQUxMIFNUQUNL
OgotMTogLS0tIHNldEludGVydmFsIC0tLQotMjogW0ZdIHRyaWdnZXJfc2V0SW50ZXJ2YWwKLTM6
IFtQXSBHbG9iYWwgQ29kZQotLS0gUnVubmluZyB0ZXN0IHRlYXJkb3duLgotCi0tLSBSdW5uaW5n
IHRlc3QgY2FzZTogRE9NRGVidWdnZXIuRXZlbnQuVGltZXIuQWRkRGlzYWJsZWRCcmVha3BvaW50
ICJzZXRJbnRlcnZhbCIKLUFkZGluZyAic2V0SW50ZXJ2YWwiIEV2ZW50IEJyZWFrcG9pbnQuLi4K
LURpc2FibGluZyAic2V0SW50ZXJ2YWwiIEV2ZW50IEJyZWFrcG9pbnQuLi4KLUZpcmluZyAic2V0
SW50ZXJ2YWwiIG9uIHdpbmRvdy4uLgotUEFTUzogU2hvdWxkIG5vdCBwYXVzZSBmb3IgZGlzYWJs
ZWQgYnJlYWtwb2ludC4KLS0tIFJ1bm5pbmcgdGVzdCB0ZWFyZG93bi4KLQotLS0gUnVubmluZyB0
ZXN0IGNhc2U6IERPTURlYnVnZ2VyLkV2ZW50LlRpbWVyLlJlbW92ZUJyZWFrcG9pbnQgInNldElu
dGVydmFsIgotQWRkaW5nICJzZXRJbnRlcnZhbCIgRXZlbnQgQnJlYWtwb2ludC4uLgotUmVtb3Zp
bmcgInNldEludGVydmFsIiBFdmVudCBCcmVha3BvaW50Li4uCi1GaXJpbmcgInNldEludGVydmFs
IiBvbiB3aW5kb3cuLi4KLVBBU1M6IFNob3VsZCBub3QgcGF1c2UgZm9yIHJlbW92ZWQgYnJlYWtw
b2ludC4KLS0tIFJ1bm5pbmcgdGVzdCB0ZWFyZG93bi4KLQotLS0gUnVubmluZyB0ZXN0IGNhc2U6
IERPTURlYnVnZ2VyLkV2ZW50LlRpbWVyLlJlbW92ZURpc2FibGVkQnJlYWtwb2ludCAic2V0SW50
ZXJ2YWwiCi1BZGRpbmcgInNldEludGVydmFsIiBFdmVudCBCcmVha3BvaW50Li4uCi1EaXNhYmxp
bmcgInNldEludGVydmFsIiBFdmVudCBCcmVha3BvaW50Li4uCi1SZW1vdmluZyAic2V0SW50ZXJ2
YWwiIEV2ZW50IEJyZWFrcG9pbnQuLi4KLUZpcmluZyAic2V0SW50ZXJ2YWwiIG9uIHdpbmRvdy4u
LgotUEFTUzogU2hvdWxkIG5vdCBwYXVzZSBmb3IgcmVtb3ZlZCBkaXNhYmxlZCBicmVha3BvaW50
LgotLS0gUnVubmluZyB0ZXN0IHRlYXJkb3duLgotCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogRE9N
RGVidWdnZXIuRXZlbnQuTGlzdGVuZXIuUmVwZWF0RmlyZUJyZWFrcG9pbnQKLUFkZGluZyAic2V0
SW50ZXJ2YWwiIEV2ZW50IEJyZWFrcG9pbnQuLi4KLUZpcmluZyAic2V0SW50ZXJ2YWwiIG9uIHdp
bmRvdy4uLgotUEFTUzogU2hvdWxkIHBhdXNlIGJlZm9yZSBldmVudCBoYW5kbGVyIGlzIHJ1bi4K
LUNBTEwgU1RBQ0s6Ci0wOiBbRl0gaGFuZGxlUmVwZWF0Ci1BU1lOQyBDQUxMIFNUQUNLOgotMTog
LS0tIHNldEludGVydmFsIC0tLQotMjogW0ZdIHJlcGVhdFNldEludGVydmFsCi0zOiBbUF0gR2xv
YmFsIENvZGUKLVBBU1M6IFNob3VsZCBwYXVzZSBiZWZvcmUgZXZlbnQgaGFuZGxlciBpcyBydW4u
Ci1DQUxMIFNUQUNLOgotMDogW0ZdIGhhbmRsZVJlcGVhdAotQVNZTkMgQ0FMTCBTVEFDSzoKLTE6
IC0tLSBzZXRJbnRlcnZhbCAtLS0KLTI6IFtGXSByZXBlYXRTZXRJbnRlcnZhbAotMzogW1BdIEds
b2JhbCBDb2RlCi0tLSBSdW5uaW5nIHRlc3QgdGVhcmRvd24uCi0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtdGltZXItYnJlYWtwb2ludHMuaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtdGltZXItYnJlYWtw
b2ludHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWMzZjZjZmU2NTFhYmVh
MmZiMjc3ZDY4NDQ1ZWU2Mzg1ZWM2YzA5ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50
LXRpbWVyLWJyZWFrcG9pbnRzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNjUgKzAsMCBAQAot
PCFkb2N0eXBlIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vZGVidWdnZXIvcmVzb3VyY2VzL2xvZy1hY3RpdmUtc3RhY2stdHJhY2Uu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9ldmVudC1icmVha3BvaW50LXV0
aWxpdGllcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1sZXQgaW50ZXJ2YWxJRCA9IE5hTjsK
LQotZnVuY3Rpb24gaGFuZGxlV2luZG93X3NldFRpbWVvdXQoKSB7Ci0gICAgVGVzdFBhZ2UuZGlz
cGF0Y2hFdmVudFRvRnJvbnRlbmQoIlRlc3RQYWdlLXNldFRpbWVvdXQiKTsKLX0KLQotZnVuY3Rp
b24gaGFuZGxlV2luZG93X3NldEludGVydmFsKCkgewotICAgIFRlc3RQYWdlLmRpc3BhdGNoRXZl
bnRUb0Zyb250ZW5kKCJUZXN0UGFnZS1zZXRJbnRlcnZhbCIpOwotCi0gICAgcmVwZWF0Q2xlYXJJ
bnRlcnZhbCgpOwotfQotCi1mdW5jdGlvbiBoYW5kbGVSZXBlYXQoKSB7Ci19Ci0KLWZ1bmN0aW9u
IHRyaWdnZXJfc2V0VGltZW91dCgpIHsKLSAgICBzZXRUaW1lb3V0KGhhbmRsZVdpbmRvd19zZXRU
aW1lb3V0LCAxMDApOwotfQotCi1mdW5jdGlvbiB0cmlnZ2VyX3NldEludGVydmFsKCkgewotICAg
IGludGVydmFsSUQgPSBzZXRJbnRlcnZhbChoYW5kbGVXaW5kb3dfc2V0SW50ZXJ2YWwsIDEwMCk7
Ci19Ci0KLWZ1bmN0aW9uIHJlcGVhdFNldEludGVydmFsKCkgewotICAgIGludGVydmFsSUQgPSBz
ZXRJbnRlcnZhbChoYW5kbGVSZXBlYXQsIDEwMCk7Ci19Ci0KLWZ1bmN0aW9uIHJlcGVhdENsZWFy
SW50ZXJ2YWwoKSB7Ci0gICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbElEKTsKLSAgICBpbnRlcnZh
bElEID0gTmFOOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkgewotICAgIGxldCBzdWl0ZSA9IEluc3Bl
Y3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiRE9NRGVidWdnZXIuRXZlbnQuVGltZXIiKTsKLQot
ICAgIGZ1bmN0aW9uIGFkZFRlc3RDYXNlc0ZvckV2ZW50TmFtZShldmVudE5hbWUpIHsKLSAgICAg
ICAgc3VpdGUuYWRkVGVzdENhc2UoewotICAgICAgICAgICAgbmFtZTogYERPTURlYnVnZ2VyLkV2
ZW50LlRpbWVyLkFkZEJyZWFrcG9pbnQgIiR7ZXZlbnROYW1lfSJgLAotICAgICAgICAgICAgZGVz
Y3JpcHRpb246ICJDaGVjayB0aGF0IHRoZSBkZWJ1Z2dlciBwYXVzZXMgZm9yIGVuYWJsZWQgYnJl
YWtwb2ludHMuIiwKLSAgICAgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAg
ICAgICAgICAgbGV0IHBhdXNlZCA9IGZhbHNlOwotCi0gICAgICAgICAgICAgICAgbGV0IGxpc3Rl
bmVyID0gV0kuZGVidWdnZXJNYW5hZ2VyLnNpbmdsZUZpcmVFdmVudExpc3RlbmVyKFdJLkRlYnVn
Z2VyTWFuYWdlci5FdmVudC5QYXVzZWQsIChldmVudCkgPT4gewotICAgICAgICAgICAgICAgICAg
ICBwYXVzZWQgPSB0cnVlOwotCi0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QucGFz
cygiU2hvdWxkIHBhdXNlIGJlZm9yZSBldmVudCBoYW5kbGVyIGlzIHJ1bi4iKTsKLSAgICAgICAg
ICAgICAgICAgICAgbG9nQWN0aXZlU3RhY2tUcmFjZSgpOwotCi0gICAgICAgICAgICAgICAgICAg
IFdJLmRlYnVnZ2VyTWFuYWdlci5yZXN1bWUoKQotICAgICAgICAgICAgICAgICAgICAuY2F0Y2go
cmVqZWN0KTsKLSAgICAgICAgICAgICAgICB9KTsKLQotICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3Quc2luZ2xlRmlyZUV2ZW50TGlzdGVuZXIoYFRlc3RQYWdlLSR7ZXZlbnROYW1lfWAsIChl
dmVudCkgPT4gewotICAgICAgICAgICAgICAgICAgICBpZiAoIXBhdXNlZCkgewotICAgICAgICAg
ICAgICAgICAgICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0ku
RGVidWdnZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCwgbGlzdGVuZXIpOwotCi0gICAgICAgICAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmZhaWwoIlNob3VsZCBwYXVzZSBiZWZvcmUgZXZlbnQg
aGFuZGxlciBpcyBydW4uIik7Ci0gICAgICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAg
ICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0KLSAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hZGRCcmVha3BvaW50KFdJLkV2ZW50QnJl
YWtwb2ludC5UeXBlLlRpbWVyLCBldmVudE5hbWUpCi0gICAgICAgICAgICAgICAgLnRoZW4oSW5z
cGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYXdhaXRFdmVudCgid2luZG93IiwgZXZlbnROYW1l
KSkKLSAgICAgICAgICAgICAgICAuY2F0Y2gocmVqZWN0KTsKLSAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICB0ZWFyZG93bjogSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQudGVhcmRvd24s
Ci0gICAgICAgIH0pOwotCi0gICAgICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKLSAgICAgICAgICAg
IG5hbWU6IGBET01EZWJ1Z2dlci5FdmVudC5UaW1lci5BZGREaXNhYmxlZEJyZWFrcG9pbnQgIiR7
ZXZlbnROYW1lfSJgLAotICAgICAgICAgICAgZGVzY3JpcHRpb246ICJDaGVjayB0aGF0IGRlYnVn
Z2VyIGRvZXMgbm90IHBhdXNlIGZvciBkaXNhYmxlZCBicmVha3BvaW50cy4iLAotICAgICAgICAg
ICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LkV2ZW50QnJlYWtwb2ludC5mYWlsT25QYXVzZShyZXNvbHZlLCByZWplY3QsIFdJLkRlYnVnZ2Vy
TWFuYWdlci5QYXVzZVJlYXNvbi5UaW1lciwgZXZlbnROYW1lLCAiU2hvdWxkIG5vdCBwYXVzZSBm
b3IgZGlzYWJsZWQgYnJlYWtwb2ludC4iKTsKLQotICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuRXZlbnRCcmVha3BvaW50LmFkZEJyZWFrcG9pbnQoV0kuRXZlbnRCcmVha3BvaW50LlR5cGUu
VGltZXIsIGV2ZW50TmFtZSkKLSAgICAgICAgICAgICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2
ZW50QnJlYWtwb2ludC5kaXNhYmxlQnJlYWtwb2ludCkKLSAgICAgICAgICAgICAgICAudGhlbihJ
bnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hd2FpdEV2ZW50KCJ3aW5kb3ciLCBldmVudE5h
bWUpKQotICAgICAgICAgICAgICAgIC5jYXRjaChyZWplY3QpOwotICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgIHRlYXJkb3duOiBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC50ZWFyZG93
biwKLSAgICAgICAgfSk7Ci0KLSAgICAgICAgc3VpdGUuYWRkVGVzdENhc2UoewotICAgICAgICAg
ICAgbmFtZTogYERPTURlYnVnZ2VyLkV2ZW50LlRpbWVyLlJlbW92ZUJyZWFrcG9pbnQgIiR7ZXZl
bnROYW1lfSJgLAotICAgICAgICAgICAgZGVzY3JpcHRpb246ICJDaGVjayB0aGF0IGRlYnVnZ2Vy
IGRvZXMgbm90IHBhdXNlIGZvciByZW1vdmVkIGJyZWFrcG9pbnQuIiwKLSAgICAgICAgICAgIHRl
c3QocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVu
dEJyZWFrcG9pbnQuZmFpbE9uUGF1c2UocmVzb2x2ZSwgcmVqZWN0LCBXSS5EZWJ1Z2dlck1hbmFn
ZXIuUGF1c2VSZWFzb24uVGltZXIsIGV2ZW50TmFtZSwgIlNob3VsZCBub3QgcGF1c2UgZm9yIHJl
bW92ZWQgYnJlYWtwb2ludC4iKTsKLQotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuRXZl
bnRCcmVha3BvaW50LmFkZEJyZWFrcG9pbnQoV0kuRXZlbnRCcmVha3BvaW50LlR5cGUuVGltZXIs
IGV2ZW50TmFtZSkKLSAgICAgICAgICAgICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2ZW50QnJl
YWtwb2ludC5yZW1vdmVCcmVha3BvaW50KQotICAgICAgICAgICAgICAgIC50aGVuKEluc3BlY3Rv
clRlc3QuRXZlbnRCcmVha3BvaW50LmF3YWl0RXZlbnQoIndpbmRvdyIsIGV2ZW50TmFtZSkpCi0g
ICAgICAgICAgICAgICAgLmNhdGNoKHJlamVjdCk7Ci0gICAgICAgICAgICB9LAotICAgICAgICAg
ICAgdGVhcmRvd246IEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LnRlYXJkb3duLAotICAg
ICAgICB9KTsKLQotICAgICAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7Ci0gICAgICAgICAgICBuYW1l
OiBgRE9NRGVidWdnZXIuRXZlbnQuVGltZXIuUmVtb3ZlRGlzYWJsZWRCcmVha3BvaW50ICIke2V2
ZW50TmFtZX0iYCwKLSAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAiQ2hlY2sgdGhhdCBhIGRpc2Fi
bGVkIGJyZWFrcG9pbnQgY2FuIGJlIHJlbW92ZWQuIiwKLSAgICAgICAgICAgIHRlc3QocmVzb2x2
ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9p
bnQuZmFpbE9uUGF1c2UocmVzb2x2ZSwgcmVqZWN0LCBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VS
ZWFzb24uVGltZXIsIGV2ZW50TmFtZSwgIlNob3VsZCBub3QgcGF1c2UgZm9yIHJlbW92ZWQgZGlz
YWJsZWQgYnJlYWtwb2ludC4iKTsKLQotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuRXZl
bnRCcmVha3BvaW50LmFkZEJyZWFrcG9pbnQoV0kuRXZlbnRCcmVha3BvaW50LlR5cGUuVGltZXIs
IGV2ZW50TmFtZSkKLSAgICAgICAgICAgICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2ZW50QnJl
YWtwb2ludC5kaXNhYmxlQnJlYWtwb2ludCkKLSAgICAgICAgICAgICAgICAudGhlbihJbnNwZWN0
b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5yZW1vdmVCcmVha3BvaW50KQotICAgICAgICAgICAgICAg
IC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmF3YWl0RXZlbnQoIndpbmRvdyIs
IGV2ZW50TmFtZSkpCi0gICAgICAgICAgICAgICAgLmNhdGNoKHJlamVjdCk7Ci0gICAgICAgICAg
ICB9LAotICAgICAgICAgICAgdGVhcmRvd246IEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50
LnRlYXJkb3duLAotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBhZGRUZXN0Q2FzZXNGb3JFdmVu
dE5hbWUoInNldFRpbWVvdXQiKTsKLSAgICBhZGRUZXN0Q2FzZXNGb3JFdmVudE5hbWUoInNldElu
dGVydmFsIik7Ci0KLSAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7Ci0gICAgICAgIG5hbWU6IGBET01E
ZWJ1Z2dlci5FdmVudC5MaXN0ZW5lci5SZXBlYXRGaXJlQnJlYWtwb2ludGAsCi0gICAgICAgIGRl
c2NyaXB0aW9uOiAiQ2hlY2sgdGhhdCBhIHNpbmdsZSBicmVha3BvaW50IHBhdXNlcyBtdWx0aXBs
ZSB0aW1lcyBmb3IgdGhlIHNhbWUgaW50ZXJ2YWwuIiwKLSAgICAgICAgdGVzdChyZXNvbHZlLCBy
ZWplY3QpIHsKLSAgICAgICAgICAgIGxldCBwYXVzZUNvdW50ID0gMDsKLQotICAgICAgICAgICAg
bGV0IGxpc3RlbmVyID0gV0kuZGVidWdnZXJNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuRGVi
dWdnZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCwgKGV2ZW50KSA9PiB7Ci0gICAgICAgICAgICAgICAg
KytwYXVzZUNvdW50OwotCi0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5wYXNzKCJTaG91
bGQgcGF1c2UgYmVmb3JlIGV2ZW50IGhhbmRsZXIgaXMgcnVuLiIpOwotICAgICAgICAgICAgICAg
IGxvZ0FjdGl2ZVN0YWNrVHJhY2UoKTsKLQotICAgICAgICAgICAgICAgIFdJLmRlYnVnZ2VyTWFu
YWdlci5yZXN1bWUoKQotICAgICAgICAgICAgICAgIC5jYXRjaChyZWplY3QpOwotCi0gICAgICAg
ICAgICAgICAgaWYgKHBhdXNlQ291bnQgPj0gMikgewotICAgICAgICAgICAgICAgICAgICBXSS5k
ZWJ1Z2dlck1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5EZWJ1Z2dlck1hbmFnZXIuRXZl
bnQuUGF1c2VkLCBsaXN0ZW5lcik7Ci0KLSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5ldmFsdWF0ZUluUGFnZShgcmVwZWF0Q2xlYXJJbnRlcnZhbCgpYCkKLSAgICAgICAgICAgICAg
ICAgICAgLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIH0pOwotCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hZGRC
cmVha3BvaW50KFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLlRpbWVyLCAic2V0SW50ZXJ2YWwiKQot
ICAgICAgICAgICAgLnRoZW4oKCkgPT4gewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
bG9nKCJGaXJpbmcgXCJzZXRJbnRlcnZhbFwiIG9uIHdpbmRvdy4uLiIpOwotICAgICAgICAgICAg
ICAgIHJldHVybiBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGByZXBlYXRTZXRJbnRlcnZh
bCgpYCk7Ci0gICAgICAgICAgICB9KQotICAgICAgICAgICAgLmNhdGNoKHJlamVjdCk7Ci0gICAg
ICAgIH0sCi0gICAgICAgIHRlYXJkb3duOiBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC50
ZWFyZG93biwKLSAgICB9KTsKLQotICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOwot
fQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0gICAgPHA+
VGVzdHMgZm9yIEV2ZW50IFRpbWVyIGJyZWFrcG9pbnRzLjwvcD4KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvcmVzb3VyY2Vz
L2V2ZW50LWJyZWFrcG9pbnQtdXRpbGl0aWVzLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Rv
bS1kZWJ1Z2dlci9yZXNvdXJjZXMvZXZlbnQtYnJlYWtwb2ludC11dGlsaXRpZXMuanMKaW5kZXgg
OWU4NGQ0NzY4MTQzMjk2MzdjNzQ4YmZhZmU4ZTk1ODc5NjQwY2IwOC4uMTliMjVkMWFkZDIwYjJm
NWUwYTFiMmY3ZDgzMzI4ZmZiYmUxNmRjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2RvbS1kZWJ1Z2dlci9yZXNvdXJjZXMvZXZlbnQtYnJlYWtwb2ludC11dGlsaXRpZXMuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9yZXNvdXJjZXMvZXZlbnQt
YnJlYWtwb2ludC11dGlsaXRpZXMuanMKQEAgLTIsOCArMiwxMiBAQCBUZXN0UGFnZS5yZWdpc3Rl
ckluaXRpYWxpemVyKCgpID0+IHsKICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludCA9
IHt9OwogCiAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQudGVhcmRvd24gPSBmdW5j
dGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgbGV0IGJyZWFrcG9pbnRzID0gV0kuZG9t
RGVidWdnZXJNYW5hZ2VyLmV2ZW50QnJlYWtwb2ludHM7Ci0gICAgICAgIGZvciAobGV0IGJyZWFr
cG9pbnQgb2YgYnJlYWtwb2ludHMpCisgICAgICAgIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5yZW1v
dmVFdmVudEJyZWFrcG9pbnQoV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEFuaW1hdGlvbkZyYW1l
c0JyZWFrcG9pbnQpOworICAgICAgICBXSS5kb21EZWJ1Z2dlck1hbmFnZXIucmVtb3ZlRXZlbnRC
cmVha3BvaW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxJbnRlcnZhbHNCcmVha3BvaW50KTsK
KyAgICAgICAgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLnJlbW92ZUV2ZW50QnJlYWtwb2ludChXSS5k
b21EZWJ1Z2dlck1hbmFnZXIuYWxsTGlzdGVuZXJzQnJlYWtwb2ludCk7CisgICAgICAgIFdJLmRv
bURlYnVnZ2VyTWFuYWdlci5yZW1vdmVFdmVudEJyZWFrcG9pbnQoV0kuZG9tRGVidWdnZXJNYW5h
Z2VyLmFsbFRpbWVvdXRzQnJlYWtwb2ludCk7CisKKyAgICAgICAgZm9yIChsZXQgYnJlYWtwb2lu
dCBvZiBXSS5kb21EZWJ1Z2dlck1hbmFnZXIubGlzdGVuZXJCcmVha3BvaW50cykKICAgICAgICAg
ICAgIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5yZW1vdmVFdmVudEJyZWFrcG9pbnQoYnJlYWtwb2lu
dCk7CiAKICAgICAgICAgcmVzb2x2ZSgpOwpAQCAtMTcsNyArMjEsOCBAQCBUZXN0UGFnZS5yZWdp
c3RlckluaXRpYWxpemVyKCgpID0+IHsKIAogICAgICAgICAgICAgbGV0IHRhcmdldERhdGEgPSBX
SS5kZWJ1Z2dlck1hbmFnZXIuZGF0YUZvclRhcmdldChXSS5kZWJ1Z2dlck1hbmFnZXIuYWN0aXZl
Q2FsbEZyYW1lLnRhcmdldCk7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0YXJn
ZXREYXRhLnBhdXNlUmVhc29uID09PSBwYXVzZVJlYXNvbiwgYFBhdXNlIHJlYXNvbiBzaG91bGQg
YmUgIiR7cGF1c2VSZWFzb259Ii5gKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0
KHRhcmdldERhdGEucGF1c2VEYXRhLmV2ZW50TmFtZSA9PT0gZXZlbnROYW1lLCBgUGF1c2UgZGF0
YSBldmVudE5hbWUgc2hvdWxkIGJlICIke2V2ZW50TmFtZX0iLmApOworICAgICAgICAgICAgaWYg
KHRhcmdldERhdGEucGF1c2VEYXRhLmV2ZW50TmFtZSkKKyAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmFzc2VydCh0YXJnZXREYXRhLnBhdXNlRGF0YS5ldmVudE5hbWUgPT09IGV2ZW50TmFt
ZSwgYFBhdXNlIGRhdGEgZXZlbnROYW1lIHNob3VsZCBiZSAiJHtldmVudE5hbWV9Ii5gKTsKIAog
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5mYWlsKG1lc3NhZ2UpOwogICAgICAgICAgICAgbG9n
QWN0aXZlU3RhY2tUcmFjZSgpOwpAQCAtMzcsMTYgKzQyLDE5IEBAIFRlc3RQYWdlLnJlZ2lzdGVy
SW5pdGlhbGl6ZXIoKCkgPT4gewogICAgICAgICB9KTsKICAgICB9OwogCi0gICAgSW5zcGVjdG9y
VGVzdC5FdmVudEJyZWFrcG9pbnQuYWRkQnJlYWtwb2ludCA9IGZ1bmN0aW9uKHR5cGUsIGV2ZW50
TmFtZSkgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZyhgQWRkaW5nICIke2V2ZW50TmFtZX0i
IEV2ZW50IEJyZWFrcG9pbnQuLi5gKTsKKyAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2lu
dC5jcmVhdGVCcmVha3BvaW50ID0gZnVuY3Rpb24odHlwZSwgZXZlbnROYW1lKSB7CisgICAgICAg
IEluc3BlY3RvclRlc3QubG9nKGBDcmVhdGluZyAiJHtldmVudE5hbWV9IiBFdmVudCBCcmVha3Bv
aW50Li4uYCk7CisgICAgICAgIHJldHVybiBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5h
ZGRCcmVha3BvaW50KG5ldyBXSS5FdmVudEJyZWFrcG9pbnQodHlwZSwge2V2ZW50TmFtZX0pKTsK
KyAgICB9OwogCisgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYWRkQnJlYWtwb2lu
dCA9IGZ1bmN0aW9uKGJyZWFrcG9pbnQpIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coYEFk
ZGluZyAiJHticmVha3BvaW50LnR5cGUgKyAoYnJlYWtwb2ludC5ldmVudE5hbWUgPyAiOiIgKyBi
cmVha3BvaW50LmV2ZW50TmFtZSA6ICIiKX0iIEV2ZW50IEJyZWFrcG9pbnQuLi5gKTsKKworICAg
ICAgICBicmVha3BvaW50LmRpc2FibGVkID0gZmFsc2U7CiAgICAgICAgIHJldHVybiBuZXcgUHJv
bWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7Ci0gICAgICAgICAgICBsZXQgYnJlYWtwb2ludCA9
IG5ldyBXSS5FdmVudEJyZWFrcG9pbnQodHlwZSwgZXZlbnROYW1lKTsKLQogICAgICAgICAgICAg
V0kuZG9tRGVidWdnZXJNYW5hZ2VyLmF3YWl0RXZlbnQoV0kuRE9NRGVidWdnZXJNYW5hZ2VyLkV2
ZW50LkV2ZW50QnJlYWtwb2ludEFkZGVkKQogICAgICAgICAgICAgLnRoZW4oKGV2ZW50KSA9PiB7
Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoZXZlbnQuZGF0YS5icmVha3Bv
aW50LnR5cGUgPT09IHR5cGUsIGBCcmVha3BvaW50IHNob3VsZCBiZSBmb3IgZXhwZWN0ZWQgdHlw
ZSAiJHt0eXBlfSIuYCk7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoZXZl
bnQuZGF0YS5icmVha3BvaW50LmV2ZW50TmFtZSA9PT0gZXZlbnROYW1lLCBgQnJlYWtwb2ludCBz
aG91bGQgYmUgZm9yIGV4cGVjdGVkIGV2ZW50IG5hbWUgIiR7ZXZlbnROYW1lfSIuYCk7CisgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoZXZlbnQuZGF0YS5icmVha3BvaW50ID09
PSBicmVha3BvaW50LCAiQWRkZWQgQnJlYWtwb2ludCBzaG91bGQgYmUgZXhwZWN0ZWQgb2JqZWN0
LiIpOwogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCFldmVudC5kYXRhLmJy
ZWFrcG9pbnQuZGlzYWJsZWQsICJCcmVha3BvaW50IHNob3VsZCBub3QgYmUgZGlzYWJsZWQgaW5p
dGlhbGx5LiIpOwogICAgICAgICAgICAgICAgIHJlc29sdmUoYnJlYWtwb2ludCk7CiAgICAgICAg
ICAgICB9KTsKQEAgLTU2LDEzICs2NCwxMyBAQCBUZXN0UGFnZS5yZWdpc3RlckluaXRpYWxpemVy
KCgpID0+IHsKICAgICB9OwogCiAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQucmVt
b3ZlQnJlYWtwb2ludCA9IGZ1bmN0aW9uKGJyZWFrcG9pbnQpIHsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5sb2coYFJlbW92aW5nICIke2JyZWFrcG9pbnQuZXZlbnROYW1lfSIgRXZlbnQgQnJlYWtw
b2ludC4uLmApOworICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZyhgUmVtb3ZpbmcgIiR7YnJlYWtw
b2ludC50eXBlICsgKGJyZWFrcG9pbnQuZXZlbnROYW1lID8gIjoiICsgYnJlYWtwb2ludC5ldmVu
dE5hbWUgOiAiIil9IiBFdmVudCBCcmVha3BvaW50Li4uYCk7CiAKICAgICAgICAgcmV0dXJuIG5l
dyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKICAgICAgICAgICAgIFdJLmRvbURlYnVn
Z2VyTWFuYWdlci5hd2FpdEV2ZW50KFdJLkRPTURlYnVnZ2VyTWFuYWdlci5FdmVudC5FdmVudEJy
ZWFrcG9pbnRSZW1vdmVkKQogICAgICAgICAgICAgLnRoZW4oKGV2ZW50KSA9PiB7CiAgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoZXZlbnQuZGF0YS5icmVha3BvaW50ID09PSBi
cmVha3BvaW50LCAiUmVtb3ZlZCBCcmVha3BvaW50IHNob3VsZCBiZSBleHBlY3RlZCBvYmplY3Qu
Iik7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoIVdJLmRvbURlYnVnZ2Vy
TWFuYWdlci5ldmVudEJyZWFrcG9pbnRzLmluY2x1ZGVzKGJyZWFrcG9pbnQpLCAiQnJlYWtwb2lu
dCBzaG91bGQgbm90IGJlIGluIHRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzLiIpOworICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCFXSS5kb21EZWJ1Z2dlck1hbmFnZXIubGlzdGVu
ZXJCcmVha3BvaW50cy5pbmNsdWRlcyhicmVha3BvaW50KSwgIkJyZWFrcG9pbnQgc2hvdWxkIG5v
dCBiZSBpbiB0aGUgbGlzdCBvZiBicmVha3BvaW50cy4iKTsKICAgICAgICAgICAgICAgICByZXNv
bHZlKGJyZWFrcG9pbnQpOwogICAgICAgICAgICAgfSk7CiAKQEAgLTcxLDcgKzc5LDcgQEAgVGVz
dFBhZ2UucmVnaXN0ZXJJbml0aWFsaXplcigoKSA9PiB7CiAgICAgfTsKIAogICAgIEluc3BlY3Rv
clRlc3QuRXZlbnRCcmVha3BvaW50LmRpc2FibGVCcmVha3BvaW50ID0gZnVuY3Rpb24oYnJlYWtw
b2ludCkgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZyhgRGlzYWJsaW5nICIke2JyZWFrcG9p
bnQuZXZlbnROYW1lfSIgRXZlbnQgQnJlYWtwb2ludC4uLmApOworICAgICAgICBJbnNwZWN0b3JU
ZXN0LmxvZyhgRGlzYWJsaW5nICIke2JyZWFrcG9pbnQudHlwZSArIChicmVha3BvaW50LmV2ZW50
TmFtZSA/ICI6IiArIGJyZWFrcG9pbnQuZXZlbnROYW1lIDogIiIpfSIgRXZlbnQgQnJlYWtwb2lu
dC4uLmApOwogCiAgICAgICAgIGJyZWFrcG9pbnQuZGlzYWJsZWQgPSB0cnVlOwogICAgICAgICBy
ZXR1cm4gYnJlYWtwb2ludDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20v
YnJlYWtwb2ludC1mb3ItZXZlbnQtbGlzdGVuZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2RvbS9icmVha3BvaW50LWZvci1ldmVudC1saXN0ZW5lci1leHBlY3RlZC50eHQK
aW5kZXggNGM1NzQ2YjhmZDAyMzYzMzcxOGVkOGNiMzBkZmJiNTQ0OTY3MmU5Ny4uZGUyYzhkMDll
NjRjNjdmMzA2MWRiOTc1NjRiMzM5YmNmYzI2MmViMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2RvbS9icmVha3BvaW50LWZvci1ldmVudC1saXN0ZW5lci1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9icmVha3BvaW50LWZvci1ldmVudC1saXN0
ZW5lci1leHBlY3RlZC50eHQKQEAgLTksNyArOSw3IEBAIENsaWNraW5nIGJ1dHRvbjIuLi4KIFBB
U1M6IFNob3VsZCBub3QgcGF1c2UgYmVmb3JlIGJ1dHRvbjIgZXZlbnQgaGFuZGxlciBpcyBydW4u
CiBDbGlja2luZyBidXR0b24xLi4uCiBQQVNTOiBTaG91bGQgcGF1c2UgYmVmb3JlIGJ1dHRvbjEg
ZXZlbnQgaGFuZGxlciBpcyBydW4uCi1QQVNTOiBQYXVzZSByZWFzb24gc2hvdWxkIGJlIEV2ZW50
TGlzdGVuZXIuCitQQVNTOiBQYXVzZSByZWFzb24gc2hvdWxkIGJlIExpc3RlbmVyLgogUEFTUzog
UGF1c2UgZGF0YSBldmVudE5hbWUgc2hvdWxkIGJlICJjbGljayIuCiAKIC0tIFJ1bm5pbmcgdGVz
dCBjYXNlOiBET00ucmVtb3ZlQnJlYWtwb2ludEZvckV2ZW50TGlzdGVuZXIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vYnJlYWtwb2ludC1mb3ItZXZlbnQtbGlzdGVuZXIu
aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vYnJlYWtwb2ludC1mb3ItZXZlbnQtbGlz
dGVuZXIuaHRtbAppbmRleCA4NjJjYTUzMTE5MjE1YmIwNzY5Y2Q1ZDE4MmIwMWFkY2ZhNWU5NjQ0
Li4zMjQ4MTExMzI2NDk1NDNkYThjYmI3MTcyYTk1Zjg1MjkzMjljYzI1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL2JyZWFrcG9pbnQtZm9yLWV2ZW50LWxpc3RlbmVyLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9icmVha3BvaW50LWZvci1ldmVudC1s
aXN0ZW5lci5odG1sCkBAIC00Niw3ICs0Niw3IEBAIGZ1bmN0aW9uIHRlc3QoKSB7CiAgICAgICAg
ICAgICAgICAgcGF1c2VkID0gdHJ1ZTsKIAogICAgICAgICAgICAgICAgIGxldCB0YXJnZXREYXRh
ID0gV0kuZGVidWdnZXJNYW5hZ2VyLmRhdGFGb3JUYXJnZXQoV0kuZGVidWdnZXJNYW5hZ2VyLmFj
dGl2ZUNhbGxGcmFtZS50YXJnZXQpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhw
ZWN0RXF1YWwodGFyZ2V0RGF0YS5wYXVzZVJlYXNvbiwgV0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNl
UmVhc29uLkV2ZW50TGlzdGVuZXIsIGBQYXVzZSByZWFzb24gc2hvdWxkIGJlIEV2ZW50TGlzdGVu
ZXIuYCk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbCh0YXJnZXRE
YXRhLnBhdXNlUmVhc29uLCBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uTGlzdGVuZXIs
IGBQYXVzZSByZWFzb24gc2hvdWxkIGJlIExpc3RlbmVyLmApOwogICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuZXhwZWN0RXF1YWwodGFyZ2V0RGF0YS5wYXVzZURhdGEuZXZlbnROYW1lLCAi
Y2xpY2siLCBgUGF1c2UgZGF0YSBldmVudE5hbWUgc2hvdWxkIGJlICJjbGljayIuYCk7CiAKICAg
ICAgICAgICAgICAgICBhd2FpdEdldENsaWNrRXZlbnRMaXN0ZW5lcihidXR0b24xTm9kZS5pZCkK
QEAgLTEwOCw3ICsxMDgsNyBAQCBmdW5jdGlvbiB0ZXN0KCkgewogICAgICAgICAgICAgICAgIHBh
dXNlZCA9IHRydWU7CiAKICAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0RGF0YSA9IFdJLmRlYnVn
Z2VyTWFuYWdlci5kYXRhRm9yVGFyZ2V0KFdJLmRlYnVnZ2VyTWFuYWdlci5hY3RpdmVDYWxsRnJh
bWUudGFyZ2V0KTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0YXJnZXRE
YXRhLnBhdXNlUmVhc29uLCBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uRXZlbnRMaXN0
ZW5lciwgYFBhdXNlIHJlYXNvbiBzaG91bGQgYmUgRXZlbnRMaXN0ZW5lci5gKTsKKyAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0YXJnZXREYXRhLnBhdXNlUmVhc29uLCBXSS5E
ZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uTGlzdGVuZXIsIGBQYXVzZSByZWFzb24gc2hvdWxk
IGJlIExpc3RlbmVyLmApOwogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHRh
cmdldERhdGEucGF1c2VEYXRhLmV2ZW50TmFtZSwgImNsaWNrIiwgYFBhdXNlIGRhdGEgZXZlbnRO
YW1lIHNob3VsZCBiZSAiY2xpY2siLmApOwogCiAgICAgICAgICAgICAgICAgYXdhaXRHZXRDbGlj
a0V2ZW50TGlzdGVuZXIoYnV0dG9uMU5vZGUuaWQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>375213</attachid>
            <date>2019-07-31 00:03:31 -0700</date>
            <delta_ts>2019-07-31 00:03:31 -0700</delta_ts>
            <desc>[Image] After Patch is applied (context menu)</desc>
            <filename>Screen Shot 2019-07-31 at 00.02.43.png</filename>
            <type>image/png</type>
            <size>96321</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">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
s7/tAPtA40GHg7WHGIcqmpCmWU19zeLmzpb0lo7D4w63tQa2Hvph1A87j9gcqTlqfHT5MeqxsmOD
x0uO95+Qneg9mXuyq21q291TE09dPz3hdPuZmDPnfoz88dRZztnj54LOHTkfcP7wBfaF5ou+F5su
+Vw69JPPT4fafdubLvtdbrnif6W1Y2zHsashV09eC7/243Xe9Ys34m503Ey5eftW5q3O28LbT+8U
3Hnxc/HPA3cX3CPcq7ivf7/qgcWDul9cftnb6dt59GH4w0uPkh7d7RJ0PftV8euH7rLH9MdVT6yf
1D/1enqkJ7Lnym+Tfut+Jns20Fv+u8Hvtc+dnx/8I/SPS30T+7pfyF8M/rn0pdnLna/GvGrrT+h/
8Lrw9cCbirdmb3e9Y787+z7t/ZOBGR9IH6o/unxs/RTz6d5g4eCgjC/nq48CGGxoTg4Af+4EgJ4O
AOMKPD9M0tzz1IJo7qZqBP4T1twF1eILQCN8qY7r3BMA7IPNcQHkDgVAdVRPDgWot/dw04oix9tL
w0WDNx7C28HBl5YAkFoB+CgfHBzYODj4cTsM9g4AJ6Zr7pcqIcK7wZZQFbphKlwAvpB/Ab0afziB
asGHAAAAimVYSWZNTQAqAAAACAAEARoABQAAAAEAAAA+ARsABQAAAAEAAABGASgAAwAAAAEAAgAA
h2kABAAAAAEAAABOAAAAAAAAAJAAAAABAAAAkAAAAAEAA5KGAAcAAAASAAAAeKACAAQAAAABAAAB
vKADAAQAAAABAAACOgAAAABBU0NJSQAAAFNjcmVlbnNob3T/DczSAAAACXBIWXMAABYlAAAWJQFJ
UiTwAAAB1mlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9i
ZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpy
ZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8
cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRw
Oi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lv
bj40NDQ8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpVc2VyQ29tbWVudD5T
Y3JlZW5zaG90PC9leGlmOlVzZXJDb21tZW50PgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNp
b24+NTcwPC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAg
IDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cg3WAvEAAAAcaURPVAAAAAIAAAAAAAABHQAAACgAAAEd
AAABHQAAr3E+TJSZAABAAElEQVR4AezdB7xkRZU/8KuiIkHAgArMMGPOEswRQVxzWF3DihGzmLOg
ksw555yzroFo1r+gIoo5AQMDiK7ZNcG6//re93499Xq6+/W8N/OYB3U+n+qqOufUqbqnb5/frbp1
b3ddo+aB5oHmgeaB5oHmgeaB5oHmgeaB5oHmgeaB5oHmgeaB5oHmgeaB5oHmgeaB5oHmgeaB5oHm
geaB5oHmgeaB5oHmgeaB5oHmgeaB5oHmgeaB5oHmgeaB5oHmgeaB5oHmgeaB5oHmgeaB5oHmgXEe
uNA4QeN3F571wb9KHj/h/V9JeMMUHXw60VWPLLbU6URvlL3WP8/N+Dr+i09H+Ss62sSvchRZ8/+M
L9r5d8H4/Y36ncz8ItrnBcIDAmaCXwDlIrNHjq8skcnxwk+7whrYiD5ZbTs6aUMP1Tqt/xmfxDfx
s3rzfzv/nAfOiZwX+S05a1KmE736txWdWg+v1mm/Px6Z8d9M6QLwmRPi/HaofgS5mndsKefKP8eL
78TPTCD81PlHmb3/LSk/mPrKiU7s1OX0WcSt/+KD+DKBJn5p/m/nX35vzgmUes6Z9vs7b+LPzLfR
Pjc7D/hhJJAqJ4XnB5OyfFg+3J6OpF1kchQ7yuFFJzz1mtf6X+e35v92/g3/PurfSsrt97d5xh8x
rtF54IEAT34YGcIWs4X6R5UyUdrlhwWMkLq20Y0emXL4aRe5PDbotv55YZ2/at/hx2/xY3yn3vw/
12/8hWofxm/xozw+pNvOP16Y60c+k1D8Fj/Gd+rt/Jvrt95hsz6LD+O3yJZVbvDLiZysWSpUtvSR
uuNwPHjy8FOmn7Ic0QnlhxAeHSn2ksdu67/5v51/635nfkf17yW/Ezzl9vs7/8Yf3/2yICfj5k7j
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
svPI9j//8z+Hj33sY8M555wzkmHK1snw8Ic/fOqXgMc85jEVuB7wgAfUHOr/pz/9ac1tAt3oRjca
9t332cPd7rZLRMM3vvGN4aijjhq1xxlHrz/zmc/MER933HHDZz/72Tnb0AwA3qMe9ajhoQ956AbA
OidAb/QMbAIZmAU8N/DXlGJrCigFHwJGRVSBKYBlflfYZb7XxpPxgxl4PuRpxz6x2QRfYlNE1Vc9
lQRaLCWwmp/OdQyMDBw4ZdBtXPy4Lz/28dOOXWFHgBk5mZWgOFZ4K8s9vC8s13t4X/3qV4fXvva1
5TKGekrzYQ97WN3KPP7446vs6KOPHm5/+9tXfvxjYwM843vxi188nH766XWoToc6JTpOnpm0ei2H
jYYttthiOPbYY0crsm9961sL3ru06uU/TgE89x3PP//84Ywzzhg3GbVf/vKXjx7jALDyPB8BN2T1
x/bb3/72fOYVmC/vadd5A3Zlz8BGmAG3krbccktbmmeVAvDcgzM3q5F5O+CmRqnpghMBQ+1QdNr4
xIIzeP2g6LTFpm/jlOaG9P8DAAD//xhDav8AAEAASURBVOzdB7xtRXU/8J0EkSgICKJSXhHBEpVm
76JgTewdG9gBu6hIr4K9xI6CioqxxijwIDFWmoLYG8KDBwoItsQgmvz/8513f+fNPe+cew+vXLiw
1+czZ9astWbN7HXPnd+e2TP7/E03Gf1tMft/jSn+b0pap6T/m0rK7ELk9OQo5eWl6bap93dFKcWW
vPVLd5OStvrjH/94yv/7f22XinSe0H777dede+653d/+7d92H/3oR7ub3exm3Xnnnde97GUvq1fw
sIc9rNtzzz1HXs3pp5/RHX74YVX38pe/vNt5550Hdi95yUu6888/v7vlLW/ZffCDHxzIZ2N+9atf
dc9//vOr2QMf+MDula985WxVpulPPPHE7t3vfneVPfvZz+4e//jHT9MrnP2ds7sDDzqwyh/5yEd2
L3zhCyv/k5/8pNt33327v/zlLzUej370o7sdtt+hW+dG63Q/+MEPus9//vPdn/70p2o7fL2ET3rS
k7r/+Z//qXofd7nLXboHPOAB3W1uc5vusssu6z71qU/V2NJtttlm3fve975unXXW6f77v/+7u+ii
i4i717zmNd3//d//ddtss80gDv422267bdWfccaZ3WGHHVp5sX3uc5/X3e5223ZXXnll973vfa/+
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
5J918i+/HXYpAgKvOWg1oLdDA05uUGWDo0cvdqJrTDeykYtO6NELv/vv8c8x5Fjpx58obD2Pcu6g
57zJeZTYGffzb2vcxAuIWWKYuCWOx0L+GSd5EP4I3kEFJ0pWPdkOPZq+/udWVwGhN5H5ShGeAwgf
sFHtTe2S7/4345yYTeOUfSFewfUgsYb3+IvCZkzESEs80+f47cdfP/8uz/zD94GDJJ4DN/HJhBU/
lyPq9iRZSAx4IHw7Kwk2iWTaSyxJKnSnkB1Oht3ufzO+YtXjP0vI/fjr598VJf8k5zm/OxxDEUhh
y5QUxBQmNDggl0tQxpGDA+MA2fBjP/z08RF+dKd63f8sMj3+/fjr51+yxGZ+CSV5xfjyyD+ZR+8P
aARSiFJwbAZa6BnjR0ZfZSJbD8bIhhf5FLqpjcjHX/Qyxo/MVDey3b9ozSCxSmx6/LcmyOkxlHiJ
XmK1EcpxjB+ZqW5i3I+/RGwzVolNYnpQzv/NLenYlTYCq074JAHBcXAbaznApwd+Y83lKi9JAy3/
6Ybf/YvaLK5ikrjoe/wPj0c//vr5N80/zp8OPQI9Aj0CPQI9Aj0CPQI9Aj0CPQI9Aj0CPQI9Aj0C
PQI9Aj0CPQI9Aj0CPQI9Aj0CPQI9Aj0CPQI9Aj0CPQI9Aj0CPQI9Aj0CPQI9Aj0CPQI9Aj0CPQI9
Aj0CPQI9Aj0CPQI9Aj0CPQI9Aj0CPQJrReD/B+CxdAK36NzTAAAAAElFTkSuQmCC
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>375214</attachid>
            <date>2019-07-31 00:03:43 -0700</date>
            <delta_ts>2019-07-31 00:03:43 -0700</delta_ts>
            <desc>[Image] After Patch is applied</desc>
            <filename>Screen Shot 2019-07-31 at 00.03.03.png</filename>
            <type>image/png</type>
            <size>38101</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAZIAAAFKCAYAAAA379m4AAAMTmlDQ1BJQ0MgUHJvZmlsZQAASImV
Vwdck0cbv3dkkrACYcgIe4kyBALICGFFEJApiEpIAgkjxoSg4qYUFaxbRMGFVkUsWgcgdaLWWRS3
dRSlqFRqsYoLle8yoNZ+4/c9v9+97z/PPfd/Ru7uvQNAr5YvkxWg+gAUSovkiVFhrInpGSxSFyAB
DOgAF+DCFyhknISEWABl6P13eX0TIKr3NXcV1z/7/6sYCEUKAQBIAsTZQoWgEOKDAOClApm8CAAi
G+rtZhTJVDgTYiM5DBBimQrnanCZCmdrcLXaJjmRC/EeAMg0Pl+eC4BuC9SzigW5kEf3NsQeUqFE
CoAeGeJggZgvhDga4pGFhdNUGNoB5+zPeHL/xpk9zMnn5w5jTS5qIYdLFLIC/qz/sxz/WwoLlEM+
HGGjieXRiaqcYd1u50+LUWEaxL3S7Lh4iA0hfisRqu0hRqliZXSKxh61ECi4sGaACbGHkB8eA7EF
xJHSgrhYrT47RxLJgxjOEHSmpIiXrB27WKSISNJy1sqnJcYP4Rw5l6Md28iXq/2q7E8r81M4Wv7b
YhFviP9ViTg5DWIqABi1WJIaB7EuxEaK/KQYjQ1mWyLmxg3ZyJWJqvjtIWaLpFFhGn4sM0cemai1
lxUqhvLFysUSXpwWVxeJk6M19cF2C/jq+E0hbhJJOSlDPCLFxNihXISi8AhN7li7SJqizRd7ICsK
S9SO7ZMVJGjtcbKoIEqlt4XYXFGcpB2Ljy2CE1LDj8fKihKSNXHiWXn8cQmaePBiEAu4IBywgBK2
bDAN5AFJe29zL/yl6YkEfCAHuUAE3LWaoRFp6h4pfCaBEvA7RCKgGB4Xpu4VgWKo/zis1TzdQY66
t1g9Ih88hrgQxIAC+FupHiUd9pYKfoUayT+8C2CsBbCp+v6p40BNrFajHOJl6Q1ZEiOI4cRoYiTR
BTfHg/FAPBY+Q2Hzwtm4/1C0f9kTHhM6CI8INwidhDtTJaXyL2IZDzohf6Q24+zPM8YdIacPHoYH
QXbIjDNxc+COj4F+OHgI9OwDtVxt3KrcWf8mz+EMPqu51o7iQUEpJpRQivOXI3VddX2GWVQV/bw+
mlizh6vKHe750j/3szoL4TvmS0tsMXYAO4udxM5jR7BmwMKOYy3YJeyoCg/PoV/Vc2jIW6I6nnzI
I/mHP77Wp6qSCo8Gjx6PD9o+UCSaqdofAXeabJZckisuYnHgzi9i8aSCUSNZXh6e/gCoviOabeol
U/19QJgX/tKVvgIgSDg4OHjkL10sXNMHv4bL/PFfOqdjcDswAeBcpUApL9bocNWDAHcDPbiizIAV
sAPOMCMv4AsCQSiIAONAPEgG6WAKrLMYzmc5mAHmgIWgHFSCFWAt2AA2g21gF/gO7AfN4Ag4CX4E
F8EVcAPchfOnGzwDfeA1GEAQhITQEQZihlgjDogb4oWwkWAkAolFEpF0JAvJRaSIEpmDfIVUIquQ
DchWpB75HjmMnETOIx3IHeQh0oP8ibxHMZSGGqGWqCM6GmWjHDQGTUYno7nodLQELUOXodVoHboH
bUJPohfRG2gn+gztxwCmgzExG8wdY2NcLB7LwHIwOTYPq8CqsDqsEWuF//Q1rBPrxd7hRJyBs3B3
OIej8RRcgE/H5+FL8Q34LrwJP41fwx/iffgnAp1gQXAjBBB4hImEXMIMQjmhirCDcIhwBq6mbsJr
IpHIJDoR/eBqTCfmEWcTlxI3EvcSTxA7iF3EfhKJZEZyIwWR4kl8UhGpnLSetId0nHSV1E16S9Yh
W5O9yJHkDLKUXEquIu8mHyNfJT8hD1D0KQ6UAEo8RUiZRVlO2U5ppVymdFMGqAZUJ2oQNZmaR11I
raY2Us9Q71Ff6ujo2Or460zQkegs0KnW2adzTuehzjuaIc2VxqVl0pS0ZbSdtBO0O7SXdDrdkR5K
z6AX0ZfR6+mn6A/ob3UZuqN0ebpC3fm6NbpNuld1n+tR9Bz0OHpT9Er0qvQO6F3W69Wn6Dvqc/X5
+vP0a/QP69/S7zdgGHgaxBsUGiw12G1w3uCpIcnQ0TDCUGhYZrjN8JRhFwNj2DG4DAHjK8Z2xhlG
txHRyMmIZ5RnVGn0nVG7UZ+xofEY41TjmcY1xkeNO5kY05HJYxYwlzP3M28y35tYmnBMRCZLTBpN
rpq8MR1hGmoqMq0w3Wt6w/S9GcsswizfbKVZs9l9c9zc1XyC+QzzTeZnzHtHGI0IHCEYUTFi/4if
LVALV4tEi9kW2ywuWfRbWllGWcos11uesuy1YlqFWuVZrbE6ZtVjzbAOtpZYr7E+bv0by5jFYRWw
qlmnWX02FjbRNkqbrTbtNgO2TrYptqW2e23v21Ht2HY5dmvs2uz67K3tx9vPsW+w/9mB4sB2EDus
czjr8MbRyTHNcZFjs+NTJ1MnnlOJU4PTPWe6c4jzdOc65+suRBe2S77LRpcrrqirj6vYtcb1shvq
5usmcdvo1jGSMNJ/pHRk3chb7jR3jnuxe4P7w1HMUbGjSkc1j3o+2n50xuiVo8+O/uTh41Hgsd3j
rqeh5zjPUs9Wzz+9XL0EXjVe173p3pHe871bvF+McRsjGrNpzG0fhs94n0U+bT4fff185b6Nvj1+
9n5ZfrV+t9hG7AT2UvY5f4J/mP98/yP+7wJ8A4oC9gf8EegemB+4O/DpWKexorHbx3YF2Qbxg7YG
dQazgrOCtwR3htiE8EPqQh6F2oUKQ3eEPuG4cPI4ezjPwzzC5GGHwt5wA7hzuSfCsfCo8Irw9gjD
iJSIDREPIm0jcyMbIvuifKJmR52IJkTHRK+MvsWz5Al49by+cX7j5o47HUOLSYrZEPMo1jVWHts6
Hh0/bvzq8ffiHOKkcc3xIJ4Xvzr+foJTwvSEHyYQJyRMqJnwONEzcU7i2SRG0tSk3Umvk8OSlyff
TXFOUaa0peqlZqbWp75JC09bldY5cfTEuRMvppunS9JbMkgZqRk7MvonRUxaO6k70yezPPPmZKfJ
Myefn2I+pWDK0al6U/lTD2QRstKydmd94Mfz6/j92bzs2uw+AVewTvBMGCpcI+wRBYlWiZ7kBOWs
ynmaG5S7OrdHHCKuEvdKuJINkhd50Xmb897kx+fvzB8sSCvYW0guzCo8LDWU5ktPT7OaNnNah8xN
Vi7rnB4wfe30PnmMfIcCUUxWtBQZwQP7JaWz8mvlw+Lg4pritzNSZxyYaTBTOvPSLNdZS2Y9KYks
+XY2Plswu22OzZyFcx7O5czdOg+Zlz2vbb7d/LL53QuiFuxaSF2Yv/CnUo/SVaWvvkr7qrXMsmxB
WdfXUV83lOuWy8tvLQpctHkxvliyuH2J95L1Sz5VCCsuVHpUVlV+WCpYeuEbz2+qvxlclrOsfbnv
8k0riCukK26uDFm5a5XBqpJVXavHr25aw1pTsebV2qlrz1eNqdq8jrpOua6zOra6Zb39+hXrP2wQ
b7hRE1azt9aidkntm43CjVc3hW5q3Gy5uXLz+y2SLbe3Rm1tqnOsq9pG3Fa87fH21O1nv2V/W7/D
fEfljo87pTs7dyXuOl3vV1+/22L38ga0QdnQsydzz5Xvwr9raXRv3LqXubdyH9in3Pfb91nf39wf
s7/tAPtA40GHg7WHGIcqmpCmWU19zeLmzpb0lo7D4w63tQa2Hvph1A87j9gcqTlqfHT5MeqxsmOD
x0uO95+Qneg9mXuyq21q291TE09dPz3hdPuZmDPnfoz88dRZztnj54LOHTkfcP7wBfaF5ou+F5su
+Vw69JPPT4fafdubLvtdbrnif6W1Y2zHsashV09eC7/243Xe9Ys34m503Ey5eftW5q3O28LbT+8U
3Hnxc/HPA3cX3CPcq7ivf7/qgcWDul9cftnb6dt59GH4w0uPkh7d7RJ0PftV8euH7rLH9MdVT6yf
1D/1enqkJ7Lnym+Tfut+Jns20Fv+u8Hvtc+dnx/8I/SPS30T+7pfyF8M/rn0pdnLna/GvGrrT+h/
8Lrw9cCbirdmb3e9Y787+z7t/ZOBGR9IH6o/unxs/RTz6d5g4eCgjC/nq48CGGxoTg4Af+4EgJ4O
AOMKPD9M0tzz1IJo7qZqBP4T1twF1eILQCN8qY7r3BMA7IPNcQHkDgVAdVRPDgWot/dw04oix9tL
w0WDNx7C28HBl5YAkFoB+CgfHBzYODj4cTsM9g4AJ6Zr7pcqIcK7wZZQFbphKlwAvpB/Ab0afziB
asGHAAAAimVYSWZNTQAqAAAACAAEARoABQAAAAEAAAA+ARsABQAAAAEAAABGASgAAwAAAAEAAgAA
h2kABAAAAAEAAABOAAAAAAAAAJAAAAABAAAAkAAAAAEAA5KGAAcAAAASAAAAeKACAAQAAAABAAAB
kqADAAQAAAABAAABSgAAAABBU0NJSQAAAFNjcmVlbnNob3Q4KKX+AAAACXBIWXMAABYlAAAWJQFJ
UiTwAAAB1mlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9i
ZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpy
ZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8
cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRw
Oi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lv
bj40MDI8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpVc2VyQ29tbWVudD5T
Y3JlZW5zaG90PC9leGlmOlVzZXJDb21tZW50PgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNp
b24+MzMwPC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAg
IDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiTMPigAAAAcaURPVAAAAAIAAAAAAAAApQAAACgAAACl
AAAApQAATepIcE/gAABAAElEQVR4AeydB3gURRvH31ASIPROqFJEEEEEFCyI2MWC7bOLYkHFLlbs
FXsvYO9dESuCoqAIWBCkSu8h9BIgIcA3v4mzTDa3yd3lAnfJvM+T3N7s7Ozsf3fn/7aZSxoxYsSO
LVu2iBOHgEPAIeAQcAhEg0DS999/vyMrKyuaY90xDgGHgEPAIeAQkKQ1a9bsUOKgcAg4BBwCDgGH
QEQI/Prrr7q+I5KIYHOVHQIOAYeAQ8Ag4IjEIOE+HQIOAYeAQyAqBDwiWbdu3Y5t27ZF1Yg7yCHg
EHAIOARKLwIekbgYSel9CNyVOwQcAg6BoiDgEcnatWt3bN++vShtuWMdAg4Bh4BDoBQi4IikFN50
d8kOAYeAQyCWCHhEsnr1apf7G0tkXVsOAYeAQ6CUIOARiXNtlZI77i7TIeAQcAjEGAGPSFywPcbI
uuYcAg4Bh0ApQcAjEufaKiV33F2mQ8Ah4BCIMQIekTiLJMbIuuYcAg4Bh0ApQcARSSm50UW9zOzs
bPn999+ldevWUrt27aI25453CDgEigGB888/X7f61ltvFUPrwU16ROKC7cEgFeeev//+W0aPHq1P
UbFiRbnkkkuK83RRtc38oksvvVSWLl0qZcqUkaeeekpatmwZVVvuIIeAQ6D4ENjtRJJIMZJ58+bJ
iy++GPJuJCUlSb169WSPPfaQ/fbbT5o2bRqyXrwUfvbZZ/LKK6/o7lSpUkU+/PDDeOma14+5c+fK
lVde6X0/++yz5dxzz/W+uw2HgEMgPhDY7UQSiUXCcvOxWperbNmywuAfifzzzz9y8803F3pI+fLl
5aqrrpIjjjii0Lq7q0IiEAn3+/LLL5eFCxdKuXLltEXSvHnzIkP27LPPym+//abbgfQHDBhQ5DZd
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
ZgmuP9xk9913X75zbNiwQWj/k08+EWIcuHXatm0rhxxyiNx6663akjQX1L17d8ESw62IYJEhZ555
pk4IYDtUnylHfv/9d/n8889lzJgxMmPGDNlrr730ecCmS5cuuZX++29fJ3EtrnPs2LGi3MTSrFkz
ufDCC6Vfv35hxzMiJRL7/OAKRpwff7e5frrKS/7000/LX3/9Jeo9l4YNG2plAiWjW7dugdfEs1fU
e0fjYMozhRIzd+5cHVdDuerTp480atQoz/n5smXLFv2M8uziDuZ+t2rVSi66UlC1nwAADapJREFU
6CI577zzQioj+RqJs4J4JRJg2pa5TKpnTZP+h22Trp07SLVq1SJGzyOS0mSRNG5QU644tatnkSxY
vl5e/OgXIR24cZPYuLbQKhmMGRxwbzHQADaDOIO5X4III6jcf7z/++LFi/VggeYOec2cOVPHDSAx
vocKrrVr106WLl0qDJoMplgP/BkrAEJhULDdWPvvv7/Mnj1bB4AZxBGum+tnkPr3339l1apVejBA
s0WaN28up512mjzyyCP6O31B80QaNGggP/74o9SrV09/59yQwMiRI/V33I+UmfqckxiQiT2R8cZA
hOaNmPJLL71UiBEhofpMOYkJXDuuLwSt3m4HTLp27ar38c9c50EHHaTJMCMjQ+Nq+kada6+9Vu68
8042C5VIicScH4uTewCBIgwEhkhQaE466SQPr0qVKnmuTrB5/fXXtaVsOmfajMW9o83x48cLCo3B
lHOabVwp33//fZ4UVLXmn35XpkyZogm4cePGWrkxx0DMDz30kOluwnzGM5EAYs6aWbJHxQVySfck
6dK5k1SoUCEibEsdkbRqWk9O6dlOalTODXorD5S89c1EmT53mdSsVVNq1MybVx2NRcJAhiaMJo1W
jyZLfOS6667TgzuamV+CCCOo3H+8//sTTzyhrQKyxQjgMvgSUFu2bJl2r+Fm84shEsoHDhwoffv2
1W4NtEmsEa6HYL0ZkKkXalA2gxH7scRefvllbTJ/+eWXcuWVV+o22Qe5QiapqanCPtqmn1gpWA3I
4MGDtdXBAPT2228LxAG+3377rVxxxRWCC5EBHg3XSGGurVB9njNnjhx55JHa/QfmXP/ee+8tU6dO
1dfOgIfVBKFBhIh9nQyKZMWBIYT07LPP6kES4sOy4djCJFoiod20tDStsBA/gQAhk+zsbGnfvr1A
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
SI3k/wEcWIw2m/zTpgAAAABJRU5ErkJggg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375215</attachid>
            <date>2019-07-31 00:11:10 -0700</date>
            <delta_ts>2019-08-03 10:54:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200285-20190731001109.patch</filename>
            <type>text/plain</type>
            <size>165958</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGM1ZmQzMTgxYjgyNzFlY2M2NjEyNzNmY2ZhYTI3
N2RjNTYwYjY2YzMuLjg3ZjJjZTdhMWJkYzMyYTU1OTdhYmFmYWVlZjViODU3NDRlMGUzNDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE5LTA3LTMxICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBE
T006IGFkZCBhIHNwZWNpYWwgYnJlYWtwb2ludCBmb3IgIkFsbCBFdmVudHMiCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDAyODUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaW1pbGFyIHRvIHRoZSBleGlz
dGluZyAiQWxsIFJlcXVlc3RzIiBicmVha3BvaW50LCB0aGVyZSBzaG91bGQgYmUgYSB3YXkgdG8g
c2V0IGEgYnJlYWtwb2ludAorICAgICAgICB0aGF0IHdvdWxkIHBhdXNlIGZvciBhbnkgRE9NIGV2
ZW50LCByZWdhcmRsZXNzIG9mIHRoZSBldmVudCdzIG5hbWUuIFRoaXMgaXMgdXNlZnVsIGZvcgor
ICAgICAgICBzaXR1YXRpb25zIHdoZXJlIHRoZSBldmVudCBuYW1lIGlzbid0IGtub3duLCBvciB3
aGVyZSBvbmUgc2ltcGx5IHdhbnQncyB0byBwYXVzZSBvbiB0aGUgbmV4dAorICAgICAgICBlbnRy
eSB0byB0aGUgZXZlbnQgbG9vcC4KKworICAgICAgICBBbG9uZyB0aGVzZSBsaW5lcywgbWFrZSB0
aGUgInJlcXVlc3RBbmltYXRpb25GcmFtZSIsICJzZXRUaW1lb3V0IiwgYW5kICJzZXRJbnRlcnZh
bCIKKyAgICAgICAgZXZlbnQgYnJlYWtwb2ludHMgaW50byBzcGVjaWFsIGJyZWFrcG9pbnRzIHRo
YXQgY2FuIGJlIGFkZGVkL3JlbW92ZWQgdmlhIHRoZSBjcmVhdGUKKyAgICAgICAgYnJlYWtwb2lu
dCBjb250ZXh0IG1lbnUuIFRoaXMgc2ltcGxpZmllcyB0aGUgcHJvY2VzcyBmb3Igc2V0dGluZyB0
aGVzZSBicmVha3BvaW50cywgYW5kIGFsc28KKyAgICAgICAgbWFrZXMgdGhlbSBtb3JlIGRpc2Nv
dmVyYWJsZSAobW9zdCBwZW9wbGUgd291bGRuJ3QgY29uc2lkZXIgdGhlbSB0byBiZSAiZXZlbnRz
IikuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvdG9jb2wvRGVidWdnZXIuanNvbjoKKyAgICAg
ICAgIC0gUmVuYW1lIHRoZSBgRXZlbnRMaXN0ZW5lcmAgcGF1c2UgcmVhc29uIHRvIGBMaXN0ZW5l
cmAuCisgICAgICAgICAtIFNwbGl0IHRoZSBgVGltZXJgIHBhdXNlIHJlYXNvbiBpbnRvIGBJbnRl
cnZhbGAgYW5kIGBUaW1lb3V0YC4KKworICAgICAgICAqIGluc3BlY3Rvci9wcm90b2NvbC9ET01E
ZWJ1Z2dlci5qc29uOgorICAgICAgICAgLSBTcGxpdCB0aGUgYHRpbWVyYCB0eXBlIGludG8gYGlu
dGVydmFsYCBhbmQgYHRpbWVvdXRgLgorICAgICAgICAgLSBNYWtlIGBldmVudE5hbWVgIG9wdGlv
bmFsIGZvciBgYWRkRXZlbnRCcmVha3BvaW50YC9gcmVtb3ZlRXZlbnRCcmVha3BvaW50YC4gV2hl
biBvbWl0dGVkLAorICAgICAgICAgICB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHRoYXQg
aXMgYWRkZWQvcmVtb3ZlZCBpcyB0cmVhdGVkIGFzIGEgZ2xvYmFsIGJyZWFrcG9pbnQgdGhhdAor
ICAgICAgICAgICBhcHBsaWVzIHRvIGFsbCBldmVudHMgb2YgdGhhdCB0eXBlIChlLmcuIGEgZ2xv
YmFsIGBsaXN0ZW5lcmAgYnJlYWtwb2ludCB3b3VsZCBwYXVzZSBmb3IKKyAgICAgICAgICAgYW55
IGV2ZW50IHRoYXQgaXMgZmlyZWQpLgorCiAyMDE5LTA3LTI5ICBZdXN1a2UgU3V6dWtpICA8eXN1
enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gSW5jcmVtZW50IGJ5dGVjb2RlIGFnZSBv
bmx5IHdoZW4gU2xvdFZpc2l0b3IgaXMgZmlyc3QtdmlzaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzMzE2NDdl
YzE1ZmYxYjUwZTEwZWI3OGRkMWY2NDAzMTlkMDc0YjUxLi5iYmM1MmM5ZmE4M2ViMWVlOTU2ZjU2
ZTQxMWVmMDg2NWJhMzM5NTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTktMDct
MzEgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IERPTTogYWRkIGEgc3BlY2lhbCBicmVha3BvaW50IGZvciAiQWxsIEV2ZW50cyIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDI4NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNpbWlsYXIgdG8g
dGhlIGV4aXN0aW5nICJBbGwgUmVxdWVzdHMiIGJyZWFrcG9pbnQsIHRoZXJlIHNob3VsZCBiZSBh
IHdheSB0byBzZXQgYSBicmVha3BvaW50CisgICAgICAgIHRoYXQgd291bGQgcGF1c2UgZm9yIGFu
eSBET00gZXZlbnQsIHJlZ2FyZGxlc3Mgb2YgdGhlIGV2ZW50J3MgbmFtZS4gVGhpcyBpcyB1c2Vm
dWwgZm9yCisgICAgICAgIHNpdHVhdGlvbnMgd2hlcmUgdGhlIGV2ZW50IG5hbWUgaXNuJ3Qga25v
d24sIG9yIHdoZXJlIG9uZSBzaW1wbHkgd2FudCdzIHRvIHBhdXNlIG9uIHRoZSBuZXh0CisgICAg
ICAgIGVudHJ5IHRvIHRoZSBldmVudCBsb29wLgorCisgICAgICAgIEFsb25nIHRoZXNlIGxpbmVz
LCBtYWtlIHRoZSAicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwgInNldFRpbWVvdXQiLCBhbmQgInNl
dEludGVydmFsIgorICAgICAgICBldmVudCBicmVha3BvaW50cyBpbnRvIHNwZWNpYWwgYnJlYWtw
b2ludHMgdGhhdCBjYW4gYmUgYWRkZWQvcmVtb3ZlZCB2aWEgdGhlIGNyZWF0ZQorICAgICAgICBi
cmVha3BvaW50IGNvbnRleHQgbWVudS4gVGhpcyBzaW1wbGlmaWVzIHRoZSBwcm9jZXNzIGZvciBz
ZXR0aW5nIHRoZXNlIGJyZWFrcG9pbnRzLCBhbmQgYWxzbworICAgICAgICBtYWtlcyB0aGVtIG1v
cmUgZGlzY292ZXJhYmxlIChtb3N0IHBlb3BsZSB3b3VsZG4ndCBjb25zaWRlciB0aGVtIHRvIGJl
ICJldmVudHMiKS4KKworICAgICAgICBUZXN0czogaW5zcGVjdG9yL2RvbS9icmVha3BvaW50LWZv
ci1ldmVudC1saXN0ZW5lci5odG1sCisgICAgICAgICAgICAgICBpbnNwZWN0b3IvZG9tLWRlYnVn
Z2VyL2V2ZW50LWFuaW1hdGlvbi1mcmFtZS1icmVha3BvaW50cy5odG1sCisgICAgICAgICAgICAg
ICBpbnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWJyZWFrcG9pbnQtd2l0aC1uYXZpZ2F0aW9u
Lmh0bWwKKyAgICAgICAgICAgICAgIGluc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtaW50ZXJ2
YWwtYnJlYWtwb2ludHMuaHRtbAorICAgICAgICAgICAgICAgaW5zcGVjdG9yL2RvbS1kZWJ1Z2dl
ci9ldmVudC1saXN0ZW5lci1icmVha3BvaW50cy5odG1sCisgICAgICAgICAgICAgICBpbnNwZWN0
b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LXRpbWVvdXQtYnJlYWtwb2ludHMuaHRtbAorCisgICAgICAg
ICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50Lmg6CisgICAgICAg
ICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQ6OmRpc2FibGUpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudDo6ZnJhbWVEb2N1bWVudFVwZGF0
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudDo6c2V0RXZl
bnRCcmVha3BvaW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTURlYnVnZ2VyQWdl
bnQ6OnJlbW92ZUV2ZW50QnJlYWtwb2ludCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JE
T01EZWJ1Z2dlckFnZW50Ojp3aWxsSGFuZGxlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yRE9NRGVidWdnZXJBZ2VudDo6d2lsbEZpcmVUaW1lcik6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50Ojp3aWxsRmlyZUFuaW1hdGlvbkZyYW1lKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQ6OmRpc2NhcmRCaW5kaW5n
cyk6IERlbGV0ZWQuCisgICAgICAgIE1ha2UgYGV2ZW50TmFtZWAgb3B0aW9uYWwgZm9yIGBhZGRF
dmVudEJyZWFrcG9pbnRgL2ByZW1vdmVFdmVudEJyZWFrcG9pbnRgLiBXaGVuIG9taXR0ZWQsCisg
ICAgICAgIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdGhhdCBpcyBhZGRlZC9yZW1vdmVk
IGlzIHRyZWF0ZWQgYXMgYSBnbG9iYWwgYnJlYWtwb2ludCB0aGF0CisgICAgICAgIGFwcGxpZXMg
dG8gYWxsIGV2ZW50cyBvZiB0aGF0IHR5cGUgKGUuZy4gYSBnbG9iYWwgYGxpc3RlbmVyYCBicmVh
a3BvaW50IHdvdWxkIHBhdXNlIGZvciBhbnkKKyAgICAgICAgZXZlbnQgdGhhdCBpcyBmaXJlZCku
CisKIDIwMTktMDctMjkgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbTEZDXVtURkNdIEludHJvZHVjZSBCb3g6OmVzdGFibGlzaGVzVGFibGVGb3JtYXR0aW5nQ29u
dGV4dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5kZXggMWQ4NTMyYmYwOWE3YWFiZDViOTk1Y2M4
Y2UzYmFiMTU5MzU1YWUyYy4uN2JmOWJjYjliOTFlNzI1MjJmNWYwZWM0NDBjZThiZWFkYTZlNzAw
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTA3IEBACisyMDE5LTA3LTMx
ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBET006IGFkZCBhIHNwZWNpYWwgYnJlYWtwb2ludCBmb3IgIkFsbCBFdmVudHMiCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDAyODUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaW1pbGFyIHRvIHRo
ZSBleGlzdGluZyAiQWxsIFJlcXVlc3RzIiBicmVha3BvaW50LCB0aGVyZSBzaG91bGQgYmUgYSB3
YXkgdG8gc2V0IGEgYnJlYWtwb2ludAorICAgICAgICB0aGF0IHdvdWxkIHBhdXNlIGZvciBhbnkg
RE9NIGV2ZW50LCByZWdhcmRsZXNzIG9mIHRoZSBldmVudCdzIG5hbWUuIFRoaXMgaXMgdXNlZnVs
IGZvcgorICAgICAgICBzaXR1YXRpb25zIHdoZXJlIHRoZSBldmVudCBuYW1lIGlzbid0IGtub3du
LCBvciB3aGVyZSBvbmUgc2ltcGx5IHdhbnQncyB0byBwYXVzZSBvbiB0aGUgbmV4dAorICAgICAg
ICBlbnRyeSB0byB0aGUgZXZlbnQgbG9vcC4KKworICAgICAgICBBbG9uZyB0aGVzZSBsaW5lcywg
bWFrZSB0aGUgInJlcXVlc3RBbmltYXRpb25GcmFtZSIsICJzZXRUaW1lb3V0IiwgYW5kICJzZXRJ
bnRlcnZhbCIKKyAgICAgICAgZXZlbnQgYnJlYWtwb2ludHMgaW50byBzcGVjaWFsIGJyZWFrcG9p
bnRzIHRoYXQgY2FuIGJlIGFkZGVkL3JlbW92ZWQgdmlhIHRoZSBjcmVhdGUKKyAgICAgICAgYnJl
YWtwb2ludCBjb250ZXh0IG1lbnUuIFRoaXMgc2ltcGxpZmllcyB0aGUgcHJvY2VzcyBmb3Igc2V0
dGluZyB0aGVzZSBicmVha3BvaW50cywgYW5kIGFsc28KKyAgICAgICAgbWFrZXMgdGhlbSBtb3Jl
IGRpc2NvdmVyYWJsZSAobW9zdCBwZW9wbGUgd291bGRuJ3QgY29uc2lkZXIgdGhlbSB0byBiZSAi
ZXZlbnRzIikuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9FdmVudEJyZWFrcG9p
bnQuanM6CisgICAgICAgIChXSS5FdmVudEJyZWFrcG9pbnQpOgorICAgICAgICAoV0kuRXZlbnRC
cmVha3BvaW50LmRlc2VyaWFsaXplKToKKyAgICAgICAgKFdJLkV2ZW50QnJlYWtwb2ludC5wcm90
b3R5cGUuc2F2ZUlkZW50aXR5VG9Db29raWUpOgorICAgICAgICAoV0kuRXZlbnRCcmVha3BvaW50
LnByb3RvdHlwZS50b0pTT04pOgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Db250cm9sbGVy
cy9EZWJ1Z2dlck1hbmFnZXIuanM6CisgICAgICAgIChXSS5EZWJ1Z2dlck1hbmFnZXIucHJvdG90
eXBlLl9wYXVzZVJlYXNvbkZyb21QYXlsb2FkKToKKworICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
Q29udHJvbGxlcnMvRE9NRGVidWdnZXJNYW5hZ2VyLmpzOgorICAgICAgICAoV0kuRE9NRGVidWdn
ZXJNYW5hZ2VyKToKKyAgICAgICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5wcm90b3R5cGUuaW5p
dGlhbGl6ZVRhcmdldCk6CisgICAgICAgIChXSS5ET01EZWJ1Z2dlck1hbmFnZXIuc3VwcG9ydHNE
T01CcmVha3BvaW50cyk6IEFkZGVkLgorICAgICAgICAoV0kuRE9NRGVidWdnZXJNYW5hZ2VyLnN1
cHBvcnRzRXZlbnRCcmVha3BvaW50cyk6CisgICAgICAgIChXSS5ET01EZWJ1Z2dlck1hbmFnZXIu
c3VwcG9ydHNFdmVudExpc3RlbmVyQnJlYWtwb2ludHMpOiBBZGRlZC4KKyAgICAgICAgKFdJLkRP
TURlYnVnZ2VyTWFuYWdlci5zdXBwb3J0c1VSTEJyZWFrcG9pbnRzKToKKyAgICAgICAgKFdJLkRP
TURlYnVnZ2VyTWFuYWdlci5zdXBwb3J0c1hIUkJyZWFrcG9pbnRzKTogQWRkZWQuCisgICAgICAg
IChXSS5ET01EZWJ1Z2dlck1hbmFnZXIuc3VwcG9ydHNBbGxMaXN0ZW5lcnNCcmVha3BvaW50KTog
QWRkZWQuCisgICAgICAgIChXSS5ET01EZWJ1Z2dlck1hbmFnZXIucHJvdG90eXBlLmdldCBhbGxB
bmltYXRpb25GcmFtZXNCcmVha3BvaW50KTogQWRkZWQuCisgICAgICAgIChXSS5ET01EZWJ1Z2dl
ck1hbmFnZXIucHJvdG90eXBlLmdldCBhbGxJbnRlcnZhbHNCcmVha3BvaW50KTogQWRkZWQuCisg
ICAgICAgIChXSS5ET01EZWJ1Z2dlck1hbmFnZXIucHJvdG90eXBlLmdldCBhbGxMaXN0ZW5lcnNC
cmVha3BvaW50KTogQWRkZWQuCisgICAgICAgIChXSS5ET01EZWJ1Z2dlck1hbmFnZXIucHJvdG90
eXBlLmdldCBhbGxUaW1lb3V0c0JyZWFrcG9pbnQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkRPTURl
YnVnZ2VyTWFuYWdlci5wcm90b3R5cGUuZ2V0IGxpc3RlbmVyQnJlYWtwb2ludHMpOiBBZGRlZC4K
KyAgICAgICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5wcm90b3R5cGUuaXNCcmVha3BvaW50U3Bl
Y2lhbCk6CisgICAgICAgIChXSS5ET01EZWJ1Z2dlck1hbmFnZXIucHJvdG90eXBlLmxpc3RlbmVy
QnJlYWtwb2ludEZvckV2ZW50TmFtZSk6IEFkZGVkLgorICAgICAgICAoV0kuRE9NRGVidWdnZXJN
YW5hZ2VyLnByb3RvdHlwZS5hZGRFdmVudEJyZWFrcG9pbnQpOgorICAgICAgICAoV0kuRE9NRGVi
dWdnZXJNYW5hZ2VyLnByb3RvdHlwZS5yZW1vdmVFdmVudEJyZWFrcG9pbnQpOgorICAgICAgICAo
V0kuRE9NRGVidWdnZXJNYW5hZ2VyLnByb3RvdHlwZS5hZGRVUkxCcmVha3BvaW50KToKKyAgICAg
ICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5wcm90b3R5cGUuX3Jlc29sdmVET01CcmVha3BvaW50
KToKKyAgICAgICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5wcm90b3R5cGUuX3VwZGF0ZURPTUJy
ZWFrcG9pbnQpOgorICAgICAgICAoV0kuRE9NRGVidWdnZXJNYW5hZ2VyLnByb3RvdHlwZS5fdXBk
YXRlRXZlbnRCcmVha3BvaW50KToKKyAgICAgICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5wcm90
b3R5cGUuX3VwZGF0ZVVSTEJyZWFrcG9pbnQpOgorICAgICAgICAoV0kuRE9NRGVidWdnZXJNYW5h
Z2VyLnByb3RvdHlwZS5faGFuZGxlRE9NQnJlYWtwb2ludERpc2FibGVkU3RhdGVDaGFuZ2VkKToK
KyAgICAgICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5wcm90b3R5cGUuX2hhbmRsZUV2ZW50QnJl
YWtwb2ludERpc2FibGVkU3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKFdJLkRPTURlYnVnZ2VyTWFu
YWdlci5wcm90b3R5cGUuX2hhbmRsZVVSTEJyZWFrcG9pbnREaXNhYmxlZFN0YXRlQ2hhbmdlZCk6
CisgICAgICAgIChXSS5ET01EZWJ1Z2dlck1hbmFnZXIucHJvdG90eXBlLmdldCBldmVudEJyZWFr
cG9pbnRzKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5wcm90b3R5
cGUuZXZlbnRCcmVha3BvaW50Rm9yVHlwZUFuZEV2ZW50TmFtZSk6IERlbGV0ZWQuCisgICAgICAg
IEFkZCBhZGRpdGlvbmFsIHRhcmdldCBjb21wYXRpYmlsaXR5IGNoZWNrcy4KKworICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvVmlld3MvRXZlbnRCcmVha3BvaW50UG9wb3Zlci5qczoKKyAgICAgICAg
KFdJLkV2ZW50QnJlYWtwb2ludFBvcG92ZXIucHJvdG90eXBlLnNob3cpOgorICAgICAgICAoV0ku
RXZlbnRCcmVha3BvaW50UG9wb3Zlci5wcm90b3R5cGUuZGlzbWlzcyk6CisgICAgICAgIChXSS5F
dmVudEJyZWFrcG9pbnRQb3BvdmVyLnByb3RvdHlwZS5faGFuZGxlVHlwZVNlbGVjdENoYW5nZSk6
IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9FdmVudEJyZWFrcG9pbnRQ
b3BvdmVyLmNzczoKKyAgICAgICAgKC5wb3BvdmVyIC5ldmVudC1icmVha3BvaW50LWNvbnRlbnQg
PiBpbnB1dCk6IEFkZGVkLgorICAgICAgICAoLnBvcG92ZXIgLmV2ZW50LWJyZWFrcG9pbnQtY29u
dGVudCA+IGlucHV0OjpwbGFjZWhvbGRlcik6IEFkZGVkLgorICAgICAgICAoLnBvcG92ZXIgLmV2
ZW50LWJyZWFrcG9pbnQtY29udGVudCA+IC5ldmVudC10eXBlKTogRGVsZXRlZC4KKyAgICAgICAg
KC5wb3BvdmVyIC5ldmVudC1icmVha3BvaW50LWNvbnRlbnQgPiAuZXZlbnQtdHlwZSA+IGlucHV0
KTogRGVsZXRlZC4KKyAgICAgICAgKC5wb3BvdmVyIC5ldmVudC1icmVha3BvaW50LWNvbnRlbnQg
PiAuZXZlbnQtdHlwZSA+IGlucHV0OjpwbGFjZWhvbGRlcik6IERlbGV0ZWQuCisKKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50QnJlYWtwb2ludFRyZWVFbGVtZW50LmNzczoKKyAg
ICAgICAgKC5icmVha3BvaW50LmV2ZW50LmJyZWFrcG9pbnQtZm9yLWludGVydmFsOm5vdCguYnJl
YWtwb2ludC1wYXVzZWQtaWNvbikgLmljb24pOiBBZGRlZC4KKyAgICAgICAgKC5icmVha3BvaW50
LmV2ZW50LmJyZWFrcG9pbnQtZm9yLXRpbWVvdXQ6bm90KC5icmVha3BvaW50LXBhdXNlZC1pY29u
KSAuaWNvbik6IEFkZGVkLgorICAgICAgICAoLmJyZWFrcG9pbnQuZXZlbnQuYnJlYWtwb2ludC1m
b3ItdGltZXI6bm90KC5icmVha3BvaW50LXBhdXNlZC1pY29uKSAuaWNvbik6IERlbGV0ZWQuCisK
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzOgor
ICAgICAgICAoV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwpOgorICAgICAgICAoV0kuRGVidWdnZXJT
aWRlYmFyUGFuZWwucHJvdG90eXBlLnNhdmVTdGF0ZVRvQ29va2llKToKKyAgICAgICAgKFdJLkRl
YnVnZ2VyU2lkZWJhclBhbmVsLnByb3RvdHlwZS5yZXN0b3JlU3RhdGVGcm9tQ29va2llKToKKyAg
ICAgICAgKFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fYWRkQnJlYWtwb2ludCk6
CisgICAgICAgIChXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbC5wcm90b3R5cGUuX2FkZFRyZWVFbGVt
ZW50KToKKyAgICAgICAgKFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fdXBkYXRl
UGF1c2VSZWFzb25TZWN0aW9uKToKKyAgICAgICAgKFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsLnBy
b3RvdHlwZS5faGFuZGxlQnJlYWtwb2ludEVsZW1lbnRBZGRlZE9yUmVtb3ZlZCk6CisgICAgICAg
IChXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbC5wcm90b3R5cGUuX3BvcHVsYXRlQ3JlYXRlQnJlYWtw
b2ludENvbnRleHRNZW51LmFkZFRvZ2dsZUZvclNwZWNpYWxFdmVudEJyZWFrcG9pbnQpOiBBZGRl
ZC4KKyAgICAgICAgKFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fcG9wdWxhdGVD
cmVhdGVCcmVha3BvaW50Q29udGV4dE1lbnUpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmll
d3MvU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChXSS5Tb3VyY2Vz
TmF2aWdhdGlvblNpZGViYXJQYW5lbCk6CisgICAgICAgIChXSS5Tb3VyY2VzTmF2aWdhdGlvblNp
ZGViYXJQYW5lbC5wcm90b3R5cGUuX2luc2VydERlYnVnZ2VyVHJlZUVsZW1lbnQpOgorICAgICAg
ICAoV0kuU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwucHJvdG90eXBlLl9hZGRCcmVha3Bv
aW50KToKKyAgICAgICAgKFdJLlNvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsLnByb3RvdHlw
ZS5fdXBkYXRlUGF1c2VSZWFzb25TZWN0aW9uKToKKyAgICAgICAgKFdJLlNvdXJjZXNOYXZpZ2F0
aW9uU2lkZWJhclBhbmVsLnByb3RvdHlwZS5faGFuZGxlQnJlYWtwb2ludEVsZW1lbnRBZGRlZE9y
UmVtb3ZlZCk6CisgICAgICAgIChXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbC5wcm90
b3R5cGUuX3BvcHVsYXRlQ3JlYXRlQnJlYWtwb2ludENvbnRleHRNZW51LmFkZFRvZ2dsZUZvclNw
ZWNpYWxFdmVudEJyZWFrcG9pbnQpOiBBZGRlZC4KKyAgICAgICAgKFdJLlNvdXJjZXNOYXZpZ2F0
aW9uU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fcG9wdWxhdGVDcmVhdGVCcmVha3BvaW50Q29udGV4
dE1lbnUpOgorICAgICAgICBBZGQgY3JlYXRlIGJyZWFrcG9pbnQgY29udGV4dCBtZW51IGl0ZW1z
IChhbHNvIHNvcnQgdGhlIGJyZWFrcG9pbnRzIGluIHRoaXMgb3JkZXIpOgorICAgICAgICAgLSAi
QWxsIEFuaW1hdGlvbiBGcmFtZXMiICA9PiAgW0FdIEFsbCBBbmltYXRpb24gRnJhbWVzCisgICAg
ICAgICAtICJBbGwgVGltZW91dHMiICAgICAgICAgID0+ICBbVF0gQWxsIFRpbWVvdXRzCisgICAg
ICAgICAtICJBbGwgSW50ZXJ2YWxzIiAgICAgICAgID0+ICBbSV0gQWxsIEludGVydmFscworICAg
ICAgICAgLSAiQWxsIEV2ZW50cyIgICAgICAgICAgICA9PiAgW0VdIEFsbCBFdmVudHMKKworICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvSmF2YVNjcmlwdFJ1bnRpbWVDb21wbGV0
aW9uUHJvdmlkZXIuanM6CisgICAgICAgIChXSS5KYXZhU2NyaXB0UnVudGltZUNvbXBsZXRpb25Q
cm92aWRlci5jb21wbGV0aW9uQ29udHJvbGxlckNvbXBsZXRpb25zTmVlZGVkLnJlY2VpdmVkUHJv
cGVydHlOYW1lcyk6CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2UvU2V0dGluZy5qczoK
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0ltYWdlcy9FdmVudEJyZWFrcG9pbnRJbnRlcnZhbC5z
dmc6IEFkZGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvSW1hZ2VzL0V2ZW50QnJlYWtwb2lu
dFRpbWVvdXQuc3ZnOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvSW1hZ2VzL0V2ZW50QnJlYWtwb2ludFRpbWVyLnN2Zy4KKyAgICAgICAgKiBMb2NhbGl6
YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanM6CisKIDIwMTktMDctMjYgIEdyZWcg
RG9vbGl0dGxlICA8Z3IzZ0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQVhJ
OiBBdWRpdDogVHlwbyBvZiAic29tZSIgYXMgInNvbWVlIgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9ET01EZWJ1Z2dlci5qc29uIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9ET01EZWJ1Z2dlci5qc29uCmluZGV4
IGI0NGM3ZjBiNWVhYmE3YzA5MDI2YjVhZjliMzAzMDg2MDI0MjA3NzMuLjg2Y2Q2YzdhNzRkOTYy
ZjIyZjFiZjY2ZGMyNzMwOThjM2VmZjVhNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NRGVidWdnZXIuanNvbgorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0RPTURlYnVnZ2VyLmpzb24KQEAgLTEyLDcg
KzEyLDcgQEAKICAgICAgICAgewogICAgICAgICAgICAgImlkIjogIkV2ZW50QnJlYWtwb2ludFR5
cGUiLAogICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKLSAgICAgICAgICAgICJlbnVtIjog
WyJhbmltYXRpb24tZnJhbWUiLCAibGlzdGVuZXIiLCAidGltZXIiXSwKKyAgICAgICAgICAgICJl
bnVtIjogWyJhbmltYXRpb24tZnJhbWUiLCAiaW50ZXJ2YWwiLCAibGlzdGVuZXIiLCAidGltZW91
dCJdLAogICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkV2ZW50IGJyZWFrcG9pbnQgdHlwZS4i
CiAgICAgICAgIH0KICAgICBdLApAQCAtMzgsNyArMzgsNyBAQAogICAgICAgICAgICAgImRlc2Ny
aXB0aW9uIjogIlNldHMgYnJlYWtwb2ludCBvbiBwYXJ0aWN1bGFyIGV2ZW50IG9mIGdpdmVuIHR5
cGUuIiwKICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwogICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAiYnJlYWtwb2ludFR5cGUiLCAiJHJlZiI6ICJFdmVudEJyZWFrcG9pbnRUeXBlIiB9LAot
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZXZlbnROYW1lIiwgInR5cGUiOiAic3RyaW5nIiwg
ImRlc2NyaXB0aW9uIjogIlRoZSBuYW1lIG9mIHRoZSBldmVudCB0byBzdG9wIG9uLiIgfQorICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAiZXZlbnROYW1lIiwgInR5cGUiOiAic3RyaW5nIiwgIm9w
dGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRoZSBuYW1lIG9mIHRoZSBzcGVjaWZpYyBl
dmVudCB0byBzdG9wIG9uLiIgfQogICAgICAgICAgICAgXQogICAgICAgICB9LAogICAgICAgICB7
CkBAIC00Niw3ICs0Niw3IEBACiAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmVtb3ZlcyBi
cmVha3BvaW50IG9uIHBhcnRpY3VsYXIgZXZlbnQgb2YgZ2l2ZW4gdHlwZS4iLAogICAgICAgICAg
ICAgInBhcmFtZXRlcnMiOiBbCiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJicmVha3BvaW50
VHlwZSIsICIkcmVmIjogIkV2ZW50QnJlYWtwb2ludFR5cGUiIH0sCi0gICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJldmVudE5hbWUiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAi
VGhlIG5hbWUgb2YgdGhlIGV2ZW50IHRvIHN0b3Agb24uIiB9CisgICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJldmVudE5hbWUiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0cnVlLCAi
ZGVzY3JpcHRpb24iOiAiVGhlIG5hbWUgb2YgdGhlIHNwZWNpZmljIGV2ZW50IHRvIHN0b3Agb24u
IiB9CiAgICAgICAgICAgICBdCiAgICAgICAgIH0sCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRGVidWdnZXIuanNvbiBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRGVidWdnZXIuanNvbgppbmRl
eCBhNTQ5NWNhMTEwM2E4NzA3MjgwMTNjZmRmNDA2M2JmZjk4MzQxMTg5Li4yMmU0OTNhYzk5OTdh
ODI1YzNhZTliMTM3Y2UzYWJmYjMwYWY0MDg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0RlYnVnZ2VyLmpzb24KKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9EZWJ1Z2dlci5qc29uCkBAIC0zMzMsNyArMzMz
LDcgQEAKICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJlZCB3aGVuIHRoZSB2aXJ0dWFs
IG1hY2hpbmUgc3RvcHBlZCBvbiBicmVha3BvaW50IG9yIGV4Y2VwdGlvbiBvciBhbnkgb3RoZXIg
c3RvcCBjcml0ZXJpYS4iLAogICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCiAgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJjYWxsRnJhbWVzIiwgInR5cGUiOiAiYXJyYXkiLCAiaXRlbXMiOiB7
ICIkcmVmIjogIkNhbGxGcmFtZSIgfSwgImRlc2NyaXB0aW9uIjogIkNhbGwgc3RhY2sgdGhlIHZp
cnR1YWwgbWFjaGluZSBzdG9wcGVkIG9uLiIgfSwKLSAgICAgICAgICAgICAgICB7ICJuYW1lIjog
InJlYXNvbiIsICJ0eXBlIjogInN0cmluZyIsICJlbnVtIjogWyJYSFIiLCAiRmV0Y2giLCAiRE9N
IiwgIkFuaW1hdGlvbkZyYW1lIiwgIkV2ZW50TGlzdGVuZXIiLCAiVGltZXIiLCAiZXhjZXB0aW9u
IiwgImFzc2VydCIsICJDU1BWaW9sYXRpb24iLCAiRGVidWdnZXJTdGF0ZW1lbnQiLCAiQnJlYWtw
b2ludCIsICJQYXVzZU9uTmV4dFN0YXRlbWVudCIsICJvdGhlciJdLCAiZGVzY3JpcHRpb24iOiAi
UGF1c2UgcmVhc29uLiIgfSwKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlYXNvbiIsICJ0
eXBlIjogInN0cmluZyIsICJlbnVtIjogWyJYSFIiLCAiRmV0Y2giLCAiRE9NIiwgIkFuaW1hdGlv
bkZyYW1lIiwgIkludGVydmFsIiwgIkxpc3RlbmVyIiwgIlRpbWVvdXQiLCAiZXhjZXB0aW9uIiwg
ImFzc2VydCIsICJDU1BWaW9sYXRpb24iLCAiRGVidWdnZXJTdGF0ZW1lbnQiLCAiQnJlYWtwb2lu
dCIsICJQYXVzZU9uTmV4dFN0YXRlbWVudCIsICJvdGhlciJdLCAiZGVzY3JpcHRpb24iOiAiUGF1
c2UgcmVhc29uLiIgfSwKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImRhdGEiLCAidHlwZSI6
ICJvYmplY3QiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiT2JqZWN0IGNvbnRh
aW5pbmcgYnJlYWstc3BlY2lmaWMgYXV4aWxpYXJ5IHByb3BlcnRpZXMuIiB9LAogICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAiYXN5bmNTdGFja1RyYWNlIiwgIiRyZWYiOiAiQ29uc29sZS5TdGFj
a1RyYWNlIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkxpbmtlZCBsaXN0IG9m
IGFzeW5jaHJvbm91cyBTdGFja1RyYWNlcy4iIH0KICAgICAgICAgICAgIF0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2Vu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTURlYnVn
Z2VyQWdlbnQuY3BwCmluZGV4IDU0NDc1ZGQ1NmYxOTUzOTI5M2ViYWY1MjUxZDBiYmFmYjZmZDFk
MDUuLjA5NTFkYmU0NDA4YzIxNmM1M2Q0OGNjYzIyNGJhMmNiNjRmYzBkOTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2Vu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01E
ZWJ1Z2dlckFnZW50LmNwcApAQCAtOTQsOSArOTQsMTMgQEAgdm9pZCBJbnNwZWN0b3JET01EZWJ1
Z2dlckFnZW50OjpkZWJ1Z2dlcldhc0Rpc2FibGVkKCkKIHZvaWQgSW5zcGVjdG9yRE9NRGVidWdn
ZXJBZ2VudDo6ZGlzYWJsZSgpCiB7CiAgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLnNldEluc3Bl
Y3RvckRPTURlYnVnZ2VyQWdlbnQobnVsbHB0cik7Ci0gICAgZGlzY2FyZEJpbmRpbmdzKCk7Ci0g
ICAgbV9ldmVudEJyZWFrcG9pbnRzLmNsZWFyKCk7CisgICAgbV9kb21CcmVha3BvaW50cy5jbGVh
cigpOworICAgIG1fbGlzdGVuZXJCcmVha3BvaW50cy5jbGVhcigpOwogICAgIG1fdXJsQnJlYWtw
b2ludHMuY2xlYXIoKTsKKyAgICBtX3BhdXNlT25BbGxBbmltYXRpb25GcmFtZXNFbmFibGVkID0g
ZmFsc2U7CisgICAgbV9wYXVzZU9uQWxsSW50ZXJ2YWxzRW5hYmxlZCA9IGZhbHNlOworICAgIG1f
cGF1c2VPbkFsbExpc3RlbmVyc0VuYWJsZWQgPSBmYWxzZTsKKyAgICBtX3BhdXNlT25BbGxUaW1l
b3V0c0VuYWJsZWQgPSBmYWxzZTsKICAgICBtX3BhdXNlT25BbGxVUkxzRW5hYmxlZCA9IGZhbHNl
OwogfQogCkBAIC0xMjAsNTQgKzEyNCwxMDkgQEAgdm9pZCBJbnNwZWN0b3JET01EZWJ1Z2dlckFn
ZW50OjpmcmFtZURvY3VtZW50VXBkYXRlZChGcmFtZSYgZnJhbWUpCiAgICAgaWYgKCFmcmFtZS5p
c01haW5GcmFtZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBkaXNjYXJkQmluZGluZ3MoKTsK
LX0KLQotdm9pZCBJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50OjpkaXNjYXJkQmluZGluZ3MoKQot
ewogICAgIG1fZG9tQnJlYWtwb2ludHMuY2xlYXIoKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JET01E
ZWJ1Z2dlckFnZW50OjpzZXRFdmVudEJyZWFrcG9pbnQoRXJyb3JTdHJpbmcmIGVycm9yLCBjb25z
dCBTdHJpbmcmIGJyZWFrcG9pbnRUeXBlU3RyaW5nLCBjb25zdCBTdHJpbmcmIGV2ZW50TmFtZSkK
K3ZvaWQgSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudDo6c2V0RXZlbnRCcmVha3BvaW50KEVycm9y
U3RyaW5nJiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBicmVha3BvaW50VHlwZVN0cmluZywg
Y29uc3QgU3RyaW5nKiBldmVudE5hbWUpCiB7CiAgICAgaWYgKGJyZWFrcG9pbnRUeXBlU3RyaW5n
LmlzRW1wdHkoKSkgewotICAgICAgICBlcnJvciA9ICJFdmVudCBicmVha3BvaW50IHR5cGUgaXMg
ZW1wdHkiX3M7CisgICAgICAgIGVycm9yU3RyaW5nID0gIkV2ZW50IGJyZWFrcG9pbnQgdHlwZSBp
cyBlbXB0eSJfczsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGF1dG8gYnJlYWtwb2lu
dFR5cGUgPSBJbnNwZWN0b3I6OlByb3RvY29sOjpJbnNwZWN0b3JIZWxwZXJzOjpwYXJzZUVudW1W
YWx1ZUZyb21TdHJpbmc8SW5zcGVjdG9yOjpQcm90b2NvbDo6RE9NRGVidWdnZXI6OkV2ZW50QnJl
YWtwb2ludFR5cGU+KGJyZWFrcG9pbnRUeXBlU3RyaW5nKTsKICAgICBpZiAoIWJyZWFrcG9pbnRU
eXBlKSB7Ci0gICAgICAgIGVycm9yID0gbWFrZVN0cmluZygiVW5rbm93biBldmVudCBicmVha3Bv
aW50IHR5cGU6ICJfcywgYnJlYWtwb2ludFR5cGVTdHJpbmcpOworICAgICAgICBlcnJvclN0cmlu
ZyA9IG1ha2VTdHJpbmcoIlVua25vd24gZXZlbnQgYnJlYWtwb2ludCB0eXBlOiAiX3MsIGJyZWFr
cG9pbnRUeXBlU3RyaW5nKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmIChldmVu
dE5hbWUuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGVycm9yID0gIkV2ZW50IG5hbWUgaXMgZW1wdHki
X3M7CisgICAgaWYgKGV2ZW50TmFtZSAmJiAhZXZlbnROYW1lLT5pc0VtcHR5KCkpIHsKKyAgICAg
ICAgaWYgKGJyZWFrcG9pbnRUeXBlLnZhbHVlKCkgPT0gSW5zcGVjdG9yOjpQcm90b2NvbDo6RE9N
RGVidWdnZXI6OkV2ZW50QnJlYWtwb2ludFR5cGU6Okxpc3RlbmVyKSB7CisgICAgICAgICAgICBp
ZiAoIW1fbGlzdGVuZXJCcmVha3BvaW50cy5hZGQoKmV2ZW50TmFtZSkpCisgICAgICAgICAgICAg
ICAgZXJyb3JTdHJpbmcgPSAiQnJlYWtwb2ludCB3aXRoIGV2ZW50TmFtZSBhbHJlYWR5IGV4aXN0
cyJfczsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGVycm9yU3Ry
aW5nID0gIlVuZXhwZWN0ZWQgZXZlbnROYW1lIGFyZ3VtZW50Il9zOwogICAgICAgICByZXR1cm47
CiAgICAgfQogCi0gICAgbV9ldmVudEJyZWFrcG9pbnRzLmFkZChzdGQ6Om1ha2VfcGFpcigqYnJl
YWtwb2ludFR5cGUsIGV2ZW50TmFtZSkpOworICAgIHN3aXRjaCAoYnJlYWtwb2ludFR5cGUudmFs
dWUoKSkgeworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6RE9NRGVidWdnZXI6OkV2ZW50
QnJlYWtwb2ludFR5cGU6OkFuaW1hdGlvbkZyYW1lOgorICAgICAgICBpZiAobV9wYXVzZU9uQWxs
QW5pbWF0aW9uRnJhbWVzRW5hYmxlZCkKKyAgICAgICAgICAgIGVycm9yU3RyaW5nID0gIkFscmVh
ZHkgaGF2ZSBicmVha3BvaW50IGZvciBhbGwgYW5pbWF0aW9uIGZyYW1lcyJfczsKKyAgICAgICAg
bV9wYXVzZU9uQWxsQW5pbWF0aW9uRnJhbWVzRW5hYmxlZCA9IHRydWU7CisgICAgICAgIGJyZWFr
OworCisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpET01EZWJ1Z2dlcjo6RXZlbnRCcmVh
a3BvaW50VHlwZTo6SW50ZXJ2YWw6CisgICAgICAgIGlmIChtX3BhdXNlT25BbGxJbnRlcnZhbHNF
bmFibGVkKQorICAgICAgICAgICAgZXJyb3JTdHJpbmcgPSAiQWxyZWFkeSBoYXZlIGJyZWFrcG9p
bnQgZm9yIGFsbCBpbnRlcnZhbHMiX3M7CisgICAgICAgIG1fcGF1c2VPbkFsbEludGVydmFsc0Vu
YWJsZWQgPSB0cnVlOworICAgICAgICBicmVhazsKKworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90
b2NvbDo6RE9NRGVidWdnZXI6OkV2ZW50QnJlYWtwb2ludFR5cGU6Okxpc3RlbmVyOgorICAgICAg
ICBpZiAobV9wYXVzZU9uQWxsTGlzdGVuZXJzRW5hYmxlZCkKKyAgICAgICAgICAgIGVycm9yU3Ry
aW5nID0gIkFscmVhZHkgaGF2ZSBicmVha3BvaW50IGZvciBhbGwgbGlzdGVuZXJzIl9zOworICAg
ICAgICBtX3BhdXNlT25BbGxMaXN0ZW5lcnNFbmFibGVkID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7
CisKKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRPTURlYnVnZ2VyOjpFdmVudEJyZWFr
cG9pbnRUeXBlOjpUaW1lb3V0OgorICAgICAgICBpZiAobV9wYXVzZU9uQWxsVGltZW91dHNFbmFi
bGVkKQorICAgICAgICAgICAgZXJyb3JTdHJpbmcgPSAiQWxyZWFkeSBoYXZlIGJyZWFrcG9pbnQg
Zm9yIGFsbCB0aW1lb3V0cyJfczsKKyAgICAgICAgbV9wYXVzZU9uQWxsVGltZW91dHNFbmFibGVk
ID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7CisgICAgfQogfQogCi12b2lkIEluc3BlY3RvckRPTURl
YnVnZ2VyQWdlbnQ6OnJlbW92ZUV2ZW50QnJlYWtwb2ludChFcnJvclN0cmluZyYgZXJyb3IsIGNv
bnN0IFN0cmluZyYgYnJlYWtwb2ludFR5cGVTdHJpbmcsIGNvbnN0IFN0cmluZyYgZXZlbnROYW1l
KQordm9pZCBJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50OjpyZW1vdmVFdmVudEJyZWFrcG9pbnQo
RXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIGJyZWFrcG9pbnRUeXBlU3Ry
aW5nLCBjb25zdCBTdHJpbmcqIGV2ZW50TmFtZSkKIHsKICAgICBpZiAoYnJlYWtwb2ludFR5cGVT
dHJpbmcuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGVycm9yID0gIkV2ZW50IGJyZWFrcG9pbnQgdHlw
ZSBpcyBlbXB0eSJfczsKKyAgICAgICAgZXJyb3JTdHJpbmcgPSAiRXZlbnQgYnJlYWtwb2ludCB0
eXBlIGlzIGVtcHR5Il9zOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgYXV0byBicmVh
a3BvaW50VHlwZSA9IEluc3BlY3Rvcjo6UHJvdG9jb2w6Okluc3BlY3RvckhlbHBlcnM6OnBhcnNl
RW51bVZhbHVlRnJvbVN0cmluZzxJbnNwZWN0b3I6OlByb3RvY29sOjpET01EZWJ1Z2dlcjo6RXZl
bnRCcmVha3BvaW50VHlwZT4oYnJlYWtwb2ludFR5cGVTdHJpbmcpOwogICAgIGlmICghYnJlYWtw
b2ludFR5cGUpIHsKLSAgICAgICAgZXJyb3IgPSBtYWtlU3RyaW5nKCJVbmtub3duIGV2ZW50IGJy
ZWFrcG9pbnQgdHlwZTogIl9zLCBicmVha3BvaW50VHlwZVN0cmluZyk7CisgICAgICAgIGVycm9y
U3RyaW5nID0gbWFrZVN0cmluZygiVW5rbm93biBldmVudCBicmVha3BvaW50IHR5cGU6ICJfcywg
YnJlYWtwb2ludFR5cGVTdHJpbmcpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYg
KGV2ZW50TmFtZS5pc0VtcHR5KCkpIHsKLSAgICAgICAgZXJyb3IgPSAiRXZlbnQgbmFtZSBpcyBl
bXB0eSJfczsKKyAgICBpZiAoZXZlbnROYW1lICYmICFldmVudE5hbWUtPmlzRW1wdHkoKSkgewor
ICAgICAgICBpZiAoYnJlYWtwb2ludFR5cGUudmFsdWUoKSA9PSBJbnNwZWN0b3I6OlByb3RvY29s
OjpET01EZWJ1Z2dlcjo6RXZlbnRCcmVha3BvaW50VHlwZTo6TGlzdGVuZXIpIHsKKyAgICAgICAg
ICAgIGlmICghbV9saXN0ZW5lckJyZWFrcG9pbnRzLnJlbW92ZSgqZXZlbnROYW1lKSkKKyAgICAg
ICAgICAgICAgICBlcnJvclN0cmluZyA9ICJNaXNzaW5nIGJyZWFrcG9pbnQgZm9yIGV2ZW50TmFt
ZSJfczsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGVycm9yU3Ry
aW5nID0gIlVuZXhwZWN0ZWQgZXZlbnROYW1lIGFyZ3VtZW50Il9zOwogICAgICAgICByZXR1cm47
CiAgICAgfQogCi0gICAgbV9ldmVudEJyZWFrcG9pbnRzLnJlbW92ZShzdGQ6Om1ha2VfcGFpcigq
YnJlYWtwb2ludFR5cGUsIGV2ZW50TmFtZSkpOworICAgIHN3aXRjaCAoYnJlYWtwb2ludFR5cGUu
dmFsdWUoKSkgeworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6RE9NRGVidWdnZXI6OkV2
ZW50QnJlYWtwb2ludFR5cGU6OkFuaW1hdGlvbkZyYW1lOgorICAgICAgICBpZiAoIW1fcGF1c2VP
bkFsbEFuaW1hdGlvbkZyYW1lc0VuYWJsZWQpCisgICAgICAgICAgICBlcnJvclN0cmluZyA9ICJN
aXNzaW5nIGJyZWFrcG9pbnQgZm9yIGFsbCBhbmltYXRpb24gZnJhbWVzIl9zOworICAgICAgICBt
X3BhdXNlT25BbGxBbmltYXRpb25GcmFtZXNFbmFibGVkID0gZmFsc2U7CisgICAgICAgIGJyZWFr
OworCisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpET01EZWJ1Z2dlcjo6RXZlbnRCcmVh
a3BvaW50VHlwZTo6SW50ZXJ2YWw6CisgICAgICAgIGlmICghbV9wYXVzZU9uQWxsSW50ZXJ2YWxz
RW5hYmxlZCkKKyAgICAgICAgICAgIGVycm9yU3RyaW5nID0gIk1pc3NpbmcgYnJlYWtwb2ludCBm
b3IgYWxsIGludGVydmFscyJfczsKKyAgICAgICAgbV9wYXVzZU9uQWxsSW50ZXJ2YWxzRW5hYmxl
ZCA9IGZhbHNlOworICAgICAgICBicmVhazsKKworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2Nv
bDo6RE9NRGVidWdnZXI6OkV2ZW50QnJlYWtwb2ludFR5cGU6Okxpc3RlbmVyOgorICAgICAgICBp
ZiAoIW1fcGF1c2VPbkFsbExpc3RlbmVyc0VuYWJsZWQpCisgICAgICAgICAgICBlcnJvclN0cmlu
ZyA9ICJNaXNzaW5nIGJyZWFrcG9pbnQgZm9yIGFsbCBsaXN0ZW5lcnMiX3M7CisgICAgICAgIG1f
cGF1c2VPbkFsbExpc3RlbmVyc0VuYWJsZWQgPSBmYWxzZTsKKyAgICAgICAgYnJlYWs7CisKKyAg
ICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRPTURlYnVnZ2VyOjpFdmVudEJyZWFrcG9pbnRU
eXBlOjpUaW1lb3V0OgorICAgICAgICBpZiAoIW1fcGF1c2VPbkFsbFRpbWVvdXRzRW5hYmxlZCkK
KyAgICAgICAgICAgIGVycm9yU3RyaW5nID0gIk1pc3NpbmcgYnJlYWtwb2ludCBmb3IgYWxsIHRp
bWVvdXRzIl9zOworICAgICAgICBtX3BhdXNlT25BbGxUaW1lb3V0c0VuYWJsZWQgPSBmYWxzZTsK
KyAgICAgICAgYnJlYWs7CisgICAgfQogfQogCiB2b2lkIEluc3BlY3RvckRPTURlYnVnZ2VyQWdl
bnQ6OndpbGxJbnZhbGlkYXRlU3R5bGVBdHRyKEVsZW1lbnQmIGVsZW1lbnQpCkBAIC00MDgsMTEg
KzQ2Nyw5IEBAIHZvaWQgSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudDo6d2lsbEhhbmRsZUV2ZW50
KEV2ZW50JiBldmVudCwgY29uc3QgUmVnaXN0ZXJlZEV2CiAKICAgICBhdXRvKiBkb21BZ2VudCA9
IG1faW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JET01BZ2VudCgpOwogCi0gICAgYm9vbCBz
aG91bGRQYXVzZSA9IG1fZGVidWdnZXJBZ2VudC0+cGF1c2VPbk5leHRTdGF0ZW1lbnRFbmFibGVk
KCkgfHwgbV9ldmVudEJyZWFrcG9pbnRzLmNvbnRhaW5zKHN0ZDo6bWFrZV9wYWlyKEluc3BlY3Rv
cjo6UHJvdG9jb2w6OkRPTURlYnVnZ2VyOjpFdmVudEJyZWFrcG9pbnRUeXBlOjpMaXN0ZW5lciwg
ZXZlbnQudHlwZSgpKSk7Ci0KKyAgICBib29sIHNob3VsZFBhdXNlID0gbV9kZWJ1Z2dlckFnZW50
LT5wYXVzZU9uTmV4dFN0YXRlbWVudEVuYWJsZWQoKSB8fCBtX3BhdXNlT25BbGxMaXN0ZW5lcnNF
bmFibGVkIHx8IG1fbGlzdGVuZXJCcmVha3BvaW50cy5jb250YWlucyhldmVudC50eXBlKCkpOwog
ICAgIGlmICghc2hvdWxkUGF1c2UgJiYgZG9tQWdlbnQpCiAgICAgICAgIHNob3VsZFBhdXNlID0g
ZG9tQWdlbnQtPmhhc0JyZWFrcG9pbnRGb3JFdmVudExpc3RlbmVyKCpldmVudC5jdXJyZW50VGFy
Z2V0KCksIGV2ZW50LnR5cGUoKSwgcmVnaXN0ZXJlZEV2ZW50TGlzdGVuZXIuY2FsbGJhY2soKSwg
cmVnaXN0ZXJlZEV2ZW50TGlzdGVuZXIudXNlQ2FwdHVyZSgpKTsKLQogICAgIGlmICghc2hvdWxk
UGF1c2UpCiAgICAgICAgIHJldHVybjsKIApAQCAtNDI0LDcgKzQ4MSw3IEBAIHZvaWQgSW5zcGVj
dG9yRE9NRGVidWdnZXJBZ2VudDo6d2lsbEhhbmRsZUV2ZW50KEV2ZW50JiBldmVudCwgY29uc3Qg
UmVnaXN0ZXJlZEV2CiAgICAgICAgICAgICBldmVudERhdGEtPnNldEludGVnZXIoImV2ZW50TGlz
dGVuZXJJZCJfcywgZXZlbnRMaXN0ZW5lcklkKTsKICAgICB9CiAKLSAgICBtX2RlYnVnZ2VyQWdl
bnQtPnNjaGVkdWxlUGF1c2VPbk5leHRTdGF0ZW1lbnQoSW5zcGVjdG9yOjpEZWJ1Z2dlckZyb250
ZW5kRGlzcGF0Y2hlcjo6UmVhc29uOjpFdmVudExpc3RlbmVyLCBXVEZNb3ZlKGV2ZW50RGF0YSkp
OworICAgIG1fZGVidWdnZXJBZ2VudC0+c2NoZWR1bGVQYXVzZU9uTmV4dFN0YXRlbWVudChJbnNw
ZWN0b3I6OkRlYnVnZ2VyRnJvbnRlbmREaXNwYXRjaGVyOjpSZWFzb246Okxpc3RlbmVyLCBXVEZN
b3ZlKGV2ZW50RGF0YSkpOwogfQogCiB2b2lkIEluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQ6OmRp
ZEhhbmRsZUV2ZW50KCkKQEAgLTQzNywxNCArNDk0LDExIEBAIHZvaWQgSW5zcGVjdG9yRE9NRGVi
dWdnZXJBZ2VudDo6d2lsbEZpcmVUaW1lcihib29sIG9uZVNob3QpCiAgICAgaWYgKCFtX2RlYnVn
Z2VyQWdlbnQtPmJyZWFrcG9pbnRzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIFN0
cmluZyBldmVudE5hbWUgPSBvbmVTaG90ID8gInNldFRpbWVvdXQiX3MgOiAic2V0SW50ZXJ2YWwi
X3M7Ci0gICAgYm9vbCBzaG91bGRQYXVzZSA9IG1fZGVidWdnZXJBZ2VudC0+cGF1c2VPbk5leHRT
dGF0ZW1lbnRFbmFibGVkKCkgfHwgbV9ldmVudEJyZWFrcG9pbnRzLmNvbnRhaW5zKHN0ZDo6bWFr
ZV9wYWlyKEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRPTURlYnVnZ2VyOjpFdmVudEJyZWFrcG9pbnRU
eXBlOjpUaW1lciwgZXZlbnROYW1lKSk7CisgICAgYm9vbCBzaG91bGRQYXVzZSA9IG1fZGVidWdn
ZXJBZ2VudC0+cGF1c2VPbk5leHRTdGF0ZW1lbnRFbmFibGVkKCkgfHwgKG9uZVNob3QgPyBtX3Bh
dXNlT25BbGxUaW1lb3V0c0VuYWJsZWQgOiBtX3BhdXNlT25BbGxJbnRlcnZhbHNFbmFibGVkKTsK
ICAgICBpZiAoIXNob3VsZFBhdXNlKQogICAgICAgICByZXR1cm47CiAKLSAgICBSZWY8SlNPTjo6
T2JqZWN0PiBldmVudERhdGEgPSBKU09OOjpPYmplY3Q6OmNyZWF0ZSgpOwotICAgIGV2ZW50RGF0
YS0+c2V0U3RyaW5nKCJldmVudE5hbWUiX3MsIGV2ZW50TmFtZSk7Ci0gICAgbV9kZWJ1Z2dlckFn
ZW50LT5zY2hlZHVsZVBhdXNlT25OZXh0U3RhdGVtZW50KEluc3BlY3Rvcjo6RGVidWdnZXJGcm9u
dGVuZERpc3BhdGNoZXI6OlJlYXNvbjo6VGltZXIsIFdURk1vdmUoZXZlbnREYXRhKSk7CisgICAg
bV9kZWJ1Z2dlckFnZW50LT5zY2hlZHVsZVBhdXNlT25OZXh0U3RhdGVtZW50KG9uZVNob3QgPyBJ
bnNwZWN0b3I6OkRlYnVnZ2VyRnJvbnRlbmREaXNwYXRjaGVyOjpSZWFzb246OlRpbWVvdXQgOiBJ
bnNwZWN0b3I6OkRlYnVnZ2VyRnJvbnRlbmREaXNwYXRjaGVyOjpSZWFzb246OkludGVydmFsLCBu
dWxscHRyKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50Ojp3aWxsRmlyZUFu
aW1hdGlvbkZyYW1lKCkKQEAgLTQ1MiwxNCArNTA2LDExIEBAIHZvaWQgSW5zcGVjdG9yRE9NRGVi
dWdnZXJBZ2VudDo6d2lsbEZpcmVBbmltYXRpb25GcmFtZSgpCiAgICAgaWYgKCFtX2RlYnVnZ2Vy
QWdlbnQtPmJyZWFrcG9pbnRzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIFN0cmlu
ZyBldmVudE5hbWUgPSAicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl9zOwotICAgIGJvb2wgc2hvdWxk
UGF1c2UgPSBtX2RlYnVnZ2VyQWdlbnQtPnBhdXNlT25OZXh0U3RhdGVtZW50RW5hYmxlZCgpIHx8
IG1fZXZlbnRCcmVha3BvaW50cy5jb250YWlucyhzdGQ6Om1ha2VfcGFpcihJbnNwZWN0b3I6OlBy
b3RvY29sOjpET01EZWJ1Z2dlcjo6RXZlbnRCcmVha3BvaW50VHlwZTo6QW5pbWF0aW9uRnJhbWUs
IGV2ZW50TmFtZSkpOworICAgIGJvb2wgc2hvdWxkUGF1c2UgPSBtX2RlYnVnZ2VyQWdlbnQtPnBh
dXNlT25OZXh0U3RhdGVtZW50RW5hYmxlZCgpIHx8IG1fcGF1c2VPbkFsbEFuaW1hdGlvbkZyYW1l
c0VuYWJsZWQ7CiAgICAgaWYgKCFzaG91bGRQYXVzZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
UmVmPEpTT046Ok9iamVjdD4gZXZlbnREYXRhID0gSlNPTjo6T2JqZWN0OjpjcmVhdGUoKTsKLSAg
ICBldmVudERhdGEtPnNldFN0cmluZygiZXZlbnROYW1lIl9zLCBldmVudE5hbWUpOwotICAgIG1f
ZGVidWdnZXJBZ2VudC0+c2NoZWR1bGVQYXVzZU9uTmV4dFN0YXRlbWVudChJbnNwZWN0b3I6OkRl
YnVnZ2VyRnJvbnRlbmREaXNwYXRjaGVyOjpSZWFzb246OkFuaW1hdGlvbkZyYW1lLCBXVEZNb3Zl
KGV2ZW50RGF0YSkpOworICAgIG1fZGVidWdnZXJBZ2VudC0+c2NoZWR1bGVQYXVzZU9uTmV4dFN0
YXRlbWVudChJbnNwZWN0b3I6OkRlYnVnZ2VyRnJvbnRlbmREaXNwYXRjaGVyOjpSZWFzb246OkFu
aW1hdGlvbkZyYW1lLCBudWxscHRyKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JET01EZWJ1Z2dlckFn
ZW50OjpzZXRVUkxCcmVha3BvaW50KEVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiB1cmwsIGNv
bnN0IGJvb2wqIG9wdGlvbmFsSXNSZWdleCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmgKaW5kZXggZGRh
NzMwZWFjM2I5ODA4M2I2NzA2MWUyNWE0NjI0Yjk5NjZjODliZS4uNGVmOWEwNDk5ZGZkYjhiMmFj
ZDIzY2E5OTMxMmQxZGFiYTFjOGNhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2FnZW50cy9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmgKQEAgLTYyLDgg
KzYyLDggQEAgcHVibGljOgogICAgIC8vIERPTURlYnVnZ2VyIEFQSQogICAgIHZvaWQgc2V0VVJM
QnJlYWtwb2ludChFcnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBib29sKiBv
cHRpb25hbElzUmVnZXgpIGZpbmFsOwogICAgIHZvaWQgcmVtb3ZlVVJMQnJlYWtwb2ludChFcnJv
clN0cmluZyYsIGNvbnN0IFN0cmluZyYgdXJsKSBmaW5hbDsKLSAgICB2b2lkIHNldEV2ZW50QnJl
YWtwb2ludChFcnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYgYnJlYWtwb2ludFR5cGUsIGNvbnN0
IFN0cmluZyYgZXZlbnROYW1lKSBmaW5hbDsKLSAgICB2b2lkIHJlbW92ZUV2ZW50QnJlYWtwb2lu
dChFcnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYgYnJlYWtwb2ludFR5cGUsIGNvbnN0IFN0cmlu
ZyYgZXZlbnROYW1lKSBmaW5hbDsKKyAgICB2b2lkIHNldEV2ZW50QnJlYWtwb2ludChFcnJvclN0
cmluZyYsIGNvbnN0IFN0cmluZyYgYnJlYWtwb2ludFR5cGUsIGNvbnN0IFN0cmluZyogZXZlbnRO
YW1lKSBmaW5hbDsKKyAgICB2b2lkIHJlbW92ZUV2ZW50QnJlYWtwb2ludChFcnJvclN0cmluZyYs
IGNvbnN0IFN0cmluZyYgYnJlYWtwb2ludFR5cGUsIGNvbnN0IFN0cmluZyogZXZlbnROYW1lKSBm
aW5hbDsKICAgICB2b2lkIHNldERPTUJyZWFrcG9pbnQoRXJyb3JTdHJpbmcmLCBpbnQgbm9kZUlk
LCBjb25zdCBTdHJpbmcmIHR5cGUpIGZpbmFsOwogICAgIHZvaWQgcmVtb3ZlRE9NQnJlYWtwb2lu
dChFcnJvclN0cmluZyYsIGludCBub2RlSWQsIGNvbnN0IFN0cmluZyYgdHlwZSkgZmluYWw7CiAK
QEAgLTk5LDcgKzk5LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRlc2NyaXB0aW9uRm9yRE9NRXZl
bnQoTm9kZSYgdGFyZ2V0LCBpbnQgYnJlYWtwb2ludFR5cGUsIGJvb2wgaW5zZXJ0aW9uLCBKU09O
OjpPYmplY3QmIGRlc2NyaXB0aW9uKTsKICAgICB2b2lkIHVwZGF0ZVN1YnRyZWVCcmVha3BvaW50
cyhOb2RlKiwgdWludDMyX3Qgcm9vdE1hc2ssIGJvb2wgc2V0KTsKICAgICBib29sIGhhc0JyZWFr
cG9pbnQoTm9kZSosIGludCB0eXBlKTsKLSAgICB2b2lkIGRpc2NhcmRCaW5kaW5ncygpOwogCiAg
ICAgUmVmUHRyPEluc3BlY3Rvcjo6RE9NRGVidWdnZXJCYWNrZW5kRGlzcGF0Y2hlcj4gbV9iYWNr
ZW5kRGlzcGF0Y2hlcjsKICAgICBJbnNwZWN0b3I6OkluamVjdGVkU2NyaXB0TWFuYWdlciYgbV9p
bmplY3RlZFNjcmlwdE1hbmFnZXI7CkBAIC0xMDcsMTUgKzEwNiwxNiBAQCBwcml2YXRlOgogICAg
IEluc3BlY3Rvcjo6SW5zcGVjdG9yRGVidWdnZXJBZ2VudCogbV9kZWJ1Z2dlckFnZW50IHsgbnVs
bHB0ciB9OwogCiAgICAgSGFzaE1hcDxOb2RlKiwgdWludDMyX3Q+IG1fZG9tQnJlYWtwb2ludHM7
Ci0KLSAgICB1c2luZyBFdmVudEJyZWFrcG9pbnRUeXBlID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6
RE9NRGVidWdnZXI6OkV2ZW50QnJlYWtwb2ludFR5cGU7Ci0gICAgSGFzaFNldDxzdGQ6OnBhaXI8
RXZlbnRCcmVha3BvaW50VHlwZSwgU3RyaW5nPiwKLSAgICAgICAgV1RGOjpQYWlySGFzaDxFdmVu
dEJyZWFrcG9pbnRUeXBlLCBTdHJpbmc+LAotICAgICAgICBXVEY6OlBhaXJIYXNoVHJhaXRzPFdU
Rjo6U3Ryb25nRW51bUhhc2hUcmFpdHM8RXZlbnRCcmVha3BvaW50VHlwZT4sIFdURjo6SGFzaFRy
YWl0czxTdHJpbmc+PgotICAgID4gbV9ldmVudEJyZWFrcG9pbnRzOworICAgIEhhc2hTZXQ8U3Ry
aW5nPiBtX2xpc3RlbmVyQnJlYWtwb2ludHM7CiAKICAgICBlbnVtIGNsYXNzIFVSTEJyZWFrcG9p
bnRUeXBlIHsgUmVndWxhckV4cHJlc3Npb24sIFRleHQgfTsKICAgICBIYXNoTWFwPFN0cmluZywg
VVJMQnJlYWtwb2ludFR5cGU+IG1fdXJsQnJlYWtwb2ludHM7CisKKyAgICBib29sIG1fcGF1c2VP
bkFsbEFuaW1hdGlvbkZyYW1lc0VuYWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9wYXVzZU9u
QWxsSW50ZXJ2YWxzRW5hYmxlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX3BhdXNlT25BbGxMaXN0
ZW5lcnNFbmFibGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1fcGF1c2VPbkFsbFRpbWVvdXRzRW5h
YmxlZCB7IGZhbHNlIH07CisKICAgICBib29sIG1fcGF1c2VPbkFsbFVSTHNFbmFibGVkIHsgZmFs
c2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRp
b25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
TG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IDk2NDZiZWM1
Yzc3YmRhODdiMWY2OTQ2ZjA4NWI5YzcyOWU4MzBmNTIuLmVjOTdhNWU3MjBlMzZlZWFhZmJhYzdk
YjU5NDE5NDdiMWRlZTgxMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2Nh
bGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwpAQCAt
OTYsMTQgKzk2LDE4IEBAIGxvY2FsaXplZFN0cmluZ3NbIkFkZCB3YXRjaCBleHByZXNzaW9uIl0g
PSAiQWRkIHdhdGNoIGV4cHJlc3Npb24iOwogbG9jYWxpemVkU3RyaW5nc1siQWRkaXRpb25zIl0g
PSAiQWRkaXRpb25zIjsKIGxvY2FsaXplZFN0cmluZ3NbIkFkZHJlc3MiXSA9ICJBZGRyZXNzIjsK
IGxvY2FsaXplZFN0cmluZ3NbIkFsbCJdID0gIkFsbCI7Citsb2NhbGl6ZWRTdHJpbmdzWyJBbGwg
QW5pbWF0aW9uIEZyYW1lcyJdID0gIkFsbCBBbmltYXRpb24gRnJhbWVzIjsKIGxvY2FsaXplZFN0
cmluZ3NbIkFsbCBDaGFuZ2VzIl0gPSAiQWxsIENoYW5nZXMiOworbG9jYWxpemVkU3RyaW5nc1si
QWxsIEV2ZW50cyJdID0gIkFsbCBFdmVudHMiOwogLyogQnJlYWsgKHBhdXNlKSBvbiBhbGwgZXhj
ZXB0aW9ucyAqLwogbG9jYWxpemVkU3RyaW5nc1siQWxsIEV4Y2VwdGlvbnMiXSA9ICJBbGwgRXhj
ZXB0aW9ucyI7Citsb2NhbGl6ZWRTdHJpbmdzWyJBbGwgSW50ZXJ2YWxzIl0gPSAiQWxsIEludGVy
dmFscyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJBbGwgTGF5ZXJzIl0gPSAiQWxsIExheWVycyI7CiAv
KiBBIHN1Ym1lbnUgaXRlbSBvZiAnQnJlYWsgb24nIHRoYXQgYnJlYWtzIChwYXVzZXMpIGJlZm9y
ZSBhbGwgbmV0d29yayByZXF1ZXN0cyAqLwogbG9jYWxpemVkU3RyaW5nc1siQWxsIFJlcXVlc3Rz
Il0gPSAiQWxsIFJlcXVlc3RzIjsKIGxvY2FsaXplZFN0cmluZ3NbIkFsbCBSZXNvdXJjZXMiXSA9
ICJBbGwgUmVzb3VyY2VzIjsKIGxvY2FsaXplZFN0cmluZ3NbIkFsbCBTdG9yYWdlIl0gPSAiQWxs
IFN0b3JhZ2UiOworbG9jYWxpemVkU3RyaW5nc1siQWxsIFRpbWVvdXRzIl0gPSAiQWxsIFRpbWVv
dXRzIjsKIGxvY2FsaXplZFN0cmluZ3NbIkFsbCBpdGVtcyBpbiBcdTAwMjIlc1x1MDAyMiBtdXN0
IGJlIGVycm9yIG9iamVjdHMiXSA9ICJBbGwgaXRlbXMgaW4gXHUwMDIyJXNcdTAwMjIgbXVzdCBi
ZSBlcnJvciBvYmplY3RzIjsKIGxvY2FsaXplZFN0cmluZ3NbIkFsbCBpdGVtcyBpbiBcdTAwMjIl
c1x1MDAyMiBtdXN0IGJlIG5vbi1lbXB0eSBzdHJpbmdzIl0gPSAiQWxsIGl0ZW1zIGluIFx1MDAy
MiVzXHUwMDIyIG11c3QgYmUgbm9uLWVtcHR5IHN0cmluZ3MiOwogbG9jYWxpemVkU3RyaW5nc1si
QWxsIGl0ZW1zIGluIFx1MDAyMiVzXHUwMDIyIG11c3QgYmUgdmFsaWQgRE9NIG5vZGVzIl0gPSAi
QWxsIGl0ZW1zIGluIFx1MDAyMiVzXHUwMDIyIG11c3QgYmUgdmFsaWQgRE9NIG5vZGVzIjsKQEAg
LTMwMCw3ICszMDQsNiBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJDdXN0b20iXSA9ICJDdXN0b20iOwog
bG9jYWxpemVkU3RyaW5nc1siRE5TIl0gPSAiRE5TIjsKIGxvY2FsaXplZFN0cmluZ3NbIkRPTSJd
ID0gIkRPTSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJET00gQ29udGVudCBMb2FkZWQgXHUyMDE0ICVz
Il0gPSAiRE9NIENvbnRlbnQgTG9hZGVkIFx1MjAxNCAlcyI7Ci1sb2NhbGl6ZWRTdHJpbmdzWyJE
T00gRXZlbnQiXSA9ICJET00gRXZlbnQiOwogbG9jYWxpemVkU3RyaW5nc1siRE9NIEV2ZW50cyJd
ID0gIkRPTSBFdmVudHMiOwogbG9jYWxpemVkU3RyaW5nc1siRE9NIE5vZGVzOiJdID0gIkRPTSBO
b2RlczoiOwogbG9jYWxpemVkU3RyaW5nc1siRGFtcGluZyJdID0gIkRhbXBpbmciOwpAQCAtMTI1
Niw2ICsxMjU5LDkgQEAgbG9jYWxpemVkU3RyaW5nc1sibm9uLXN0cmluZyAlcyJdID0gIm5vbi1z
dHJpbmcgJXMiOwogbG9jYWxpemVkU3RyaW5nc1sib3JpZ2luYWxseSAlcyJdID0gIm9yaWdpbmFs
bHkgJXMiOwogbG9jYWxpemVkU3RyaW5nc1sicG9wdXAiXSA9ICJwb3B1cCI7CiBsb2NhbGl6ZWRT
dHJpbmdzWyJwb3B1cCwgdG9nZ2xlIl0gPSAicG9wdXAsIHRvZ2dsZSI7Citsb2NhbGl6ZWRTdHJp
bmdzWyJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUgRmlyZWQiXSA9ICJyZXF1ZXN0QW5pbWF0aW9uRnJh
bWUgRmlyZWQiOworbG9jYWxpemVkU3RyaW5nc1sic2V0SW50ZXJ2YWwgRmlyZWQiXSA9ICJzZXRJ
bnRlcnZhbCBGaXJlZCI7Citsb2NhbGl6ZWRTdHJpbmdzWyJzZXRUaW1lb3V0IEZpcmVkIl0gPSAi
c2V0VGltZW91dCBGaXJlZCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJzcGFjZSJdID0gInNwYWNlIjsK
IGxvY2FsaXplZFN0cmluZ3NbInNwYWNlcyJdID0gInNwYWNlcyI7CiBsb2NhbGl6ZWRTdHJpbmdz
WyJ0aW1lIGJlZm9yZSBzdG9wcGluZyJdID0gInRpbWUgYmVmb3JlIHN0b3BwaW5nIjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvU2V0dGluZy5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvU2V0dGluZy5qcwpp
bmRleCBkODc3ZGQzODdiMDliOTI1MDI1NjgzYjkzZDdhMWMwYmM0NjRiZTY3Li4wZGQ1MTYxOGIy
OGQ2Y2YwYWU4NGZhNTQyMTcyMWU3NWM3YjJhOTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL1NldHRpbmcuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9TZXR0aW5nLmpzCkBAIC0xNTgsNyArMTU4LDEx
IEBAIFdJLnNldHRpbmdzID0gewogICAgIHNlYXJjaFJlZ3VsYXJFeHByZXNzaW9uOiBuZXcgV0ku
U2V0dGluZygic2VhcmNoLXJlZ3VsYXItZXhwcmVzc2lvbiIsIGZhbHNlKSwKICAgICBzZWxlY3Rl
ZE5ldHdvcmtEZXRhaWxDb250ZW50Vmlld0lkZW50aWZpZXI6IG5ldyBXSS5TZXR0aW5nKCJuZXR3
b3JrLWRldGFpbC1jb250ZW50LXZpZXctaWRlbnRpZmllciIsICJwcmV2aWV3IiksCiAgICAgc291
cmNlTWFwc0VuYWJsZWQ6IG5ldyBXSS5TZXR0aW5nKCJzb3VyY2UtbWFwcy1lbmFibGVkIiwgdHJ1
ZSksCisgICAgc2hvd0FsbEFuaW1hdGlvbkZyYW1lc0JyZWFrcG9pbnQ6IG5ldyBXSS5TZXR0aW5n
KCJzaG93LWFsbC1hbmltYXRpb24tZnJhbWVzLWJyZWFrcG9pbnQiLCBmYWxzZSksCisgICAgc2hv
d0FsbEludGVydmFsc0JyZWFrcG9pbnQ6IG5ldyBXSS5TZXR0aW5nKCJzaG93LWFsbC1pbnRldmVy
YWxzLWJyZWFrcG9pbnQiLCBmYWxzZSksCisgICAgc2hvd0FsbExpc3RlbmVyc0JyZWFrcG9pbnQ6
IG5ldyBXSS5TZXR0aW5nKCJzaG93LWFsbC1saXN0ZW5lcnMtYnJlYWtwb2ludCIsIGZhbHNlKSwK
ICAgICBzaG93QWxsUmVxdWVzdHNCcmVha3BvaW50OiBuZXcgV0kuU2V0dGluZygic2hvdy1hbGwt
cmVxdWVzdHMtYnJlYWtwb2ludCIsIHRydWUpLAorICAgIHNob3dBbGxUaW1lb3V0c0JyZWFrcG9p
bnQ6IG5ldyBXSS5TZXR0aW5nKCJzaG93LWFsbC10aW1lb3V0cy1icmVha3BvaW50IiwgZmFsc2Up
LAogICAgIHNob3dBc3NlcnRpb25GYWlsdXJlc0JyZWFrcG9pbnQ6IG5ldyBXSS5TZXR0aW5nKCJz
aG93LWFzc2VydGlvbi1mYWlsdXJlcy1icmVha3BvaW50IiwgdHJ1ZSksCiAgICAgc2hvd0NhbnZh
c1BhdGg6IG5ldyBXSS5TZXR0aW5nKCJzaG93LWNhbnZhcy1wYXRoIiwgZmFsc2UpLAogICAgIHNo
b3dJbWFnZUdyaWQ6IG5ldyBXSS5TZXR0aW5nKCJzaG93LWltYWdlLWdyaWQiLCBmYWxzZSksCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVy
cy9ET01EZWJ1Z2dlck1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Db250cm9sbGVycy9ET01EZWJ1Z2dlck1hbmFnZXIuanMKaW5kZXggZGQ4OGE2MzU5NDNk
OWI0N2U5Mzg2MzgzOTI3ODgyNDQxODBkMDc4YS4uZGUzNjA0MjRjOWUzZDg3NmI0NjZhYTMxZGI3
Y2Y5OTU1MjM2NDgwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvQ29udHJvbGxlcnMvRE9NRGVidWdnZXJNYW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTURlYnVnZ2VyTWFuYWdlci5q
cwpAQCAtMzIsMTEgKzMyLDMxIEBAIFdJLkRPTURlYnVnZ2VyTWFuYWdlciA9IGNsYXNzIERPTURl
YnVnZ2VyTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICB0aGlzLl9kb21CcmVha3Bv
aW50VVJMTWFwID0gbmV3IE11bHRpbWFwOwogICAgICAgICB0aGlzLl9kb21CcmVha3BvaW50RnJh
bWVJZGVudGlmaWVyTWFwID0gbmV3IE1hcDsKIAotICAgICAgICB0aGlzLl9ldmVudEJyZWFrcG9p
bnRzID0gW107CisgICAgICAgIHRoaXMuX2xpc3RlbmVyQnJlYWtwb2ludHMgPSBbXTsKKworICAg
ICAgICB0aGlzLl9hbGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50RW5hYmxlZFNldHRpbmcgPSBu
ZXcgV0kuU2V0dGluZygiYnJlYWstb24tYWxsLWFuaW1hdGlvbi1mcmFtZXMiLCBmYWxzZSk7Cisg
ICAgICAgIHRoaXMuX2FsbEFuaW1hdGlvbkZyYW1lc0JyZWFrcG9pbnQgPSBuZXcgV0kuRXZlbnRC
cmVha3BvaW50KFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkFuaW1hdGlvbkZyYW1lLCB7CisgICAg
ICAgICAgICBkaXNhYmxlZDogIXRoaXMuX2FsbEFuaW1hdGlvbkZyYW1lc0JyZWFrcG9pbnRFbmFi
bGVkU2V0dGluZy52YWx1ZSwKKyAgICAgICAgfSk7CisKKyAgICAgICAgdGhpcy5fYWxsSW50ZXJ2
YWxzQnJlYWtwb2ludEVuYWJsZWRTZXR0aW5nID0gbmV3IFdJLlNldHRpbmcoImJyZWFrLW9uLWFs
bC1pbnRlcnZhbHMiLCBmYWxzZSk7CisgICAgICAgIHRoaXMuX2FsbEludGVydmFsc0JyZWFrcG9p
bnQgPSBuZXcgV0kuRXZlbnRCcmVha3BvaW50KFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkludGVy
dmFsLCB7CisgICAgICAgICAgICBkaXNhYmxlZDogIXRoaXMuX2FsbEludGVydmFsc0JyZWFrcG9p
bnRFbmFibGVkU2V0dGluZy52YWx1ZSwKKyAgICAgICAgfSk7CisKKyAgICAgICAgdGhpcy5fYWxs
TGlzdGVuZXJzQnJlYWtwb2ludEVuYWJsZWRTZXR0aW5nID0gbmV3IFdJLlNldHRpbmcoImJyZWFr
LW9uLWFsbC1saXN0ZW5lcnMiLCBmYWxzZSk7CisgICAgICAgIHRoaXMuX2FsbExpc3RlbmVyc0Jy
ZWFrcG9pbnQgPSBuZXcgV0kuRXZlbnRCcmVha3BvaW50KFdJLkV2ZW50QnJlYWtwb2ludC5UeXBl
Lkxpc3RlbmVyLCB7CisgICAgICAgICAgICBkaXNhYmxlZDogIXRoaXMuX2FsbExpc3RlbmVyc0Jy
ZWFrcG9pbnRFbmFibGVkU2V0dGluZy52YWx1ZSwKKyAgICAgICAgfSk7CisKKyAgICAgICAgdGhp
cy5fYWxsVGltZW91dHNCcmVha3BvaW50RW5hYmxlZFNldHRpbmcgPSBuZXcgV0kuU2V0dGluZygi
YnJlYWstb24tYWxsLXRpbWVvdXRzIiwgZmFsc2UpOworICAgICAgICB0aGlzLl9hbGxUaW1lb3V0
c0JyZWFrcG9pbnQgPSBuZXcgV0kuRXZlbnRCcmVha3BvaW50KFdJLkV2ZW50QnJlYWtwb2ludC5U
eXBlLlRpbWVvdXQsIHsKKyAgICAgICAgICAgIGRpc2FibGVkOiAhdGhpcy5fYWxsVGltZW91dHNC
cmVha3BvaW50RW5hYmxlZFNldHRpbmcudmFsdWUsCisgICAgICAgIH0pOwogCiAgICAgICAgIHRo
aXMuX3VybEJyZWFrcG9pbnRzID0gW107Ci0gICAgICAgIHRoaXMuX2FsbFJlcXVlc3RzQnJlYWtw
b2ludEVuYWJsZWRTZXR0aW5nID0gbmV3IFdJLlNldHRpbmcoImJyZWFrLW9uLWFsbC1yZXF1ZXN0
cyIsIGZhbHNlKTsKIAorICAgICAgICB0aGlzLl9hbGxSZXF1ZXN0c0JyZWFrcG9pbnRFbmFibGVk
U2V0dGluZyA9IG5ldyBXSS5TZXR0aW5nKCJicmVhay1vbi1hbGwtcmVxdWVzdHMiLCBmYWxzZSk7
CiAgICAgICAgIHRoaXMuX2FsbFJlcXVlc3RzQnJlYWtwb2ludCA9IG5ldyBXSS5VUkxCcmVha3Bv
aW50KFdJLlVSTEJyZWFrcG9pbnQuVHlwZS5UZXh0LCAiIiwgewogICAgICAgICAgICAgZGlzYWJs
ZWQ6ICF0aGlzLl9hbGxSZXF1ZXN0c0JyZWFrcG9pbnRFbmFibGVkU2V0dGluZy52YWx1ZSwKICAg
ICAgICAgfSk7CkBAIC03NiwxNSArOTYsNTIgQEAgV0kuRE9NRGVidWdnZXJNYW5hZ2VyID0gY2xh
c3MgRE9NRGVidWdnZXJNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICB0aGlz
Ll9yZXN0b3JpbmdCcmVha3BvaW50cyA9IGZhbHNlOwogICAgICAgICB9OwogCi0gICAgICAgIGlm
ICh0aGlzLnN1cHBvcnRlZCkgeworICAgICAgICBpZiAoRE9NRGVidWdnZXJNYW5hZ2VyLnN1cHBv
cnRzRE9NQnJlYWtwb2ludHMoKSkgewogICAgICAgICAgICAgbG9hZEJyZWFrcG9pbnRzKFdJLkRP
TUJyZWFrcG9pbnQsIFdJLm9iamVjdFN0b3Jlcy5kb21CcmVha3BvaW50cywgWyJkb20tYnJlYWtw
b2ludHMiXSwgKGJyZWFrcG9pbnQpID0+IHsKICAgICAgICAgICAgICAgICB0aGlzLmFkZERPTUJy
ZWFrcG9pbnQoYnJlYWtwb2ludCk7CiAgICAgICAgICAgICB9KTsKKyAgICAgICAgfQogCisgICAg
ICAgIGlmIChET01EZWJ1Z2dlck1hbmFnZXIuc3VwcG9ydHNFdmVudEJyZWFrcG9pbnRzKCkgfHwg
RE9NRGVidWdnZXJNYW5hZ2VyLnN1cHBvcnRzRXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRzKCkpIHsK
ICAgICAgICAgICAgIGxvYWRCcmVha3BvaW50cyhXSS5FdmVudEJyZWFrcG9pbnQsIFdJLm9iamVj
dFN0b3Jlcy5ldmVudEJyZWFrcG9pbnRzLCBbImV2ZW50LWJyZWFrcG9pbnRzIl0sIChicmVha3Bv
aW50KSA9PiB7CisgICAgICAgICAgICAgICAgc3dpdGNoIChicmVha3BvaW50LnR5cGUpIHsKKyAg
ICAgICAgICAgICAgICBjYXNlIFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkFuaW1hdGlvbkZyYW1l
OgorICAgICAgICAgICAgICAgICAgICB0aGlzLl9hbGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50
LmRpc2FibGVkID0gYnJlYWtwb2ludC5kaXNhYmxlZDsKKyAgICAgICAgICAgICAgICAgICAgaWYg
KCFXSS5zZXR0aW5ncy5zaG93QWxsQW5pbWF0aW9uRnJhbWVzQnJlYWtwb2ludC52YWx1ZSkgewor
ICAgICAgICAgICAgICAgICAgICAgICAgV0kuc2V0dGluZ3Muc2hvd0FsbEFuaW1hdGlvbkZyYW1l
c0JyZWFrcG9pbnQudmFsdWUgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5h
ZGRFdmVudEJyZWFrcG9pbnQodGhpcy5fYWxsQW5pbWF0aW9uRnJhbWVzQnJlYWtwb2ludCk7Cisg
ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgV0kub2JqZWN0U3RvcmVz
LmV2ZW50QnJlYWtwb2ludHMuZGVsZXRlT2JqZWN0KGJyZWFrcG9pbnQpOworICAgICAgICAgICAg
ICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgICAgICBjYXNlIFdJLkV2ZW50QnJlYWtwb2lu
dC5UeXBlLlRpbWVyOgorICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGJyZWFrcG9pbnQuZXZl
bnROYW1lKSB7CisgICAgICAgICAgICAgICAgICAgIGNhc2UgInNldFRpbWVvdXQiOgorICAgICAg
ICAgICAgICAgICAgICAgICAgdGhpcy5fYWxsVGltZW91dHNCcmVha3BvaW50LmRpc2FibGVkID0g
YnJlYWtwb2ludC5kaXNhYmxlZDsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghV0kuc2V0
dGluZ3Muc2hvd0FsbFRpbWVvdXRzQnJlYWtwb2ludC52YWx1ZSkgeworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFdJLnNldHRpbmdzLnNob3dBbGxUaW1lb3V0c0JyZWFrcG9pbnQudmFsdWUg
PSB0cnVlOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkRXZlbnRCcmVha3Bv
aW50KHRoaXMuX2FsbFRpbWVvdXRzQnJlYWtwb2ludCk7CisgICAgICAgICAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgICAg
ICBjYXNlICJzZXRJbnRlcnZhbCI6CisgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9hbGxJ
bnRlcnZhbHNCcmVha3BvaW50LmRpc2FibGVkID0gYnJlYWtwb2ludC5kaXNhYmxlZDsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICghV0kuc2V0dGluZ3Muc2hvd0FsbEludGVydmFsc0JyZWFr
cG9pbnQudmFsdWUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBXSS5zZXR0aW5ncy5z
aG93QWxsSW50ZXJ2YWxzQnJlYWtwb2ludC52YWx1ZSA9IHRydWU7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdGhpcy5hZGRFdmVudEJyZWFrcG9pbnQodGhpcy5fYWxsSW50ZXJ2YWxzQnJl
YWtwb2ludCk7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAg
IFdJLm9iamVjdFN0b3Jlcy5ldmVudEJyZWFrcG9pbnRzLmRlbGV0ZU9iamVjdChicmVha3BvaW50
KTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIH0KKwogICAg
ICAgICAgICAgICAgIHRoaXMuYWRkRXZlbnRCcmVha3BvaW50KGJyZWFrcG9pbnQpOwogICAgICAg
ICAgICAgfSk7CisgICAgICAgIH0KIAorICAgICAgICBpZiAoRE9NRGVidWdnZXJNYW5hZ2VyLnN1
cHBvcnRzVVJMQnJlYWtwb2ludHMoKSB8fCBET01EZWJ1Z2dlck1hbmFnZXIuc3VwcG9ydHNYSFJC
cmVha3BvaW50cygpKSB7CiAgICAgICAgICAgICBsb2FkQnJlYWtwb2ludHMoV0kuVVJMQnJlYWtw
b2ludCwgV0kub2JqZWN0U3RvcmVzLnVybEJyZWFrcG9pbnRzLCBbInhoci1icmVha3BvaW50cyIs
ICJ1cmwtYnJlYWtwb2ludHMiXSwgKGJyZWFrcG9pbnQpID0+IHsKICAgICAgICAgICAgICAgICB0
aGlzLmFkZFVSTEJyZWFrcG9pbnQoYnJlYWtwb2ludCk7CiAgICAgICAgICAgICB9KTsKQEAgLTk5
LDMxICsxNTYsNjkgQEAgV0kuRE9NRGVidWdnZXJNYW5hZ2VyID0gY2xhc3MgRE9NRGVidWdnZXJN
YW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICBpZiAodGFyZ2V0ID09PSBXSS5h
c3N1bWluZ01haW5UYXJnZXQoKSAmJiB0YXJnZXQubWFpblJlc291cmNlKQogICAgICAgICAgICAg
ICAgIHRoaXMuX3NwZWN1bGF0aXZlbHlSZXNvbHZlRE9NQnJlYWtwb2ludHNGb3JVUkwodGFyZ2V0
Lm1haW5SZXNvdXJjZS51cmwpOwogCi0gICAgICAgICAgICBmb3IgKGxldCBicmVha3BvaW50IG9m
IHRoaXMuX2V2ZW50QnJlYWtwb2ludHMpIHsKKyAgICAgICAgICAgIGlmICghdGhpcy5fYWxsQW5p
bWF0aW9uRnJhbWVzQnJlYWtwb2ludC5kaXNhYmxlZCkKKyAgICAgICAgICAgICAgICB0aGlzLl91
cGRhdGVFdmVudEJyZWFrcG9pbnQodGhpcy5fYWxsQW5pbWF0aW9uRnJhbWVzQnJlYWtwb2ludCwg
dGFyZ2V0KTsKKworICAgICAgICAgICAgaWYgKCF0aGlzLl9hbGxJbnRlcnZhbHNCcmVha3BvaW50
LmRpc2FibGVkKQorICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUV2ZW50QnJlYWtwb2ludCh0
aGlzLl9hbGxJbnRlcnZhbHNCcmVha3BvaW50LCB0YXJnZXQpOworCisgICAgICAgICAgICBpZiAo
IXRoaXMuX2FsbExpc3RlbmVyc0JyZWFrcG9pbnQuZGlzYWJsZWQpCisgICAgICAgICAgICAgICAg
dGhpcy5fdXBkYXRlRXZlbnRCcmVha3BvaW50KHRoaXMuX2FsbExpc3RlbmVyc0JyZWFrcG9pbnQs
IHRhcmdldCk7CisKKyAgICAgICAgICAgIGlmICghdGhpcy5fYWxsVGltZW91dHNCcmVha3BvaW50
LmRpc2FibGVkKQorICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUV2ZW50QnJlYWtwb2ludCh0
aGlzLl9hbGxUaW1lb3V0c0JyZWFrcG9pbnQsIHRhcmdldCk7CisKKyAgICAgICAgICAgIGZvciAo
bGV0IGJyZWFrcG9pbnQgb2YgdGhpcy5fbGlzdGVuZXJCcmVha3BvaW50cykgewogICAgICAgICAg
ICAgICAgIGlmICghYnJlYWtwb2ludC5kaXNhYmxlZCkKICAgICAgICAgICAgICAgICAgICAgdGhp
cy5fdXBkYXRlRXZlbnRCcmVha3BvaW50KGJyZWFrcG9pbnQsIHRhcmdldCk7CiAgICAgICAgICAg
ICB9CiAKKyAgICAgICAgICAgIGlmICghdGhpcy5fYWxsUmVxdWVzdHNCcmVha3BvaW50LmRpc2Fi
bGVkKQorICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVVSTEJyZWFrcG9pbnQodGhpcy5fYWxs
UmVxdWVzdHNCcmVha3BvaW50LCB0YXJnZXQpOworCiAgICAgICAgICAgICBmb3IgKGxldCBicmVh
a3BvaW50IG9mIHRoaXMuX3VybEJyZWFrcG9pbnRzKSB7CiAgICAgICAgICAgICAgICAgaWYgKCFi
cmVha3BvaW50LmRpc2FibGVkKQogICAgICAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVVUkxC
cmVha3BvaW50KGJyZWFrcG9pbnQsIHRhcmdldCk7CiAgICAgICAgICAgICB9Ci0KLSAgICAgICAg
ICAgIGlmICghdGhpcy5fYWxsUmVxdWVzdHNCcmVha3BvaW50LmRpc2FibGVkKQotICAgICAgICAg
ICAgICAgIHRoaXMuX3VwZGF0ZVVSTEJyZWFrcG9pbnQodGhpcy5fYWxsUmVxdWVzdHNCcmVha3Bv
aW50LCB0YXJnZXQpOwogICAgICAgICB9CiAgICAgfQogCiAgICAgLy8gU3RhdGljCiAKKyAgICBz
dGF0aWMgc3VwcG9ydHNET01CcmVha3BvaW50cygpCisgICAgeworICAgICAgICAvLyBDT01QQVRJ
QklMSVRZIChpT1MgMTAuMyk6IERPTURlYnVnZ2VyLnNldERPTUJyZWFrcG9pbnQgYW5kIERPTURl
YnVnZ2VyLnJlbW92ZURPTUJyZWFrcG9pbnQgZGlkIG5vdCBleGlzdC4KKyAgICAgICAgcmV0dXJu
IEluc3BlY3RvckJhY2tlbmQuZG9tYWlucy5ET01EZWJ1Z2dlciAmJiBJbnNwZWN0b3JCYWNrZW5k
LmRvbWFpbnMuRE9NRGVidWdnZXIuc2V0RE9NQnJlYWtwb2ludCAmJiBJbnNwZWN0b3JCYWNrZW5k
LmRvbWFpbnMuRE9NRGVidWdnZXIucmVtb3ZlRE9NQnJlYWtwb2ludDsKKyAgICB9CisKICAgICBz
dGF0aWMgc3VwcG9ydHNFdmVudEJyZWFrcG9pbnRzKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBJ
bnNwZWN0b3JCYWNrZW5kLmRvbWFpbnMuRE9NRGVidWdnZXIuc2V0RXZlbnRCcmVha3BvaW50ICYm
IEluc3BlY3RvckJhY2tlbmQuZG9tYWlucy5ET01EZWJ1Z2dlci5yZW1vdmVFdmVudEJyZWFrcG9p
bnQ7CisgICAgICAgIC8vIENPTVBBVElCSUxJVFkgKGlPUyAxMyk6IERPTURlYnVnZ2VyLnNldEV2
ZW50QnJlYWtwb2ludCBhbmQgRE9NRGVidWdnZXIucmVtb3ZlRXZlbnRCcmVha3BvaW50IGRpZCBu
b3QgZXhpc3QuCisgICAgICAgIHJldHVybiBJbnNwZWN0b3JCYWNrZW5kLmRvbWFpbnMuRE9NRGVi
dWdnZXIgJiYgSW5zcGVjdG9yQmFja2VuZC5kb21haW5zLkRPTURlYnVnZ2VyLnNldEV2ZW50QnJl
YWtwb2ludCAmJiBJbnNwZWN0b3JCYWNrZW5kLmRvbWFpbnMuRE9NRGVidWdnZXIucmVtb3ZlRXZl
bnRCcmVha3BvaW50OworICAgIH0KKworICAgIHN0YXRpYyBzdXBwb3J0c0V2ZW50TGlzdGVuZXJC
cmVha3BvaW50cygpCisgICAgeworICAgICAgICAvLyBDT01QQVRJQklMSVRZIChpT1MgMTIuMik6
IFJlcGxhY2VkIGJ5IERPTURlYnVnZ2VyLnNldEV2ZW50QnJlYWtwb2ludCBhbmQgRE9NRGVidWdn
ZXIucmVtb3ZlRXZlbnRCcmVha3BvaW50LgorICAgICAgICByZXR1cm4gSW5zcGVjdG9yQmFja2Vu
ZC5kb21haW5zLkRPTURlYnVnZ2VyICYmIEluc3BlY3RvckJhY2tlbmQuZG9tYWlucy5ET01EZWJ1
Z2dlci5zZXRFdmVudExpc3RlbmVyQnJlYWtwb2ludCAmJiBJbnNwZWN0b3JCYWNrZW5kLmRvbWFp
bnMuRE9NRGVidWdnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lckJyZWFrcG9pbnQ7CiAgICAgfQogCiAg
ICAgc3RhdGljIHN1cHBvcnRzVVJMQnJlYWtwb2ludHMoKQogICAgIHsKLSAgICAgICAgcmV0dXJu
IEluc3BlY3RvckJhY2tlbmQuZG9tYWlucy5ET01EZWJ1Z2dlci5zZXRVUkxCcmVha3BvaW50ICYm
IEluc3BlY3RvckJhY2tlbmQuZG9tYWlucy5ET01EZWJ1Z2dlci5yZW1vdmVVUkxCcmVha3BvaW50
OworICAgICAgICAvLyBDT01QQVRJQklMSVRZIChpT1MgMTMpOiBET01EZWJ1Z2dlci5zZXRVUkxC
cmVha3BvaW50IGFuZCBET01EZWJ1Z2dlci5yZW1vdmVVUkxCcmVha3BvaW50IGRpZCBub3QgZXhp
c3QuCisgICAgICAgIHJldHVybiBJbnNwZWN0b3JCYWNrZW5kLmRvbWFpbnMuRE9NRGVidWdnZXIg
JiYgSW5zcGVjdG9yQmFja2VuZC5kb21haW5zLkRPTURlYnVnZ2VyLnNldFVSTEJyZWFrcG9pbnQg
JiYgSW5zcGVjdG9yQmFja2VuZC5kb21haW5zLkRPTURlYnVnZ2VyLnJlbW92ZVVSTEJyZWFrcG9p
bnQ7CisgICAgfQorCisgICAgc3RhdGljIHN1cHBvcnRzWEhSQnJlYWtwb2ludHMoKQorICAgIHsK
KyAgICAgICAgLy8gQ09NUEFUSUJJTElUWSAoaU9TIDEzKTogUmVwbGFjZWQgYnkgRE9NRGVidWdn
ZXIuc2V0VVJMQnJlYWtwb2ludCBhbmQgRE9NRGVidWdnZXIucmVtb3ZlVVJMQnJlYWtwb2ludC4K
KyAgICAgICAgcmV0dXJuIEluc3BlY3RvckJhY2tlbmQuZG9tYWlucy5ET01EZWJ1Z2dlciAmJiBJ
bnNwZWN0b3JCYWNrZW5kLmRvbWFpbnMuRE9NRGVidWdnZXIuc2V0WEhSQnJlYWtwb2ludCAmJiBJ
bnNwZWN0b3JCYWNrZW5kLmRvbWFpbnMuRE9NRGVidWdnZXIucmVtb3ZlWEhSQnJlYWtwb2ludDsK
KyAgICB9CisKKyAgICBzdGF0aWMgc3VwcG9ydHNBbGxMaXN0ZW5lcnNCcmVha3BvaW50KCkKKyAg
ICB7CisgICAgICAgIC8vIENPTVBBVElCSUxJVFkgKGlPUyAxMyk6IERPTURlYnVnZ2VyLkV2ZW50
QnJlYWtwb2ludFR5cGUuSW50ZXJ2YWwgYW5kIERPTURlYnVnZ2VyLkV2ZW50QnJlYWtwb2ludFR5
cGUuVGltZW91dCBkaWQgbm90IGV4aXN0LgorICAgICAgICByZXR1cm4gRE9NRGVidWdnZXJNYW5h
Z2VyLnN1cHBvcnRzRXZlbnRCcmVha3BvaW50cygpICYmIEluc3BlY3RvckJhY2tlbmQuZG9tYWlu
cy5ET01EZWJ1Z2dlci5FdmVudEJyZWFrcG9pbnRUeXBlLkludGVydmFsICYmIEluc3BlY3RvckJh
Y2tlbmQuZG9tYWlucy5ET01EZWJ1Z2dlci5FdmVudEJyZWFrcG9pbnRUeXBlLlRpbWVvdXQ7CiAg
ICAgfQogCiAgICAgLy8gUHVibGljCkBAIC0xMzMsNiArMjI4LDEwIEBAIFdJLkRPTURlYnVnZ2Vy
TWFuYWdlciA9IGNsYXNzIERPTURlYnVnZ2VyTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAg
ICAgICByZXR1cm4gISFJbnNwZWN0b3JCYWNrZW5kLmRvbWFpbnMuRE9NRGVidWdnZXI7CiAgICAg
fQogCisgICAgZ2V0IGFsbEFuaW1hdGlvbkZyYW1lc0JyZWFrcG9pbnQoKSB7IHJldHVybiB0aGlz
Ll9hbGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50OyB9CisgICAgZ2V0IGFsbEludGVydmFsc0Jy
ZWFrcG9pbnQoKSB7IHJldHVybiB0aGlzLl9hbGxJbnRlcnZhbHNCcmVha3BvaW50OyB9CisgICAg
Z2V0IGFsbExpc3RlbmVyc0JyZWFrcG9pbnQoKSB7IHJldHVybiB0aGlzLl9hbGxMaXN0ZW5lcnNC
cmVha3BvaW50OyB9CisgICAgZ2V0IGFsbFRpbWVvdXRzQnJlYWtwb2ludCgpIHsgcmV0dXJuIHRo
aXMuX2FsbFRpbWVvdXRzQnJlYWtwb2ludDsgfQogICAgIGdldCBhbGxSZXF1ZXN0c0JyZWFrcG9p
bnQoKSB7IHJldHVybiB0aGlzLl9hbGxSZXF1ZXN0c0JyZWFrcG9pbnQ7IH0KIAogICAgIGdldCBk
b21CcmVha3BvaW50cygpCkBAIC0xNTUsMTMgKzI1NCwxNiBAQCBXSS5ET01EZWJ1Z2dlck1hbmFn
ZXIgPSBjbGFzcyBET01EZWJ1Z2dlck1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAg
cmV0dXJuIHJlc29sdmVkQnJlYWtwb2ludHM7CiAgICAgfQogCi0gICAgZ2V0IGV2ZW50QnJlYWtw
b2ludHMoKSB7IHJldHVybiB0aGlzLl9ldmVudEJyZWFrcG9pbnRzOyB9Ci0KKyAgICBnZXQgbGlz
dGVuZXJCcmVha3BvaW50cygpIHsgcmV0dXJuIHRoaXMuX2xpc3RlbmVyQnJlYWtwb2ludHM7IH0K
ICAgICBnZXQgdXJsQnJlYWtwb2ludHMoKSB7IHJldHVybiB0aGlzLl91cmxCcmVha3BvaW50czsg
fQogCiAgICAgaXNCcmVha3BvaW50U3BlY2lhbChicmVha3BvaW50KQogICAgIHsKLSAgICAgICAg
cmV0dXJuIGJyZWFrcG9pbnQgPT09IHRoaXMuX2FsbFJlcXVlc3RzQnJlYWtwb2ludDsKKyAgICAg
ICAgcmV0dXJuIGJyZWFrcG9pbnQgPT09IHRoaXMuX2FsbEFuaW1hdGlvbkZyYW1lc0JyZWFrcG9p
bnQKKyAgICAgICAgICAgIHx8IGJyZWFrcG9pbnQgPT09IHRoaXMuX2FsbEludGVydmFsc0JyZWFr
cG9pbnQKKyAgICAgICAgICAgIHx8IGJyZWFrcG9pbnQgPT09IHRoaXMuX2FsbExpc3RlbmVyc0Jy
ZWFrcG9pbnQKKyAgICAgICAgICAgIHx8IGJyZWFrcG9pbnQgPT09IHRoaXMuX2FsbFRpbWVvdXRz
QnJlYWtwb2ludAorICAgICAgICAgICAgfHwgYnJlYWtwb2ludCA9PT0gdGhpcy5fYWxsUmVxdWVz
dHNCcmVha3BvaW50OwogICAgIH0KIAogICAgIGRvbUJyZWFrcG9pbnRzRm9yTm9kZShub2RlKQpA
QCAtMjU1LDkgKzM1NywxMSBAQCBXSS5ET01EZWJ1Z2dlck1hbmFnZXIgPSBjbGFzcyBET01EZWJ1
Z2dlck1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgdGhpcy5kb21CcmVha3BvaW50
c0Zvck5vZGUobm9kZSkuZm9yRWFjaCh0aGlzLnJlbW92ZURPTUJyZWFrcG9pbnQsIHRoaXMpOwog
ICAgIH0KIAotICAgIGV2ZW50QnJlYWtwb2ludEZvclR5cGVBbmRFdmVudE5hbWUodHlwZSwgZXZl
bnROYW1lKQorICAgIGxpc3RlbmVyQnJlYWtwb2ludEZvckV2ZW50TmFtZShldmVudE5hbWUpCiAg
ICAgewotICAgICAgICByZXR1cm4gdGhpcy5fZXZlbnRCcmVha3BvaW50cy5maW5kKChicmVha3Bv
aW50KSA9PiBicmVha3BvaW50LnR5cGUgPT09IHR5cGUgJiYgYnJlYWtwb2ludC5ldmVudE5hbWUg
PT09IGV2ZW50TmFtZSkgfHwgbnVsbDsKKyAgICAgICAgaWYgKERPTURlYnVnZ2VyTWFuYWdlci5z
dXBwb3J0c0FsbExpc3RlbmVyc0JyZWFrcG9pbnQoKSAmJiAhdGhpcy5fYWxsTGlzdGVuZXJzQnJl
YWtwb2ludC5kaXNhYmxlZCkKKyAgICAgICAgICAgIHJldHVybiB0aGlzLl9hbGxMaXN0ZW5lcnNC
cmVha3BvaW50OworICAgICAgICByZXR1cm4gdGhpcy5fbGlzdGVuZXJCcmVha3BvaW50cy5maW5k
KChicmVha3BvaW50KSA9PiBicmVha3BvaW50LmV2ZW50TmFtZSA9PT0gZXZlbnROYW1lKSB8fCBu
dWxsOwogICAgIH0KIAogICAgIGFkZEV2ZW50QnJlYWtwb2ludChicmVha3BvaW50KQpAQCAtMjcx
LDE4ICszNzUsMTggQEAgV0kuRE9NRGVidWdnZXJNYW5hZ2VyID0gY2xhc3MgRE9NRGVidWdnZXJN
YW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K
IAotICAgICAgICBpZiAodGhpcy5ldmVudEJyZWFrcG9pbnRGb3JUeXBlQW5kRXZlbnROYW1lKGJy
ZWFrcG9pbnQudHlwZSwgYnJlYWtwb2ludC5ldmVudE5hbWUpKQorICAgICAgICBjb25zb2xlLmFz
c2VydChicmVha3BvaW50LnR5cGUgPT09IFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkxpc3RlbmVy
KTsKKworICAgICAgICBpZiAodGhpcy5saXN0ZW5lckJyZWFrcG9pbnRGb3JFdmVudE5hbWUoYnJl
YWtwb2ludC5ldmVudE5hbWUpKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHRoaXMu
X2V2ZW50QnJlYWtwb2ludHMucHVzaChicmVha3BvaW50KTsKKyAgICAgICAgdGhpcy5fbGlzdGVu
ZXJCcmVha3BvaW50cy5wdXNoKGJyZWFrcG9pbnQpOwogCiAgICAgICAgIHRoaXMuZGlzcGF0Y2hF
dmVudFRvTGlzdGVuZXJzKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5FdmVudC5FdmVudEJyZWFrcG9p
bnRBZGRlZCwge2JyZWFrcG9pbnR9KTsKIAogICAgICAgICBpZiAoIWJyZWFrcG9pbnQuZGlzYWJs
ZWQpIHsKLSAgICAgICAgICAgIGZvciAobGV0IHRhcmdldCBvZiBXSS50YXJnZXRzKSB7Ci0gICAg
ICAgICAgICAgICAgaWYgKHRhcmdldC5ET01EZWJ1Z2dlckFnZW50KQotICAgICAgICAgICAgICAg
ICAgICB0aGlzLl91cGRhdGVFdmVudEJyZWFrcG9pbnQoYnJlYWtwb2ludCwgdGFyZ2V0KTsKLSAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGZvciAobGV0IHRhcmdldCBvZiBXSS50YXJnZXRzKQor
ICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUV2ZW50QnJlYWtwb2ludChicmVha3BvaW50LCB0
YXJnZXQpOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKCF0aGlzLl9yZXN0b3JpbmdCcmVha3Bv
aW50cykKQEAgLTMwMSwxMCArNDA1LDEyIEBAIFdJLkRPTURlYnVnZ2VyTWFuYWdlciA9IGNsYXNz
IERPTURlYnVnZ2VyTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKCF0aGlzLl9ldmVudEJyZWFrcG9pbnRzLmluY2x1
ZGVzKGJyZWFrcG9pbnQpKQorICAgICAgICBjb25zb2xlLmFzc2VydChicmVha3BvaW50LnR5cGUg
PT09IFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkxpc3RlbmVyKTsKKworICAgICAgICBpZiAoIXRo
aXMuX2xpc3RlbmVyQnJlYWtwb2ludHMuaW5jbHVkZXMoYnJlYWtwb2ludCkpCiAgICAgICAgICAg
ICByZXR1cm47CiAKLSAgICAgICAgdGhpcy5fZXZlbnRCcmVha3BvaW50cy5yZW1vdmUoYnJlYWtw
b2ludCk7CisgICAgICAgIHRoaXMuX2xpc3RlbmVyQnJlYWtwb2ludHMucmVtb3ZlKGJyZWFrcG9p
bnQpOwogCiAgICAgICAgIGlmICghdGhpcy5fcmVzdG9yaW5nQnJlYWtwb2ludHMpCiAgICAgICAg
ICAgICBXSS5vYmplY3RTdG9yZXMuZXZlbnRCcmVha3BvaW50cy5kZWxldGVPYmplY3QoYnJlYWtw
b2ludCk7CkBAIC0zMTUsNyArNDIxLDcgQEAgV0kuRE9NRGVidWdnZXJNYW5hZ2VyID0gY2xhc3Mg
RE9NRGVidWdnZXJNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICByZXR1cm47
CiAKICAgICAgICAgZm9yIChsZXQgdGFyZ2V0IG9mIFdJLnRhcmdldHMpIHsKLSAgICAgICAgICAg
IGlmICh0YXJnZXQuRE9NRGVidWdnZXJBZ2VudCkgeworICAgICAgICAgICAgaWYgKHRhcmdldC5E
T01EZWJ1Z2dlckFnZW50ICYmICh0YXJnZXQuRE9NRGVidWdnZXJBZ2VudC5yZW1vdmVFdmVudEJy
ZWFrcG9pbnQgfHwgdGFyZ2V0LkRPTURlYnVnZ2VyQWdlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lckJy
ZWFrcG9pbnQpKSB7CiAgICAgICAgICAgICAgICAgLy8gQ29tcGF0aWJpbGl0eSAoaU9TIDEyKTog
RE9NRGVidWdnZXJBZ2VudC5yZW1vdmVFdmVudEJyZWFrcG9pbnQgZGlkIG5vdCBleGlzdC4KICAg
ICAgICAgICAgICAgICBpZiAoIVdJLkRPTURlYnVnZ2VyTWFuYWdlci5zdXBwb3J0c0V2ZW50QnJl
YWtwb2ludHMoKSkgewogICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmFzc2VydChicmVha3Bv
aW50LnR5cGUgPT09IFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkxpc3RlbmVyKTsKQEAgLTM1Niwx
MCArNDYyLDggQEAgV0kuRE9NRGVidWdnZXJNYW5hZ2VyID0gY2xhc3MgRE9NRGVidWdnZXJNYW5h
Z2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVu
ZXJzKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5FdmVudC5VUkxCcmVha3BvaW50QWRkZWQsIHticmVh
a3BvaW50fSk7CiAKICAgICAgICAgaWYgKCFicmVha3BvaW50LmRpc2FibGVkKSB7Ci0gICAgICAg
ICAgICBmb3IgKGxldCB0YXJnZXQgb2YgV0kudGFyZ2V0cykgewotICAgICAgICAgICAgICAgIGlm
ICh0YXJnZXQuRE9NRGVidWdnZXJBZ2VudCkKLSAgICAgICAgICAgICAgICAgICAgdGhpcy5fdXBk
YXRlVVJMQnJlYWtwb2ludChicmVha3BvaW50LCB0YXJnZXQpOwotICAgICAgICAgICAgfQorICAg
ICAgICAgICAgZm9yIChsZXQgdGFyZ2V0IG9mIFdJLnRhcmdldHMpCisgICAgICAgICAgICAgICAg
dGhpcy5fdXBkYXRlVVJMQnJlYWtwb2ludChicmVha3BvaW50LCB0YXJnZXQpOwogICAgICAgICB9
CiAKICAgICAgICAgaWYgKCF0aGlzLl9yZXN0b3JpbmdCcmVha3BvaW50cykKQEAgLTQ4MiwxNCAr
NTg2LDE1IEBAIFdJLkRPTURlYnVnZ2VyTWFuYWdlciA9IGNsYXNzIERPTURlYnVnZ2VyTWFuYWdl
ciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICBpZiAoIWJyZWFrcG9pbnQuZGlzYWJsZWQpIHsK
ICAgICAgICAgICAgIC8vIFdlIHNob3VsZCBnZXQgdGhlIHRhcmdldCBhc3NvY2lhdGVkIHdpdGgg
dGhlIG5vZGVJZGVudGlmaWVyIG9mIHRoaXMgYnJlYWtwb2ludC4KICAgICAgICAgICAgIGxldCB0
YXJnZXQgPSBXSS5hc3N1bWluZ01haW5UYXJnZXQoKTsKLSAgICAgICAgICAgIGlmICh0YXJnZXQg
JiYgdGFyZ2V0LkRPTURlYnVnZ2VyQWdlbnQpCisgICAgICAgICAgICBpZiAodGFyZ2V0KQogICAg
ICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZURPTUJyZWFrcG9pbnQoYnJlYWtwb2ludCwgdGFyZ2V0
KTsKICAgICAgICAgfQogICAgIH0KIAogICAgIF91cGRhdGVET01CcmVha3BvaW50KGJyZWFrcG9p
bnQsIHRhcmdldCkKICAgICB7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRhcmdldC5ET01EZWJ1
Z2dlckFnZW50KTsKKyAgICAgICAgaWYgKCF0YXJnZXQuRE9NRGVidWdnZXJBZ2VudCB8fCAhdGFy
Z2V0LkRPTURlYnVnZ2VyQWdlbnQuc2V0RE9NQnJlYWtwb2ludCB8fCAhdGFyZ2V0LkRPTURlYnVn
Z2VyQWdlbnQucmVtb3ZlRE9NQnJlYWtwb2ludCkKKyAgICAgICAgICAgIHJldHVybjsKIAogICAg
ICAgICBpZiAoIWJyZWFrcG9pbnQuZG9tTm9kZUlkZW50aWZpZXIpCiAgICAgICAgICAgICByZXR1
cm47CkBAIC01MDYsMTAgKzYxMSwxNCBAQCBXSS5ET01EZWJ1Z2dlck1hbmFnZXIgPSBjbGFzcyBE
T01EZWJ1Z2dlck1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAgIF91cGRhdGVFdmVudEJy
ZWFrcG9pbnQoYnJlYWtwb2ludCwgdGFyZ2V0KQogICAgIHsKLSAgICAgICAgY29uc29sZS5hc3Nl
cnQodGFyZ2V0LkRPTURlYnVnZ2VyQWdlbnQpOworICAgICAgICBpZiAoIXRhcmdldC5ET01EZWJ1
Z2dlckFnZW50KQorICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIC8vIENvbXBhdGliaWxp
dHkgKGlPUyAxMik6IERPTURlYnVnZ2VyQWdlbnQucmVtb3ZlRXZlbnRCcmVha3BvaW50IGRpZCBu
b3QgZXhpc3QuCiAgICAgICAgIGlmICghV0kuRE9NRGVidWdnZXJNYW5hZ2VyLnN1cHBvcnRzRXZl
bnRCcmVha3BvaW50cygpKSB7CisgICAgICAgICAgICBpZiAoIXRhcmdldC5ET01EZWJ1Z2dlckFn
ZW50LnNldEV2ZW50TGlzdGVuZXJCcmVha3BvaW50IHx8ICF0YXJnZXQuRE9NRGVidWdnZXJBZ2Vu
dC5yZW1vdmVFdmVudExpc3RlbmVyQnJlYWtwb2ludCkKKyAgICAgICAgICAgICAgICByZXR1cm47
CisKICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGJyZWFrcG9pbnQudHlwZSA9PT0gV0kuRXZl
bnRCcmVha3BvaW50LlR5cGUuTGlzdGVuZXIpOwogICAgICAgICAgICAgaWYgKGJyZWFrcG9pbnQu
ZGlzYWJsZWQpCiAgICAgICAgICAgICAgICAgdGFyZ2V0LkRPTURlYnVnZ2VyQWdlbnQucmVtb3Zl
RXZlbnRMaXN0ZW5lckJyZWFrcG9pbnQoYnJlYWtwb2ludC5ldmVudE5hbWUpOwpAQCAtNTIyLDIy
ICs2MzEsNzAgQEAgV0kuRE9NRGVidWdnZXJNYW5hZ2VyID0gY2xhc3MgRE9NRGVidWdnZXJNYW5h
Z2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAor
ICAgICAgICBpZiAoIXRhcmdldC5ET01EZWJ1Z2dlckFnZW50LnNldEV2ZW50QnJlYWtwb2ludCB8
fCAhdGFyZ2V0LkRPTURlYnVnZ2VyQWdlbnQucmVtb3ZlRXZlbnRCcmVha3BvaW50KQorICAgICAg
ICAgICAgcmV0dXJuOworCisgICAgICAgIGxldCBjb21tYW5kQXJndW1lbnRzID0ge307CisKKyAg
ICAgICAgc3dpdGNoIChicmVha3BvaW50KSB7CisgICAgICAgIGNhc2UgdGhpcy5fYWxsQW5pbWF0
aW9uRnJhbWVzQnJlYWtwb2ludDoKKyAgICAgICAgICAgIGNvbW1hbmRBcmd1bWVudHMuYnJlYWtw
b2ludFR5cGUgPSBXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5BbmltYXRpb25GcmFtZTsKKyAgICAg
ICAgICAgIGlmICghRE9NRGVidWdnZXJNYW5hZ2VyLnN1cHBvcnRzQWxsTGlzdGVuZXJzQnJlYWtw
b2ludCgpKQorICAgICAgICAgICAgICAgIGNvbW1hbmRBcmd1bWVudHMuZXZlbnROYW1lID0gInJl
cXVlc3RBbmltYXRpb25GcmFtZSI7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNl
IHRoaXMuX2FsbEludGVydmFsc0JyZWFrcG9pbnQ6CisgICAgICAgICAgICBpZiAoRE9NRGVidWdn
ZXJNYW5hZ2VyLnN1cHBvcnRzQWxsTGlzdGVuZXJzQnJlYWtwb2ludCgpKQorICAgICAgICAgICAg
ICAgIGNvbW1hbmRBcmd1bWVudHMuYnJlYWtwb2ludFR5cGUgPSBXSS5FdmVudEJyZWFrcG9pbnQu
VHlwZS5JbnRlcnZhbDsKKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIGNvbW1h
bmRBcmd1bWVudHMuYnJlYWtwb2ludFR5cGUgPSBXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5UaW1l
cjsKKyAgICAgICAgICAgICAgICBjb21tYW5kQXJndW1lbnRzLmV2ZW50TmFtZSA9ICJzZXRJbnRl
cnZhbCI7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNl
IHRoaXMuX2FsbExpc3RlbmVyc0JyZWFrcG9pbnQ6CisgICAgICAgICAgICBpZiAoIURPTURlYnVn
Z2VyTWFuYWdlci5zdXBwb3J0c0FsbExpc3RlbmVyc0JyZWFrcG9pbnQoKSkKKyAgICAgICAgICAg
ICAgICByZXR1cm47CisKKyAgICAgICAgICAgIGNvbW1hbmRBcmd1bWVudHMuYnJlYWtwb2ludFR5
cGUgPSBXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5MaXN0ZW5lcjsKKyAgICAgICAgICAgIGJyZWFr
OworCisgICAgICAgIGNhc2UgdGhpcy5fYWxsVGltZW91dHNCcmVha3BvaW50OgorICAgICAgICAg
ICAgaWYgKERPTURlYnVnZ2VyTWFuYWdlci5zdXBwb3J0c0FsbExpc3RlbmVyc0JyZWFrcG9pbnQo
KSkKKyAgICAgICAgICAgICAgICBjb21tYW5kQXJndW1lbnRzLmJyZWFrcG9pbnRUeXBlID0gV0ku
RXZlbnRCcmVha3BvaW50LlR5cGUuVGltZW91dDsKKyAgICAgICAgICAgIGVsc2UgeworICAgICAg
ICAgICAgICAgIGNvbW1hbmRBcmd1bWVudHMuYnJlYWtwb2ludFR5cGUgPSBXSS5FdmVudEJyZWFr
cG9pbnQuVHlwZS5UaW1lcjsKKyAgICAgICAgICAgICAgICBjb21tYW5kQXJndW1lbnRzLmV2ZW50
TmFtZSA9ICJzZXRUaW1lb3V0IjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOwor
CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBjb21tYW5kQXJndW1lbnRzLmJyZWFrcG9p
bnRUeXBlID0gYnJlYWtwb2ludC50eXBlOworICAgICAgICAgICAgY29tbWFuZEFyZ3VtZW50cy5l
dmVudE5hbWUgPSBicmVha3BvaW50LmV2ZW50TmFtZTsKKyAgICAgICAgICAgIGNvbnNvbGUuYXNz
ZXJ0KGNvbW1hbmRBcmd1bWVudHMuZXZlbnROYW1lKTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICB9CisKICAgICAgICAgaWYgKGJyZWFrcG9pbnQuZGlzYWJsZWQpCi0gICAgICAgICAgICB0
YXJnZXQuRE9NRGVidWdnZXJBZ2VudC5yZW1vdmVFdmVudEJyZWFrcG9pbnQoYnJlYWtwb2ludC50
eXBlLCBicmVha3BvaW50LmV2ZW50TmFtZSk7CisgICAgICAgICAgICB0YXJnZXQuRE9NRGVidWdn
ZXJBZ2VudC5yZW1vdmVFdmVudEJyZWFrcG9pbnQuaW52b2tlKGNvbW1hbmRBcmd1bWVudHMpOwog
ICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIGlmICghdGhpcy5fcmVzdG9yaW5nQnJlYWtwb2lu
dHMgJiYgIVdJLmRlYnVnZ2VyTWFuYWdlci5icmVha3BvaW50c0Rpc2FibGVkVGVtcG9yYXJpbHkp
CiAgICAgICAgICAgICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLmJyZWFrcG9pbnRzRW5hYmxlZCA9
IHRydWU7CiAKLSAgICAgICAgICAgIHRhcmdldC5ET01EZWJ1Z2dlckFnZW50LnNldEV2ZW50QnJl
YWtwb2ludChicmVha3BvaW50LnR5cGUsIGJyZWFrcG9pbnQuZXZlbnROYW1lKTsKKyAgICAgICAg
ICAgIHRhcmdldC5ET01EZWJ1Z2dlckFnZW50LnNldEV2ZW50QnJlYWtwb2ludC5pbnZva2UoY29t
bWFuZEFyZ3VtZW50cyk7CiAgICAgICAgIH0KICAgICB9CiAKICAgICBfdXBkYXRlVVJMQnJlYWtw
b2ludChicmVha3BvaW50LCB0YXJnZXQpCiAgICAgewotICAgICAgICBjb25zb2xlLmFzc2VydCh0
YXJnZXQuRE9NRGVidWdnZXJBZ2VudCk7CisgICAgICAgIGlmICghdGFyZ2V0LkRPTURlYnVnZ2Vy
QWdlbnQpCisgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgLy8gQ29tcGF0aWJpbGl0eSAo
aU9TIDEyLjEpOiBET01EZWJ1Z2dlckFnZW50LnJlbW92ZVVSTEJyZWFrcG9pbnQgZGlkIG5vdCBl
eGlzdC4KICAgICAgICAgaWYgKCFXSS5ET01EZWJ1Z2dlck1hbmFnZXIuc3VwcG9ydHNVUkxCcmVh
a3BvaW50cygpKSB7CisgICAgICAgICAgICBpZiAoIXRhcmdldC5ET01EZWJ1Z2dlckFnZW50LnNl
dFhIUkJyZWFrcG9pbnQgfHwgIXRhcmdldC5ET01EZWJ1Z2dlckFnZW50LnJlbW92ZVhIUkJyZWFr
cG9pbnQpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCiAgICAgICAgICAgICBpZiAoYnJlYWtw
b2ludC5kaXNhYmxlZCkKICAgICAgICAgICAgICAgICB0YXJnZXQuRE9NRGVidWdnZXJBZ2VudC5y
ZW1vdmVYSFJCcmVha3BvaW50KGJyZWFrcG9pbnQudXJsKTsKICAgICAgICAgICAgIGVsc2UgewpA
QCAtNTUwLDYgKzcwNyw5IEBAIFdJLkRPTURlYnVnZ2VyTWFuYWdlciA9IGNsYXNzIERPTURlYnVn
Z2VyTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9CiAKKyAgICAgICAgaWYgKCF0YXJnZXQuRE9NRGVidWdnZXJBZ2VudC5zZXRVUkxCcmVha3Bv
aW50IHx8ICF0YXJnZXQuRE9NRGVidWdnZXJBZ2VudC5yZW1vdmVVUkxCcmVha3BvaW50KQorICAg
ICAgICAgICAgcmV0dXJuOworCiAgICAgICAgIGlmIChicmVha3BvaW50LmRpc2FibGVkKQogICAg
ICAgICAgICAgdGFyZ2V0LkRPTURlYnVnZ2VyQWdlbnQucmVtb3ZlVVJMQnJlYWtwb2ludChicmVh
a3BvaW50LnVybCk7CiAgICAgICAgIGVsc2UgewpAQCAtNTY1LDcgKzcyNSw3IEBAIFdJLkRPTURl
YnVnZ2VyTWFuYWdlciA9IGNsYXNzIERPTURlYnVnZ2VyTWFuYWdlciBleHRlbmRzIFdJLk9iamVj
dAogICAgIHsKICAgICAgICAgbGV0IGJyZWFrcG9pbnQgPSBldmVudC50YXJnZXQ7CiAgICAgICAg
IGxldCB0YXJnZXQgPSBXSS5hc3N1bWluZ01haW5UYXJnZXQoKTsKLSAgICAgICAgaWYgKHRhcmdl
dCAmJiB0YXJnZXQuRE9NRGVidWdnZXJBZ2VudCkKKyAgICAgICAgaWYgKHRhcmdldCkKICAgICAg
ICAgICAgIHRoaXMuX3VwZGF0ZURPTUJyZWFrcG9pbnQoYnJlYWtwb2ludCwgdGFyZ2V0KTsKIAog
ICAgICAgICBpZiAoIXRoaXMuX3Jlc3RvcmluZ0JyZWFrcG9pbnRzKQpAQCAtNTgwLDkgKzc0MCwy
NSBAQCBXSS5ET01EZWJ1Z2dlck1hbmFnZXIgPSBjbGFzcyBET01EZWJ1Z2dlck1hbmFnZXIgZXh0
ZW5kcyBXSS5PYmplY3QKICAgICAgICAgaWYgKGJyZWFrcG9pbnQuZXZlbnRMaXN0ZW5lcikKICAg
ICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBmb3IgKGxldCB0YXJnZXQgb2YgV0kudGFyZ2V0
cykgewotICAgICAgICAgICAgaWYgKHRhcmdldC5ET01EZWJ1Z2dlckFnZW50KQotICAgICAgICAg
ICAgICAgIHRoaXMuX3VwZGF0ZUV2ZW50QnJlYWtwb2ludChicmVha3BvaW50LCB0YXJnZXQpOwor
ICAgICAgICBmb3IgKGxldCB0YXJnZXQgb2YgV0kudGFyZ2V0cykKKyAgICAgICAgICAgIHRoaXMu
X3VwZGF0ZUV2ZW50QnJlYWtwb2ludChicmVha3BvaW50LCB0YXJnZXQpOworCisgICAgICAgIHN3
aXRjaCAoYnJlYWtwb2ludCkgeworICAgICAgICBjYXNlIHRoaXMuX2FsbEFuaW1hdGlvbkZyYW1l
c0JyZWFrcG9pbnQ6CisgICAgICAgICAgICB0aGlzLl9hbGxBbmltYXRpb25GcmFtZXNCcmVha3Bv
aW50RW5hYmxlZFNldHRpbmcudmFsdWUgPSAhYnJlYWtwb2ludC5kaXNhYmxlZDsKKyAgICAgICAg
ICAgIHJldHVybjsKKworICAgICAgICBjYXNlIHRoaXMuX2FsbEludGVydmFsc0JyZWFrcG9pbnQ6
CisgICAgICAgICAgICB0aGlzLl9hbGxJbnRlcnZhbHNCcmVha3BvaW50RW5hYmxlZFNldHRpbmcu
dmFsdWUgPSAhYnJlYWtwb2ludC5kaXNhYmxlZDsKKyAgICAgICAgICAgIHJldHVybjsKKworICAg
ICAgICBjYXNlIHRoaXMuX2FsbExpc3RlbmVyc0JyZWFrcG9pbnQ6CisgICAgICAgICAgICB0aGlz
Ll9hbGxMaXN0ZW5lcnNCcmVha3BvaW50RW5hYmxlZFNldHRpbmcudmFsdWUgPSAhYnJlYWtwb2lu
dC5kaXNhYmxlZDsKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBjYXNlIHRoaXMuX2Fs
bFRpbWVvdXRzQnJlYWtwb2ludDoKKyAgICAgICAgICAgIHRoaXMuX2FsbFRpbWVvdXRzQnJlYWtw
b2ludEVuYWJsZWRTZXR0aW5nLnZhbHVlID0gIWJyZWFrcG9pbnQuZGlzYWJsZWQ7CisgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoIXRoaXMuX3Jlc3RvcmluZ0Jy
ZWFrcG9pbnRzKQpAQCAtNTkzLDEyICs3NjksMTIgQEAgV0kuRE9NRGVidWdnZXJNYW5hZ2VyID0g
Y2xhc3MgRE9NRGVidWdnZXJNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgewogICAgICAg
ICBsZXQgYnJlYWtwb2ludCA9IGV2ZW50LnRhcmdldDsKIAotICAgICAgICBpZiAoYnJlYWtwb2lu
dCA9PT0gdGhpcy5fYWxsUmVxdWVzdHNCcmVha3BvaW50KQotICAgICAgICAgICAgdGhpcy5fYWxs
UmVxdWVzdHNCcmVha3BvaW50RW5hYmxlZFNldHRpbmcudmFsdWUgPSAhYnJlYWtwb2ludC5kaXNh
YmxlZDsKKyAgICAgICAgZm9yIChsZXQgdGFyZ2V0IG9mIFdJLnRhcmdldHMpCisgICAgICAgICAg
ICB0aGlzLl91cGRhdGVVUkxCcmVha3BvaW50KGJyZWFrcG9pbnQsIHRhcmdldCk7CiAKLSAgICAg
ICAgZm9yIChsZXQgdGFyZ2V0IG9mIFdJLnRhcmdldHMpIHsKLSAgICAgICAgICAgIGlmICh0YXJn
ZXQuRE9NRGVidWdnZXJBZ2VudCkKLSAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVVUkxCcmVh
a3BvaW50KGJyZWFrcG9pbnQsIHRhcmdldCk7CisgICAgICAgIGlmIChicmVha3BvaW50ID09PSB0
aGlzLl9hbGxSZXF1ZXN0c0JyZWFrcG9pbnQpIHsKKyAgICAgICAgICAgIHRoaXMuX2FsbFJlcXVl
c3RzQnJlYWtwb2ludEVuYWJsZWRTZXR0aW5nLnZhbHVlID0gIWJyZWFrcG9pbnQuZGlzYWJsZWQ7
CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoIXRoaXMuX3Jl
c3RvcmluZ0JyZWFrcG9pbnRzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRGVidWdnZXJNYW5hZ2VyLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRGVidWdnZXJNYW5hZ2VyLmpzCmlu
ZGV4IDBlY2Q2MDFiZDk2OGQxOTUzNzllOWE1NTkwYzM3NTBiMmMwNmE0ODQuLjBmYjM3YTk0YmU1
ZTI0Zjg5ZDE0YWY5OGU1ZDBjZmEwMTQyMzE4ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RlYnVnZ2VyTWFuYWdlci5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9EZWJ1Z2dl
ck1hbmFnZXIuanMKQEAgLTg2Myw4ICs4NjMsMTQgQEAgV0kuRGVidWdnZXJNYW5hZ2VyID0gY2xh
c3MgRGVidWdnZXJNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICByZXR1cm4g
V0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVhc29uLkV4Y2VwdGlvbjsKICAgICAgICAgY2FzZSBE
ZWJ1Z2dlckFnZW50LlBhdXNlZFJlYXNvbi5GZXRjaDoKICAgICAgICAgICAgIHJldHVybiBXSS5E
ZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uRmV0Y2g7CisgICAgICAgIGNhc2UgRGVidWdnZXJB
Z2VudC5QYXVzZWRSZWFzb24uSW50ZXJ2YWw6CisgICAgICAgICAgICByZXR1cm4gV0kuRGVidWdn
ZXJNYW5hZ2VyLlBhdXNlUmVhc29uLkludGVydmFsOworICAgICAgICBjYXNlIERlYnVnZ2VyQWdl
bnQuUGF1c2VkUmVhc29uLkxpc3RlbmVyOgorICAgICAgICAgICAgcmV0dXJuIFdJLkRlYnVnZ2Vy
TWFuYWdlci5QYXVzZVJlYXNvbi5MaXN0ZW5lcjsKICAgICAgICAgY2FzZSBEZWJ1Z2dlckFnZW50
LlBhdXNlZFJlYXNvbi5QYXVzZU9uTmV4dFN0YXRlbWVudDoKICAgICAgICAgICAgIHJldHVybiBX
SS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uUGF1c2VPbk5leHRTdGF0ZW1lbnQ7CisgICAg
ICAgIGNhc2UgRGVidWdnZXJBZ2VudC5QYXVzZWRSZWFzb24uVGltZW91dDoKKyAgICAgICAgICAg
IHJldHVybiBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uVGltZW91dDsKICAgICAgICAg
Y2FzZSBEZWJ1Z2dlckFnZW50LlBhdXNlZFJlYXNvbi5UaW1lcjoKICAgICAgICAgICAgIHJldHVy
biBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uVGltZXI7CiAgICAgICAgIGNhc2UgRGVi
dWdnZXJBZ2VudC5QYXVzZWRSZWFzb24uWEhSOgpAQCAtMTM4MywxMSArMTM4OSwxOCBAQCBXSS5E
ZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24gPSB7CiAgICAgQ1NQVmlvbGF0aW9uOiAiQ1NQLXZp
b2xhdGlvbiIsCiAgICAgRGVidWdnZXJTdGF0ZW1lbnQ6ICJkZWJ1Z2dlci1zdGF0ZW1lbnQiLAog
ICAgIERPTTogIkRPTSIsCi0gICAgRXZlbnRMaXN0ZW5lcjogImV2ZW50LWxpc3RlbmVyIiwKICAg
ICBFeGNlcHRpb246ICJleGNlcHRpb24iLAogICAgIEZldGNoOiAiZmV0Y2giLAorICAgIEludGVy
dmFsOiAiaW50ZXJ2YWwiLAorICAgIExpc3RlbmVyOiAibGlzdGVuZXIiLAogICAgIFBhdXNlT25O
ZXh0U3RhdGVtZW50OiAicGF1c2Utb24tbmV4dC1zdGF0ZW1lbnQiLAotICAgIFRpbWVyOiAidGlt
ZXIiLAorICAgIFRpbWVvdXQ6ICJ0aW1lb3V0IiwKICAgICBYSFI6ICJ4aHIiLAogICAgIE90aGVy
OiAib3RoZXIiLAorCisgICAgLy8gQ09NUEFUSUJJTElUWSAoaU9TIDEzKTogRE9NRGVidWdnZXIu
RXZlbnRCcmVha3BvaW50VHlwZS5UaW1lciB3YXMgcmVwbGFjZWQgYnkgRE9NRGVidWdnZXIuRXZl
bnRCcmVha3BvaW50VHlwZS5JbnRlcnZhbCBhbmQgRE9NRGVidWdnZXIuRXZlbnRCcmVha3BvaW50
VHlwZS5UaW1lb3V0LgorICAgIFRpbWVyOiAidGltZXIiLAorCisgICAgLy8gQ09NUEFUSUJJTElU
WSAoaU9TIDEzKTogRE9NRGVidWdnZXIuRXZlbnRCcmVha3BvaW50VHlwZS5FdmVudExpc3RlbmVy
IHdhcyByZXBsYWNlZCBieSBET01EZWJ1Z2dlci5FdmVudEJyZWFrcG9pbnRUeXBlLkxpc3RlbmVy
LgorICAgIEV2ZW50TGlzdGVuZXI6ICJldmVudC1saXN0ZW5lciIsCiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvSmF2YVNjcmlw
dFJ1bnRpbWVDb21wbGV0aW9uUHJvdmlkZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Db250cm9sbGVycy9KYXZhU2NyaXB0UnVudGltZUNvbXBsZXRpb25Qcm92aWRl
ci5qcwppbmRleCA5ZjIxYTg4ZTY1NzU2MmViYTRjM2MxN2I4NWM3ZWNkMmMyNDVkOTU5Li4yMzVh
MGRiOWNiNDgxY2NmNzM4NzM0MWE4NDg2MDM4NmJkZjY2Zjg2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9KYXZhU2NyaXB0UnVudGlt
ZUNvbXBsZXRpb25Qcm92aWRlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Db250cm9sbGVycy9KYXZhU2NyaXB0UnVudGltZUNvbXBsZXRpb25Qcm92aWRlci5q
cwpAQCAtMjIxLDcgKzIyMSw3IEBAIFdJLkphdmFTY3JpcHRSdW50aW1lQ29tcGxldGlvblByb3Zp
ZGVyID0gY2xhc3MgSmF2YVNjcmlwdFJ1bnRpbWVDb21wbGV0aW9uUHJvdmlkCiAgICAgICAgICAg
ICAgICAgbGV0IGNvbW1hbmRMaW5lQVBJID0gV0kuSmF2YVNjcmlwdFJ1bnRpbWVDb21wbGV0aW9u
UHJvdmlkZXIuX2NvbW1hbmRMaW5lQVBJLnNsaWNlKDApOwogICAgICAgICAgICAgICAgIGlmIChX
SS5kZWJ1Z2dlck1hbmFnZXIucGF1c2VkKSB7CiAgICAgICAgICAgICAgICAgICAgIGxldCB0YXJn
ZXREYXRhID0gV0kuZGVidWdnZXJNYW5hZ2VyLmRhdGFGb3JUYXJnZXQoV0kucnVudGltZU1hbmFn
ZXIuYWN0aXZlRXhlY3V0aW9uQ29udGV4dC50YXJnZXQpOwotICAgICAgICAgICAgICAgICAgICBp
ZiAodGFyZ2V0RGF0YS5wYXVzZVJlYXNvbiA9PT0gV0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVh
c29uLkV2ZW50TGlzdGVuZXIpCisgICAgICAgICAgICAgICAgICAgIGlmICh0YXJnZXREYXRhLnBh
dXNlUmVhc29uID09PSBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uTGlzdGVuZXIgfHwg
dGFyZ2V0RGF0YS5wYXVzZVJlYXNvbiA9PT0gV0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVhc29u
LkV2ZW50TGlzdGVuZXIpCiAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kTGluZUFQSS5w
dXNoKCIkZXZlbnQiKTsKICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAodGFyZ2V0RGF0YS5w
YXVzZVJlYXNvbiA9PT0gV0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVhc29uLkV4Y2VwdGlvbikK
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmRMaW5lQVBJLnB1c2goIiRleGNlcHRpb24i
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0ltYWdl
cy9FdmVudEJyZWFrcG9pbnRJbnRlcnZhbC5zdmcgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9JbWFnZXMvRXZlbnRCcmVha3BvaW50SW50ZXJ2YWwuc3ZnCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU3MWYwYjM0YTAxZGIzNWM3ODc4MmExMzJhNjNjNmQyMGQzYjAzOWEKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbWFnZXMvRXZlbnRCcmVh
a3BvaW50SW50ZXJ2YWwuc3ZnCkBAIC0wLDAgKzEsMTAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIg
ZW5jb2Rpbmc9InV0Zi04Ij8+Cis8IS0tIENvcHlyaWdodCDCqSAyMDE5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4gLS0+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAw
L3N2ZyIgaWQ9InJvb3QiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDE2IDE2Ij4KKyAgICA8
cGF0aCBmaWxsPSJyZ2IoMTQ4LCAxODMsIDIxOSkiIGQ9Ik0gMTMgMSBMIDMgMSBDIDEuODk4NDM4
IDEgMSAxLjg5ODQzOCAxIDMgTCAxIDEzIEMgMSAxNC4xMDE1NjIgMS44OTg0MzggMTUgMyAxNSBM
IDEzIDE1IEMgMTQuMTAxNTYyIDE1IDE1IDE0LjEwMTU2MiAxNSAxMyBMIDE1IDMgQyAxNSAxLjg5
ODQzOCAxNC4xMDE1NjIgMSAxMyAxIFoiLz4KKyAgICA8cGF0aCBmaWxsPSJyZ2IoMTA2LCAxMzYs
IDE3MCkiIGQ9Ik0gMTMgMSBMIDMgMSBDIDEuODk4NDM4IDEgMSAxLjg5ODQzOCAxIDMgTCAxIDEz
IEMgMSAxNC4xMDE1NjIgMS44OTg0MzggMTUgMyAxNSBMIDEzIDE1IEMgMTQuMTAxNTYyIDE1IDE1
IDE0LjEwMTU2MiAxNSAxMyBMIDE1IDMgQyAxNSAxLjg5ODQzOCAxNC4xMDE1NjIgMSAxMyAxIE0g
MTMgMiBDIDEzLjU1MDc4MSAyIDE0IDIuNDQ5MjE5IDE0IDMgTCAxNCAxMyBDIDE0IDEzLjU1MDc4
MSAxMy41NTA3ODEgMTQgMTMgMTQgTCAzIDE0IEMgMi40NDkyMTkgMTQgMiAxMy41NTA3ODEgMiAx
MyBMIDIgMyBDIDIgMi40NDkyMTkgMi40NDkyMTkgMiAzIDIgTCAxMyAyIi8+CisgICAgPHBhdGgg
ZmlsbD0icmdiKDExMywgMTQ2LCAxODQpIiBkPSJNIDUuOTgwNDY5IDUuODgyODEyIEMgNS4xNDA2
MjUgNS44ODI4MTIgNC42MzY3MTkgNS44ODI4MTIgNC42MzY3MTkgNS44ODI4MTIgQyA0LjE4MjAz
MSA1Ljg4MjgxMiAzLjYzNjcxOSA1LjQzNzUgMy42MzY3MTkgNC44ODI4MTIgTCAzLjYzNjcxOSAz
Ljc5Mjk2OSBDIDMuNjM2NzE5IDMuMjQyMTg4IDQuMTgyMDMxIDIuNzkyOTY5IDQuNjM2NzE5IDIu
NzkyOTY5IEwgMTAuOTg4MjgxIDIuNzkyOTY5IEMgMTEuNTQyOTY5IDIuNzkyOTY5IDExLjk4ODI4
MSAzLjI0MjE4OCAxMS45ODgyODEgMy43OTI5NjkgTCAxMS45ODgyODEgNC44ODI4MTIgQyAxMS45
ODgyODEgNS40Mzc1IDExLjU0Mjk2OSA1Ljg4MjgxMiAxMC45ODgyODEgNS44ODI4MTIiLz4KKyAg
ICA8cGF0aCBmaWxsPSJyZ2IoMTEzLCAxNDYsIDE4NCkiIGQ9Ik0gNS45ODA0NjkgMTIuNzQyMTg4
IEMgNS4xNDA2MjUgMTIuNzQyMTg4IDQuNjM2NzE5IDEyLjc0MjE4OCA0LjYzNjcxOSAxMi43NDIx
ODggQyA0LjE4MjAzMSAxMi43NDIxODggMy42MzY3MTkgMTIuMjk2ODc2IDMuNjM2NzE5IDExLjc0
MjE4OCBMIDMuNjM2NzE5IDEwLjY1MjM0NSBDIDMuNjM2NzE5IDEwLjEwMTU2NCA0LjE4MjAzMSA5
LjY1MjM0NSA0LjYzNjcxOSA5LjY1MjM0NSBMIDEwLjk4ODI4MSA5LjY1MjM0NSBDIDExLjU0Mjk2
OSA5LjY1MjM0NSAxMS45ODgyODEgMTAuMTAxNTY0IDExLjk4ODI4MSAxMC42NTIzNDUgTCAxMS45
ODgyODEgMTEuNzQyMTg4IEMgMTEuOTg4MjgxIDEyLjI5Njg3NiAxMS41NDI5NjkgMTIuNzQyMTg4
IDEwLjk4ODI4MSAxMi43NDIxODgiLz4KKyAgICA8cGF0aCBmaWxsPSJyZ2IoMTEzLCAxNDYsIDE4
NCkiIGQ9Ik0gNS45ODA0NjkgNS44ODI4MTIgSCA5LjY0MDYyNSBWIDkuNjUyMzQ1IEggNS45ODA0
NjkgWiIvPgorICAgIDxwYXRoIGZpbGw9IndoaXRlIiBkPSJNIDYuOTgwNDY5IDEwLjY1MjM0NSBM
IDYuOTgwNDY5IDQuODgyODEyIEwgNC42MzY3MTkgNC44ODI4MTIgTCA0LjYzNjcxOSAzLjc5Mjk2
OSBMIDEwLjk4ODI4MSAzLjc5Mjk2OSBMIDEwLjk4ODI4MSA0Ljg4MjgxMiBMIDguNjQwNjI1IDQu
ODgyODEyIEwgOC42NDA2MjUgMTAuNjUyMzQ1IEwgMTAuOTg4MjgxIDEwLjY1MjM0NSBMIDEwLjk4
ODI4MSAxMS43NDIxODggTCA0LjYzNjcxOSAxMS43NDIxODggTCA0LjYzNjcxOSAxMC42NTIzNDUg
WiIvPgorPC9zdmc+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9JbWFnZXMvRXZlbnRCcmVha3BvaW50VGltZW91dC5zdmcgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9JbWFnZXMvRXZlbnRCcmVha3BvaW50VGltZW91dC5zdmcKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjk0YWM2M2QwM2MyYzYzY2ExZjA1ZTZmN2U1OTUzNWMxMDM0OWQ4NwotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0ltYWdlcy9F
dmVudEJyZWFrcG9pbnRUaW1lb3V0LnN2ZwpAQCAtMCwwICsxLDggQEAKKzw/eG1sIHZlcnNpb249
IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8IS0tIENvcHlyaWdodCDCqSAyMDE4IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gLS0+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9y
Zy8yMDAwL3N2ZyIgaWQ9InJvb3QiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDE2IDE2Ij4K
KyAgICA8cGF0aCBmaWxsPSJyZ2IoMTQ4LCAxODMsIDIxOSkiIGQ9Ik0gMTMgMSBMIDMgMSBDIDEu
ODk4NDM4IDEgMSAxLjg5ODQzOCAxIDMgTCAxIDEzIEMgMSAxNC4xMDE1NjIgMS44OTg0MzggMTUg
MyAxNSBMIDEzIDE1IEMgMTQuMTAxNTYyIDE1IDE1IDE0LjEwMTU2MiAxNSAxMyBMIDE1IDMgQyAx
NSAxLjg5ODQzOCAxNC4xMDE1NjIgMSAxMyAxIFoiLz4KKyAgICA8cGF0aCBmaWxsPSJyZ2IoMTA2
LCAxMzYsIDE3MCkiIGQ9Ik0gMTMgMSBMIDMgMSBDIDEuODk4NDM4IDEgMSAxLjg5ODQzOCAxIDMg
TCAxIDEzIEMgMSAxNC4xMDE1NjIgMS44OTg0MzggMTUgMyAxNSBMIDEzIDE1IEMgMTQuMTAxNTYy
IDE1IDE1IDE0LjEwMTU2MiAxNSAxMyBMIDE1IDMgQyAxNSAxLjg5ODQzOCAxNC4xMDE1NjIgMSAx
MyAxIE0gMTMgMiBDIDEzLjU1MDc4MSAyIDE0IDIuNDQ5MjE5IDE0IDMgTCAxNCAxMyBDIDE0IDEz
LjU1MDc4MSAxMy41NTA3ODEgMTQgMTMgMTQgTCAzIDE0IEMgMi40NDkyMTkgMTQgMiAxMy41NTA3
ODEgMiAxMyBMIDIgMyBDIDIgMi40NDkyMTkgMi40NDkyMTkgMiAzIDIgTCAxMyAyIi8+CisgICAg
PHBhdGggZmlsbD0icmdiKDExMywgMTQ2LCAxODQpIiBkPSJNIDYuOTgwNDY5IDEyLjc0MjE4OCBD
IDYuNDI5Njg4IDEyLjc0MjE4OCA1Ljk4MDQ2OSAxMi4yOTI5NjkgNS45ODA0NjkgMTEuNzQyMTg4
IEMgNS45ODA0NjkgMTEuNzQyMTg4IDUuOTgwNDY5IDcuMzQzNzUgNS45ODA0NjkgNS44ODI4MTIg
QyA1LjE0MDYyNSA1Ljg4MjgxMiA0LjEzNjcxOSA1Ljg4MjgxMiA0LjEzNjcxOSA1Ljg4MjgxMiBD
IDMuNTgyMDMxIDUuODgyODEyIDMuMTM2NzE5IDUuNDM3NSAzLjEzNjcxOSA0Ljg4MjgxMiBMIDMu
MTM2NzE5IDMuNzkyOTY5IEMgMy4xMzY3MTkgMy4yNDIxODggMy41ODIwMzEgMi43OTI5NjkgNC4x
MzY3MTkgMi43OTI5NjkgTCAxMS40ODgyODEgMi43OTI5NjkgQyAxMi4wNDI5NjkgMi43OTI5Njkg
MTIuNDg4MjgxIDMuMjQyMTg4IDEyLjQ4ODI4MSAzLjc5Mjk2OSBMIDEyLjQ4ODI4MSA0Ljg4Mjgx
MiBDIDEyLjQ4ODI4MSA1LjQzNzUgMTIuMDQyOTY5IDUuODgyODEyIDExLjQ4ODI4MSA1Ljg4Mjgx
MiBDIDExLjQ4ODI4MSA1Ljg4MjgxMiAxMC40ODQzNzUgNS44ODI4MTIgOS42NDA2MjUgNS44ODI4
MTIgQyA5LjY0MDYyNSA3LjM0Mzc1IDkuNjQwNjI1IDExLjc0MjE4OCA5LjY0MDYyNSAxMS43NDIx
ODggQyA5LjY0MDYyNSAxMi4yOTI5NjkgOS4xOTUzMTIgMTIuNzQyMTg4IDguNjQwNjI1IDEyLjc0
MjE4OCBMIDYuOTgwNDY5IDEyLjc0MjE4OCIvPgorICAgIDxwYXRoIGZpbGw9IndoaXRlIiBkPSJN
IDYuOTgwNDY5IDExLjc0MjE4OCBMIDYuOTgwNDY5IDQuODgyODEyIEwgNC4xMzY3MTkgNC44ODI4
MTIgTCA0LjEzNjcxOSAzLjc5Mjk2OSBMIDExLjQ4ODI4MSAzLjc5Mjk2OSBMIDExLjQ4ODI4MSA0
Ljg4MjgxMiBMIDguNjQwNjI1IDQuODgyODEyIEwgOC42NDA2MjUgMTEuNzQyMTg4IFoiLz4KKzwv
c3ZnPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW1h
Z2VzL0V2ZW50QnJlYWtwb2ludFRpbWVyLnN2ZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL0ltYWdlcy9FdmVudEJyZWFrcG9pbnRUaW1lci5zdmcKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGY5NGFjNjNkMDNjMmM2M2NhMWYwNWU2ZjdlNTk1MzVjMTAzNDlkODcu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW1hZ2VzL0V2ZW50QnJlYWtwb2ludFRpbWVyLnN2
ZworKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv
ZGluZz0idXRmLTgiPz4KLTwhLS0gQ29weXJpZ2h0IMKpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLiAtLT4KLTxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
IiBpZD0icm9vdCIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMTYgMTYiPgotICAgIDxwYXRo
IGZpbGw9InJnYigxNDgsIDE4MywgMjE5KSIgZD0iTSAxMyAxIEwgMyAxIEMgMS44OTg0MzggMSAx
IDEuODk4NDM4IDEgMyBMIDEgMTMgQyAxIDE0LjEwMTU2MiAxLjg5ODQzOCAxNSAzIDE1IEwgMTMg
MTUgQyAxNC4xMDE1NjIgMTUgMTUgMTQuMTAxNTYyIDE1IDEzIEwgMTUgMyBDIDE1IDEuODk4NDM4
IDE0LjEwMTU2MiAxIDEzIDEgWiIvPgotICAgIDxwYXRoIGZpbGw9InJnYigxMDYsIDEzNiwgMTcw
KSIgZD0iTSAxMyAxIEwgMyAxIEMgMS44OTg0MzggMSAxIDEuODk4NDM4IDEgMyBMIDEgMTMgQyAx
IDE0LjEwMTU2MiAxLjg5ODQzOCAxNSAzIDE1IEwgMTMgMTUgQyAxNC4xMDE1NjIgMTUgMTUgMTQu
MTAxNTYyIDE1IDEzIEwgMTUgMyBDIDE1IDEuODk4NDM4IDE0LjEwMTU2MiAxIDEzIDEgTSAxMyAy
IEMgMTMuNTUwNzgxIDIgMTQgMi40NDkyMTkgMTQgMyBMIDE0IDEzIEMgMTQgMTMuNTUwNzgxIDEz
LjU1MDc4MSAxNCAxMyAxNCBMIDMgMTQgQyAyLjQ0OTIxOSAxNCAyIDEzLjU1MDc4MSAyIDEzIEwg
MiAzIEMgMiAyLjQ0OTIxOSAyLjQ0OTIxOSAyIDMgMiBMIDEzIDIiLz4KLSAgICA8cGF0aCBmaWxs
PSJyZ2IoMTEzLCAxNDYsIDE4NCkiIGQ9Ik0gNi45ODA0NjkgMTIuNzQyMTg4IEMgNi40Mjk2ODgg
MTIuNzQyMTg4IDUuOTgwNDY5IDEyLjI5Mjk2OSA1Ljk4MDQ2OSAxMS43NDIxODggQyA1Ljk4MDQ2
OSAxMS43NDIxODggNS45ODA0NjkgNy4zNDM3NSA1Ljk4MDQ2OSA1Ljg4MjgxMiBDIDUuMTQwNjI1
IDUuODgyODEyIDQuMTM2NzE5IDUuODgyODEyIDQuMTM2NzE5IDUuODgyODEyIEMgMy41ODIwMzEg
NS44ODI4MTIgMy4xMzY3MTkgNS40Mzc1IDMuMTM2NzE5IDQuODgyODEyIEwgMy4xMzY3MTkgMy43
OTI5NjkgQyAzLjEzNjcxOSAzLjI0MjE4OCAzLjU4MjAzMSAyLjc5Mjk2OSA0LjEzNjcxOSAyLjc5
Mjk2OSBMIDExLjQ4ODI4MSAyLjc5Mjk2OSBDIDEyLjA0Mjk2OSAyLjc5Mjk2OSAxMi40ODgyODEg
My4yNDIxODggMTIuNDg4MjgxIDMuNzkyOTY5IEwgMTIuNDg4MjgxIDQuODgyODEyIEMgMTIuNDg4
MjgxIDUuNDM3NSAxMi4wNDI5NjkgNS44ODI4MTIgMTEuNDg4MjgxIDUuODgyODEyIEMgMTEuNDg4
MjgxIDUuODgyODEyIDEwLjQ4NDM3NSA1Ljg4MjgxMiA5LjY0MDYyNSA1Ljg4MjgxMiBDIDkuNjQw
NjI1IDcuMzQzNzUgOS42NDA2MjUgMTEuNzQyMTg4IDkuNjQwNjI1IDExLjc0MjE4OCBDIDkuNjQw
NjI1IDEyLjI5Mjk2OSA5LjE5NTMxMiAxMi43NDIxODggOC42NDA2MjUgMTIuNzQyMTg4IEwgNi45
ODA0NjkgMTIuNzQyMTg4Ii8+Ci0gICAgPHBhdGggZmlsbD0id2hpdGUiIGQ9Ik0gNi45ODA0Njkg
MTEuNzQyMTg4IEwgNi45ODA0NjkgNC44ODI4MTIgTCA0LjEzNjcxOSA0Ljg4MjgxMiBMIDQuMTM2
NzE5IDMuNzkyOTY5IEwgMTEuNDg4MjgxIDMuNzkyOTY5IEwgMTEuNDg4MjgxIDQuODgyODEyIEwg
OC42NDA2MjUgNC44ODI4MTIgTCA4LjY0MDYyNSAxMS43NDIxODggWiIvPgotPC9zdmc+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRXZlbnRC
cmVha3BvaW50LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxz
L0V2ZW50QnJlYWtwb2ludC5qcwppbmRleCAzMDkwZGU5YzA1ZjIxMGZhMmIyNjE2YTE0MzUzNGYy
YzU1M2RhYjI1Li5mZjFlNzljZmU0ZGJhNWQ2YzQ0MjhhYjQ3ZmNhYjQ5MzVmZWIwMmFlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRXZlbnRC
cmVha3BvaW50LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01v
ZGVscy9FdmVudEJyZWFrcG9pbnQuanMKQEAgLTI1LDE1ICsyNSwxNCBAQAogCiBXSS5FdmVudEJy
ZWFrcG9pbnQgPSBjbGFzcyBFdmVudEJyZWFrcG9pbnQgZXh0ZW5kcyBXSS5PYmplY3QKIHsKLSAg
ICBjb25zdHJ1Y3Rvcih0eXBlLCBldmVudE5hbWUsIHtldmVudExpc3RlbmVyLCBkaXNhYmxlZH0g
PSB7fSkKKyAgICBjb25zdHJ1Y3Rvcih0eXBlLCB7ZXZlbnROYW1lLCBldmVudExpc3RlbmVyLCBk
aXNhYmxlZH0gPSB7fSkKICAgICB7CiAgICAgICAgIHN1cGVyKCk7CiAKICAgICAgICAgY29uc29s
ZS5hc3NlcnQoT2JqZWN0LnZhbHVlcyhXSS5FdmVudEJyZWFrcG9pbnQuVHlwZSkuaW5jbHVkZXMo
dHlwZSksIHR5cGUpOwotICAgICAgICBjb25zb2xlLmFzc2VydCh0eXBlb2YgZXZlbnROYW1lID09
PSAic3RyaW5nIiwgZXZlbnROYW1lKTsKIAogICAgICAgICB0aGlzLl90eXBlID0gdHlwZTsKLSAg
ICAgICAgdGhpcy5fZXZlbnROYW1lID0gZXZlbnROYW1lOworICAgICAgICB0aGlzLl9ldmVudE5h
bWUgPSBldmVudE5hbWUgfHwgbnVsbDsKICAgICAgICAgdGhpcy5fZXZlbnRMaXN0ZW5lciA9IGV2
ZW50TGlzdGVuZXIgfHwgbnVsbDsKICAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBkaXNhYmxlZCB8
fCBmYWxzZTsKICAgICB9CkBAIC00Miw3ICs0MSw4IEBAIFdJLkV2ZW50QnJlYWtwb2ludCA9IGNs
YXNzIEV2ZW50QnJlYWtwb2ludCBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgc3RhdGljIGRlc2Vy
aWFsaXplKHNlcmlhbGl6ZWRJbmZvKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG5ldyBXSS5FdmVu
dEJyZWFrcG9pbnQoc2VyaWFsaXplZEluZm8udHlwZSwgc2VyaWFsaXplZEluZm8uZXZlbnROYW1l
LCB7CisgICAgICAgIHJldHVybiBuZXcgV0kuRXZlbnRCcmVha3BvaW50KHNlcmlhbGl6ZWRJbmZv
LnR5cGUsIHsKKyAgICAgICAgICAgIGV2ZW50TmFtZTogc2VyaWFsaXplZEluZm8uZXZlbnROYW1l
LAogICAgICAgICAgICAgZGlzYWJsZWQ6ICEhc2VyaWFsaXplZEluZm8uZGlzYWJsZWQsCiAgICAg
ICAgIH0pOwogICAgIH0KQEAgLTcxLDI2ICs3MSwzNiBAQCBXSS5FdmVudEJyZWFrcG9pbnQgPSBj
bGFzcyBFdmVudEJyZWFrcG9pbnQgZXh0ZW5kcyBXSS5PYmplY3QKICAgICBzYXZlSWRlbnRpdHlU
b0Nvb2tpZShjb29raWUpCiAgICAgewogICAgICAgICBjb29raWVbImV2ZW50LWJyZWFrcG9pbnQt
dHlwZSJdID0gdGhpcy5fdHlwZTsKLSAgICAgICAgY29va2llWyJldmVudC1icmVha3BvaW50LWV2
ZW50LW5hbWUiXSA9IHRoaXMuX2V2ZW50TmFtZTsKKyAgICAgICAgaWYgKHRoaXMuX2V2ZW50TmFt
ZSkKKyAgICAgICAgICAgIGNvb2tpZVsiZXZlbnQtYnJlYWtwb2ludC1ldmVudC1uYW1lIl0gPSB0
aGlzLl9ldmVudE5hbWU7CisgICAgICAgIGlmICh0aGlzLl9ldmVudExpc3RlbmVyKQorICAgICAg
ICAgICAgY29va2llWyJldmVudC1icmVha3BvaW50LWV2ZW50LWxpc3RlbmVyIl0gPSB0aGlzLl9l
dmVudExpc3RlbmVyLmV2ZW50TGlzdGVuZXJJZDsKKyAgICAgICAgaWYgKHRoaXMuX2Rpc2FibGVk
KQorICAgICAgICAgICAgY29va2llWyJldmVudC1icmVha3BvaW50LWRpc2FibGVkIl0gPSB0aGlz
Ll9kaXNhYmxlZDsKICAgICB9CiAKICAgICB0b0pTT04oa2V5KQogICAgIHsKICAgICAgICAgbGV0
IGpzb24gPSB7CiAgICAgICAgICAgICB0eXBlOiB0aGlzLl90eXBlLAotICAgICAgICAgICAgZXZl
bnROYW1lOiB0aGlzLl9ldmVudE5hbWUsCiAgICAgICAgIH07CisgICAgICAgIGlmICh0aGlzLl9l
dmVudE5hbWUpCisgICAgICAgICAgICBqc29uLmV2ZW50TmFtZSA9IHRoaXMuX2V2ZW50TmFtZTsK
ICAgICAgICAgaWYgKHRoaXMuX2Rpc2FibGVkKQogICAgICAgICAgICAganNvbi5kaXNhYmxlZCA9
IHRydWU7CiAgICAgICAgIGlmIChrZXkgPT09IFdJLk9iamVjdFN0b3JlLnRvSlNPTlN5bWJvbCkK
LSAgICAgICAgICAgIGpzb25bV0kub2JqZWN0U3RvcmVzLmV2ZW50QnJlYWtwb2ludHMua2V5UGF0
aF0gPSB0aGlzLl90eXBlICsgIjoiICsgdGhpcy5fZXZlbnROYW1lOworICAgICAgICAgICAganNv
bltXSS5vYmplY3RTdG9yZXMuZXZlbnRCcmVha3BvaW50cy5rZXlQYXRoXSA9IHRoaXMuX3R5cGUg
KyAodGhpcy5fZXZlbnROYW1lID8gIjoiICsgdGhpcy5fZXZlbnROYW1lIDogIiIpOwogICAgICAg
ICByZXR1cm4ganNvbjsKICAgICB9CiB9OwogCiBXSS5FdmVudEJyZWFrcG9pbnQuVHlwZSA9IHsK
ICAgICBBbmltYXRpb25GcmFtZTogImFuaW1hdGlvbi1mcmFtZSIsCisgICAgSW50ZXJ2YWw6ICJp
bnRlcnZhbCIsCiAgICAgTGlzdGVuZXI6ICJsaXN0ZW5lciIsCisgICAgVGltZW91dDogInRpbWVv
dXQiLAorCisgICAgLy8gQ09NUEFUSUJJTElUWSAoaU9TIDEzKTogRE9NRGVidWdnZXIuRXZlbnRC
cmVha3BvaW50VHlwZXMuVGltZXIgd2FzIHJlbW92ZWQuCiAgICAgVGltZXI6ICJ0aW1lciIsCiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9EZWJ1Z2dlclNpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzCmluZGV4IDNiMGJhNzQxYWU4NWMx
ZDE2MjBjMTBlZGE3ODQwMWIyMzU1ZWEyMzkuLmNlMDAyMmIwNjlkYTYwY2YwOGNkZmI5ZDkxMmFl
YzMxMGZkNzM4OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzCkBAIC0yMjcs
MTcgKzIyNywyOSBAQCBXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbCA9IGNsYXNzIERlYnVnZ2VyU2lk
ZWJhclBhbmVsIGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYQogICAgICAgICAgICAgdGhpcy5f
YWRkU2NyaXB0KHNjcmlwdCk7CiAKICAgICAgICAgaWYgKFdJLmRvbURlYnVnZ2VyTWFuYWdlci5z
dXBwb3J0ZWQpIHsKLSAgICAgICAgICAgIGlmIChXSS5zZXR0aW5ncy5zaG93QWxsUmVxdWVzdHNC
cmVha3BvaW50LnZhbHVlKQotICAgICAgICAgICAgICAgIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5h
ZGRVUkxCcmVha3BvaW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxSZXF1ZXN0c0JyZWFrcG9p
bnQpOworICAgICAgICAgICAgaWYgKFdJLnNldHRpbmdzLnNob3dBbGxBbmltYXRpb25GcmFtZXNC
cmVha3BvaW50LnZhbHVlKQorICAgICAgICAgICAgICAgIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5h
ZGRFdmVudEJyZWFrcG9pbnQoV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEFuaW1hdGlvbkZyYW1l
c0JyZWFrcG9pbnQpOwogCi0gICAgICAgICAgICBmb3IgKGxldCBldmVudEJyZWFrcG9pbnQgb2Yg
V0kuZG9tRGVidWdnZXJNYW5hZ2VyLmV2ZW50QnJlYWtwb2ludHMpCisgICAgICAgICAgICBpZiAo
V0kuc2V0dGluZ3Muc2hvd0FsbFRpbWVvdXRzQnJlYWtwb2ludC52YWx1ZSkKKyAgICAgICAgICAg
ICAgICBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRCcmVha3BvaW50KFdJLmRvbURlYnVn
Z2VyTWFuYWdlci5hbGxUaW1lb3V0c0JyZWFrcG9pbnQpOworCisgICAgICAgICAgICBpZiAoV0ku
c2V0dGluZ3Muc2hvd0FsbEludGVydmFsc0JyZWFrcG9pbnQudmFsdWUpCisgICAgICAgICAgICAg
ICAgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFkZEV2ZW50QnJlYWtwb2ludChXSS5kb21EZWJ1Z2dl
ck1hbmFnZXIuYWxsSW50ZXJ2YWxzQnJlYWtwb2ludCk7CisKKyAgICAgICAgICAgIGlmIChXSS5z
ZXR0aW5ncy5zaG93QWxsTGlzdGVuZXJzQnJlYWtwb2ludC52YWx1ZSkKKyAgICAgICAgICAgICAg
ICBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRCcmVha3BvaW50KFdJLmRvbURlYnVnZ2Vy
TWFuYWdlci5hbGxMaXN0ZW5lcnNCcmVha3BvaW50KTsKKworICAgICAgICAgICAgZm9yIChsZXQg
ZXZlbnRCcmVha3BvaW50IG9mIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5saXN0ZW5lckJyZWFrcG9p
bnRzKQogICAgICAgICAgICAgICAgIHRoaXMuX2FkZEJyZWFrcG9pbnQoZXZlbnRCcmVha3BvaW50
KTsKIAorICAgICAgICAgICAgZm9yIChsZXQgZXZlbnRMaXN0ZW5lckJyZWFrcG9pbnQgb2YgV0ku
ZG9tTWFuYWdlci5ldmVudExpc3RlbmVyQnJlYWtwb2ludHMpCisgICAgICAgICAgICAgICAgdGhp
cy5fYWRkQnJlYWtwb2ludChldmVudExpc3RlbmVyQnJlYWtwb2ludCk7CisKICAgICAgICAgICAg
IGZvciAobGV0IGRvbUJyZWFrcG9pbnQgb2YgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmRvbUJyZWFr
cG9pbnRzKQogICAgICAgICAgICAgICAgIHRoaXMuX2FkZEJyZWFrcG9pbnQoZG9tQnJlYWtwb2lu
dCk7CiAKLSAgICAgICAgICAgIGZvciAobGV0IGV2ZW50TGlzdGVuZXJCcmVha3BvaW50IG9mIFdJ
LmRvbU1hbmFnZXIuZXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRzKQotICAgICAgICAgICAgICAgIHRo
aXMuX2FkZEJyZWFrcG9pbnQoZXZlbnRMaXN0ZW5lckJyZWFrcG9pbnQpOworICAgICAgICAgICAg
aWYgKFdJLnNldHRpbmdzLnNob3dBbGxSZXF1ZXN0c0JyZWFrcG9pbnQudmFsdWUpCisgICAgICAg
ICAgICAgICAgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFkZFVSTEJyZWFrcG9pbnQoV0kuZG9tRGVi
dWdnZXJNYW5hZ2VyLmFsbFJlcXVlc3RzQnJlYWtwb2ludCk7CiAKICAgICAgICAgICAgIGZvciAo
bGV0IHVybEJyZWFrcG9pbnRzIG9mIFdJLmRvbURlYnVnZ2VyTWFuYWdlci51cmxCcmVha3BvaW50
cykKICAgICAgICAgICAgICAgICB0aGlzLl9hZGRCcmVha3BvaW50KHVybEJyZWFrcG9pbnRzKTsK
QEAgLTM2NCwyNSArMzc2LDM3IEBAIFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsID0gY2xhc3MgRGVi
dWdnZXJTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5OYXZpZ2F0aW9uU2lkZWJhCiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICB2YXIgcmVwcmVzZW50ZWRPYmplY3QgPSBz
ZWxlY3RlZFRyZWVFbGVtZW50LnJlcHJlc2VudGVkT2JqZWN0OwotCi0gICAgICAgIGlmIChyZXBy
ZXNlbnRlZE9iamVjdCA9PT0gV0kuZGVidWdnZXJNYW5hZ2VyLmFsbEV4Y2VwdGlvbnNCcmVha3Bv
aW50KSB7Ci0gICAgICAgICAgICBjb29raWVbV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwuU2VsZWN0
ZWRBbGxFeGNlcHRpb25zQ29va2llS2V5XSA9IHRydWU7CisgICAgICAgIHN3aXRjaCAoc2VsZWN0
ZWRUcmVlRWxlbWVudC5yZXByZXNlbnRlZE9iamVjdCkgeworICAgICAgICBjYXNlIFdJLmRlYnVn
Z2VyTWFuYWdlci5hbGxFeGNlcHRpb25zQnJlYWtwb2ludDoKKyAgICAgICAgICAgIGNvb2tpZVtE
ZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxlY3RlZEFsbEV4Y2VwdGlvbnNDb29raWVLZXldID0gdHJ1
ZTsKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQogCi0gICAgICAgIGlmIChyZXByZXNl
bnRlZE9iamVjdCA9PT0gV0kuZGVidWdnZXJNYW5hZ2VyLnVuY2F1Z2h0RXhjZXB0aW9uc0JyZWFr
cG9pbnQpIHsKLSAgICAgICAgICAgIGNvb2tpZVtXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxl
Y3RlZFVuY2F1Z2h0RXhjZXB0aW9uc0Nvb2tpZUtleV0gPSB0cnVlOworICAgICAgICBjYXNlIFdJ
LmRlYnVnZ2VyTWFuYWdlci51bmNhdWdodEV4Y2VwdGlvbnNCcmVha3BvaW50OgorICAgICAgICAg
ICAgY29va2llW0RlYnVnZ2VyU2lkZWJhclBhbmVsLlNlbGVjdGVkVW5jYXVnaHRFeGNlcHRpb25z
Q29va2llS2V5XSA9IHRydWU7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KIAotICAg
ICAgICBpZiAocmVwcmVzZW50ZWRPYmplY3QgPT09IFdJLmRlYnVnZ2VyTWFuYWdlci5hc3NlcnRp
b25GYWlsdXJlc0JyZWFrcG9pbnQpIHsKLSAgICAgICAgICAgIGNvb2tpZVtXSS5EZWJ1Z2dlclNp
ZGViYXJQYW5lbC5TZWxlY3RlZEFzc2VydGlvbkZhaWx1cmVzQ29va2llS2V5XSA9IHRydWU7Cisg
ICAgICAgIGNhc2UgV0kuZGVidWdnZXJNYW5hZ2VyLmFzc2VydGlvbkZhaWx1cmVzQnJlYWtwb2lu
dDoKKyAgICAgICAgICAgIGNvb2tpZVtEZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxlY3RlZEFzc2Vy
dGlvbkZhaWx1cmVzQ29va2llS2V5XSA9IHRydWU7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAg
ICAgIH0KIAotICAgICAgICBpZiAocmVwcmVzZW50ZWRPYmplY3QgPT09IFdJLmRvbURlYnVnZ2Vy
TWFuYWdlci5hbGxSZXF1ZXN0c0JyZWFrcG9pbnQpIHsKLSAgICAgICAgICAgIGNvb2tpZVtXSS5E
ZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxlY3RlZEFsbFJlcXVlc3RzQ29va2llS2V5XSA9IHRydWU7
CisgICAgICAgIGNhc2UgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEFuaW1hdGlvbkZyYW1lc0Jy
ZWFrcG9pbnQ6CisgICAgICAgICAgICBjb29raWVbRGVidWdnZXJTaWRlYmFyUGFuZWwuU2VsZWN0
ZWRBbGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50XSA9IHRydWU7CisgICAgICAgICAgICByZXR1
cm47CisKKyAgICAgICAgY2FzZSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsSW50ZXJ2YWxzQnJl
YWtwb2ludDoKKyAgICAgICAgICAgIGNvb2tpZVtEZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxlY3Rl
ZEFsbEludGVydmFsc0JyZWFrcG9pbnRdID0gdHJ1ZTsKKyAgICAgICAgICAgIHJldHVybjsKKwor
ICAgICAgICBjYXNlIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxMaXN0ZW5lcnNCcmVha3BvaW50
OgorICAgICAgICAgICAgY29va2llW0RlYnVnZ2VyU2lkZWJhclBhbmVsLlNlbGVjdGVkQWxsTGlz
dGVuZXJzQnJlYWtwb2ludF0gPSB0cnVlOworICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAg
IGNhc2UgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbFRpbWVvdXRzQnJlYWtwb2ludDoKKyAgICAg
ICAgICAgIGNvb2tpZVtEZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxlY3RlZEFsbFRpbWVvdXRzQnJl
YWtwb2ludF0gPSB0cnVlOworICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGNhc2UgV0ku
ZG9tRGVidWdnZXJNYW5hZ2VyLmFsbFJlcXVlc3RzQnJlYWtwb2ludDoKKyAgICAgICAgICAgIGNv
b2tpZVtEZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxlY3RlZEFsbFJlcXVlc3RzQ29va2llS2V5XSA9
IHRydWU7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIApAQCAtNDAyLDE0ICs0MjYs
MjIgQEAgV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwgPSBjbGFzcyBEZWJ1Z2dlclNpZGViYXJQYW5l
bCBleHRlbmRzIFdJLk5hdmlnYXRpb25TaWRlYmEKICAgICAgICAgfQogCiAgICAgICAgIC8vIEVh
Z2VybHkgcmVzb2x2ZSB0aGUgc3BlY2lhbCBicmVha3BvaW50czsgb3RoZXJ3aXNlLCB1c2UgdGhl
IGRlZmF1bHQgYmVoYXZpb3IuCi0gICAgICAgIGlmIChjb29raWVbV0kuRGVidWdnZXJTaWRlYmFy
UGFuZWwuU2VsZWN0ZWRBbGxFeGNlcHRpb25zQ29va2llS2V5XSkKKyAgICAgICAgaWYgKGNvb2tp
ZVtEZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxlY3RlZEFsbEV4Y2VwdGlvbnNDb29raWVLZXldKQog
ICAgICAgICAgICAgcmV2ZWFsQW5kU2VsZWN0KHRoaXMuX2JyZWFrcG9pbnRzQ29udGVudFRyZWVP
dXRsaW5lLCBXSS5kZWJ1Z2dlck1hbmFnZXIuYWxsRXhjZXB0aW9uc0JyZWFrcG9pbnQpOwotICAg
ICAgICBlbHNlIGlmIChjb29raWVbV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwuU2VsZWN0ZWRVbmNh
dWdodEV4Y2VwdGlvbnNDb29raWVLZXldKQorICAgICAgICBlbHNlIGlmIChjb29raWVbRGVidWdn
ZXJTaWRlYmFyUGFuZWwuU2VsZWN0ZWRVbmNhdWdodEV4Y2VwdGlvbnNDb29raWVLZXldKQogICAg
ICAgICAgICAgcmV2ZWFsQW5kU2VsZWN0KHRoaXMuX2JyZWFrcG9pbnRzQ29udGVudFRyZWVPdXRs
aW5lLCBXSS5kZWJ1Z2dlck1hbmFnZXIudW5jYXVnaHRFeGNlcHRpb25zQnJlYWtwb2ludCk7Ci0g
ICAgICAgIGVsc2UgaWYgKGNvb2tpZVtXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxlY3RlZEFz
c2VydGlvbkZhaWx1cmVzQ29va2llS2V5XSkKKyAgICAgICAgZWxzZSBpZiAoY29va2llW0RlYnVn
Z2VyU2lkZWJhclBhbmVsLlNlbGVjdGVkQXNzZXJ0aW9uRmFpbHVyZXNDb29raWVLZXldKQogICAg
ICAgICAgICAgcmV2ZWFsQW5kU2VsZWN0KHRoaXMuX2JyZWFrcG9pbnRzQ29udGVudFRyZWVPdXRs
aW5lLCBXSS5kZWJ1Z2dlck1hbmFnZXIuYXNzZXJ0aW9uRmFpbHVyZXNCcmVha3BvaW50KTsKLSAg
ICAgICAgZWxzZSBpZiAoY29va2llW1dJLkRlYnVnZ2VyU2lkZWJhclBhbmVsLlNlbGVjdGVkQWxs
UmVxdWVzdHNDb29raWVLZXldKQorICAgICAgICBlbHNlIGlmIChjb29raWVbRGVidWdnZXJTaWRl
YmFyUGFuZWwuU2VsZWN0ZWRBbGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50XSkKKyAgICAgICAg
ICAgIHJldmVhbEFuZFNlbGVjdCh0aGlzLl9icmVha3BvaW50c0NvbnRlbnRUcmVlT3V0bGluZSwg
V0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEFuaW1hdGlvbkZyYW1lc0JyZWFrcG9pbnQpOworICAg
ICAgICBlbHNlIGlmIChjb29raWVbRGVidWdnZXJTaWRlYmFyUGFuZWwuU2VsZWN0ZWRBbGxJbnRl
cnZhbHNCcmVha3BvaW50XSkKKyAgICAgICAgICAgIHJldmVhbEFuZFNlbGVjdCh0aGlzLl9icmVh
a3BvaW50c0NvbnRlbnRUcmVlT3V0bGluZSwgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEludGVy
dmFsc0JyZWFrcG9pbnQpOworICAgICAgICBlbHNlIGlmIChjb29raWVbRGVidWdnZXJTaWRlYmFy
UGFuZWwuU2VsZWN0ZWRBbGxMaXN0ZW5lcnNCcmVha3BvaW50XSkKKyAgICAgICAgICAgIHJldmVh
bEFuZFNlbGVjdCh0aGlzLl9icmVha3BvaW50c0NvbnRlbnRUcmVlT3V0bGluZSwgV0kuZG9tRGVi
dWdnZXJNYW5hZ2VyLmFsbExpc3RlbmVyc0JyZWFrcG9pbnQpOworICAgICAgICBlbHNlIGlmIChj
b29raWVbRGVidWdnZXJTaWRlYmFyUGFuZWwuU2VsZWN0ZWRBbGxSZXF1ZXN0c0Nvb2tpZUtleV0p
CiAgICAgICAgICAgICByZXZlYWxBbmRTZWxlY3QodGhpcy5fYnJlYWtwb2ludHNDb250ZW50VHJl
ZU91dGxpbmUsIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxSZXF1ZXN0c0JyZWFrcG9pbnQpOwor
ICAgICAgICBlbHNlIGlmIChjb29raWVbRGVidWdnZXJTaWRlYmFyUGFuZWwuU2VsZWN0ZWRBbGxU
aW1lb3V0c0JyZWFrcG9pbnRdKQorICAgICAgICAgICAgcmV2ZWFsQW5kU2VsZWN0KHRoaXMuX2Jy
ZWFrcG9pbnRzQ29udGVudFRyZWVPdXRsaW5lLCBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsVGlt
ZW91dHNCcmVha3BvaW50KTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgc3VwZXIucmVzdG9y
ZVN0YXRlRnJvbUNvb2tpZShjb29raWUsIHJlbGF4ZWRNYXRjaERlbGF5KTsKICAgICB9CkBAIC01
MTIsNyArNTQ0LDE1IEBAIFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsID0gY2xhc3MgRGVidWdnZXJT
aWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5OYXZpZ2F0aW9uU2lkZWJhCiAgICAgICAgIH0gZWxzZSBp
ZiAoYnJlYWtwb2ludCBpbnN0YW5jZW9mIFdJLkV2ZW50QnJlYWtwb2ludCkgewogICAgICAgICAg
ICAgY29uc3RydWN0b3IgPSBXSS5FdmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudDsKIAotICAgICAg
ICAgICAgaWYgKGJyZWFrcG9pbnQuZXZlbnRMaXN0ZW5lcikgeworICAgICAgICAgICAgaWYgKGJy
ZWFrcG9pbnQgPT09IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxBbmltYXRpb25GcmFtZXNCcmVh
a3BvaW50KQorICAgICAgICAgICAgICAgIG9wdGlvbnMudGl0bGUgPSBXSS5VSVN0cmluZygiQWxs
IEFuaW1hdGlvbiBGcmFtZXMiKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKGJyZWFrcG9pbnQgPT09
IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxJbnRlcnZhbHNCcmVha3BvaW50KQorICAgICAgICAg
ICAgICAgIG9wdGlvbnMudGl0bGUgPSBXSS5VSVN0cmluZygiQWxsIEludGVydmFscyIpOworICAg
ICAgICAgICAgZWxzZSBpZiAoYnJlYWtwb2ludCA9PT0gV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFs
bExpc3RlbmVyc0JyZWFrcG9pbnQpCisgICAgICAgICAgICAgICAgb3B0aW9ucy50aXRsZSA9IFdJ
LlVJU3RyaW5nKCJBbGwgRXZlbnRzIik7CisgICAgICAgICAgICBlbHNlIGlmIChicmVha3BvaW50
ID09PSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsVGltZW91dHNCcmVha3BvaW50KQorICAgICAg
ICAgICAgICAgIG9wdGlvbnMudGl0bGUgPSBXSS5VSVN0cmluZygiQWxsIFRpbWVvdXRzIik7Cisg
ICAgICAgICAgICBlbHNlIGlmIChicmVha3BvaW50LmV2ZW50TGlzdGVuZXIpIHsKICAgICAgICAg
ICAgICAgICBsZXQgZXZlbnRUYXJnZXRUcmVlRWxlbWVudCA9IG51bGw7CiAgICAgICAgICAgICAg
ICAgaWYgKGJyZWFrcG9pbnQuZXZlbnRMaXN0ZW5lci5vbldpbmRvdykgewogICAgICAgICAgICAg
ICAgICAgICBpZiAoIURlYnVnZ2VyU2lkZWJhclBhbmVsLl9fd2luZG93RXZlbnRUYXJnZXRSZXBy
ZXNlbnRlZE9iamVjdCkKQEAgLTEwNjQsNiArMTEwNCwxMCBAQCBXSS5EZWJ1Z2dlclNpZGViYXJQ
YW5lbCA9IGNsYXNzIERlYnVnZ2VyU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuTmF2aWdhdGlvblNp
ZGViYQogICAgICAgICAgICAgICAgICh0cmVlRWxlbWVudCkgPT4gdHJlZUVsZW1lbnQucmVwcmVz
ZW50ZWRPYmplY3QgPT09IFdJLmRlYnVnZ2VyTWFuYWdlci51bmNhdWdodEV4Y2VwdGlvbnNCcmVh
a3BvaW50LAogICAgICAgICAgICAgICAgICh0cmVlRWxlbWVudCkgPT4gdHJlZUVsZW1lbnQucmVw
cmVzZW50ZWRPYmplY3QgPT09IFdJLmRlYnVnZ2VyTWFuYWdlci5hc3NlcnRpb25GYWlsdXJlc0Jy
ZWFrcG9pbnQsCiAgICAgICAgICAgICAgICAgKHRyZWVFbGVtZW50KSA9PiB0cmVlRWxlbWVudCBp
bnN0YW5jZW9mIFdJLkJyZWFrcG9pbnRUcmVlRWxlbWVudCB8fCB0cmVlRWxlbWVudCBpbnN0YW5j
ZW9mIFdJLlJlc291cmNlVHJlZUVsZW1lbnQgfHwgdHJlZUVsZW1lbnQgaW5zdGFuY2VvZiBXSS5T
Y3JpcHRUcmVlRWxlbWVudCwKKyAgICAgICAgICAgICAgICAodHJlZUVsZW1lbnQpID0+IHRyZWVF
bGVtZW50LnJlcHJlc2VudGVkT2JqZWN0ID09PSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsQW5p
bWF0aW9uRnJhbWVzQnJlYWtwb2ludCwKKyAgICAgICAgICAgICAgICAodHJlZUVsZW1lbnQpID0+
IHRyZWVFbGVtZW50LnJlcHJlc2VudGVkT2JqZWN0ID09PSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIu
YWxsVGltZW91dHNCcmVha3BvaW50LAorICAgICAgICAgICAgICAgICh0cmVlRWxlbWVudCkgPT4g
dHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QgPT09IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5h
bGxJbnRlcnZhbHNCcmVha3BvaW50LAorICAgICAgICAgICAgICAgICh0cmVlRWxlbWVudCkgPT4g
dHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QgPT09IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5h
bGxMaXN0ZW5lcnNCcmVha3BvaW50LAogICAgICAgICAgICAgICAgICh0cmVlRWxlbWVudCkgPT4g
dHJlZUVsZW1lbnQgaW5zdGFuY2VvZiBXSS5FdmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudCwKICAg
ICAgICAgICAgICAgICAodHJlZUVsZW1lbnQpID0+IHRyZWVFbGVtZW50IGluc3RhbmNlb2YgV0ku
RE9NTm9kZVRyZWVFbGVtZW50LAogICAgICAgICAgICAgICAgICh0cmVlRWxlbWVudCkgPT4gdHJl
ZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QgPT09IERlYnVnZ2VyU2lkZWJhclBhbmVsLl9fd2lu
ZG93RXZlbnRUYXJnZXRSZXByZXNlbnRlZE9iamVjdCwKQEAgLTExMjMsMjAgKzExNjcsMTEgQEAg
V0kuRGVidWdnZXJTaWRlYmFyUGFuZWwgPSBjbGFzcyBEZWJ1Z2dlclNpZGViYXJQYW5lbCBleHRl
bmRzIFdJLk5hdmlnYXRpb25TaWRlYmEKIAogICAgICAgICBzd2l0Y2ggKHBhdXNlUmVhc29uKSB7
CiAgICAgICAgIGNhc2UgV0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVhc29uLkFuaW1hdGlvbkZy
YW1lOgotICAgICAgICAgICAgY29uc29sZS5hc3NlcnQocGF1c2VEYXRhLCAiRXhwZWN0ZWQgZGF0
YSB3aXRoIGFuIGFuaW1hdGlvbiBmcmFtZSwgYnV0IGZvdW5kIG5vbmUuIik7Ci0gICAgICAgICAg
ICBpZiAoIXBhdXNlRGF0YSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAg
ICAgICAgIHZhciBldmVudEJyZWFrcG9pbnQgPSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuZXZlbnRC
cmVha3BvaW50Rm9yVHlwZUFuZEV2ZW50TmFtZShXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5Bbmlt
YXRpb25GcmFtZSwgcGF1c2VEYXRhLmV2ZW50TmFtZSk7Ci0gICAgICAgICAgICBjb25zb2xlLmFz
c2VydChldmVudEJyZWFrcG9pbnQsICJFeHBlY3RlZCBBbmltYXRpb25GcmFtZSBicmVha3BvaW50
IGZvciBldmVudCBuYW1lLiIsIHBhdXNlRGF0YS5ldmVudE5hbWUpOwotICAgICAgICAgICAgaWYg
KCFldmVudEJyZWFrcG9pbnQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCiAgICAg
ICAgICAgICB0aGlzLl9wYXVzZVJlYXNvblRyZWVPdXRsaW5lID0gdGhpcy5jcmVhdGVDb250ZW50
VHJlZU91dGxpbmUoe3N1cHByZXNzRmlsdGVyaW5nOiB0cnVlfSk7CiAKLSAgICAgICAgICAgIHZh
ciBldmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudCA9IG5ldyBXSS5FdmVudEJyZWFrcG9pbnRUcmVl
RWxlbWVudChldmVudEJyZWFrcG9pbnQsIHsKKyAgICAgICAgICAgIHZhciBldmVudEJyZWFrcG9p
bnRUcmVlRWxlbWVudCA9IG5ldyBXSS5FdmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudChXSS5kb21E
ZWJ1Z2dlck1hbmFnZXIuYWxsQW5pbWF0aW9uRnJhbWVzQnJlYWtwb2ludCwgewogICAgICAgICAg
ICAgICAgIGNsYXNzTmFtZTogV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwuUGF1c2VkQnJlYWtwb2lu
dEljb25TdHlsZUNsYXNzTmFtZSwKLSAgICAgICAgICAgICAgICB0aXRsZTogV0kuVUlTdHJpbmco
IiVzIEZpcmVkIikuZm9ybWF0KHBhdXNlRGF0YS5ldmVudE5hbWUpLAorICAgICAgICAgICAgICAg
IHRpdGxlOiBXSS5VSVN0cmluZygicmVxdWVzdEFuaW1hdGlvbkZyYW1lIEZpcmVkIiksCiAgICAg
ICAgICAgICB9KTsKICAgICAgICAgICAgIHRoaXMuX3BhdXNlUmVhc29uVHJlZU91dGxpbmUuYXBw
ZW5kQ2hpbGQoZXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQpOwogCkBAIC0xMjUzLDYgKzEyODgs
NyBAQCBXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbCA9IGNsYXNzIERlYnVnZ2VyU2lkZWJhclBhbmVs
IGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYQogICAgICAgICAgICAgfQogICAgICAgICAgICAg
YnJlYWs7CiAKKyAgICAgICAgY2FzZSBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uTGlz
dGVuZXI6CiAgICAgICAgIGNhc2UgV0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVhc29uLkV2ZW50
TGlzdGVuZXI6CiAgICAgICAgICAgICBjb25zb2xlLmFzc2VydChwYXVzZURhdGEsICJFeHBlY3Rl
ZCBkYXRhIHdpdGggYW4gZXZlbnQgbGlzdGVuZXIsIGJ1dCBmb3VuZCBub25lLiIpOwogICAgICAg
ICAgICAgaWYgKCFwYXVzZURhdGEpCkBAIC0xMjYyLDcgKzEyOTgsNyBAQCBXSS5EZWJ1Z2dlclNp
ZGViYXJQYW5lbCA9IGNsYXNzIERlYnVnZ2VyU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuTmF2aWdh
dGlvblNpZGViYQogICAgICAgICAgICAgaWYgKHBhdXNlRGF0YS5ldmVudExpc3RlbmVySWQpCiAg
ICAgICAgICAgICAgICAgZXZlbnRCcmVha3BvaW50ID0gV0kuZG9tTWFuYWdlci5icmVha3BvaW50
Rm9yRXZlbnRMaXN0ZW5lcklkKHBhdXNlRGF0YS5ldmVudExpc3RlbmVySWQpOwogICAgICAgICAg
ICAgaWYgKCFldmVudEJyZWFrcG9pbnQpCi0gICAgICAgICAgICAgICAgZXZlbnRCcmVha3BvaW50
ID0gV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmV2ZW50QnJlYWtwb2ludEZvclR5cGVBbmRFdmVudE5h
bWUoV0kuRXZlbnRCcmVha3BvaW50LlR5cGUuTGlzdGVuZXIsIHBhdXNlRGF0YS5ldmVudE5hbWUp
OworICAgICAgICAgICAgICAgIGV2ZW50QnJlYWtwb2ludCA9IFdJLmRvbURlYnVnZ2VyTWFuYWdl
ci5saXN0ZW5lckJyZWFrcG9pbnRGb3JFdmVudE5hbWUocGF1c2VEYXRhLmV2ZW50TmFtZSk7CiAK
ICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGV2ZW50QnJlYWtwb2ludCwgIkV4cGVjdGVkIEV2
ZW50IExpc3RlbmVyIGJyZWFrcG9pbnQgZm9yIGV2ZW50IG5hbWUuIiwgcGF1c2VEYXRhLmV2ZW50
TmFtZSk7CiAgICAgICAgICAgICBpZiAoIWV2ZW50QnJlYWtwb2ludCkKQEAgLTEzMDgsNiArMTM0
NCwyMSBAQCBXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbCA9IGNsYXNzIERlYnVnZ2VyU2lkZWJhclBh
bmVsIGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYQogICAgICAgICAgICAgfQogICAgICAgICAg
ICAgYnJlYWs7CiAKKyAgICAgICAgY2FzZSBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24u
SW50ZXJ2YWw6CisgICAgICAgICAgICB0aGlzLl9wYXVzZVJlYXNvblRyZWVPdXRsaW5lID0gdGhp
cy5jcmVhdGVDb250ZW50VHJlZU91dGxpbmUoe3N1cHByZXNzRmlsdGVyaW5nOiB0cnVlfSk7CisK
KyAgICAgICAgICAgIHZhciBldmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudCA9IG5ldyBXSS5FdmVu
dEJyZWFrcG9pbnRUcmVlRWxlbWVudChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsSW50ZXJ2YWxz
QnJlYWtwb2ludCwgeworICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogV0kuRGVidWdnZXJTaWRl
YmFyUGFuZWwuUGF1c2VkQnJlYWtwb2ludEljb25TdHlsZUNsYXNzTmFtZSwKKyAgICAgICAgICAg
ICAgICB0aXRsZTogV0kuVUlTdHJpbmcoInNldEludGVydmFsIEZpcmVkIiksCisgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIHRoaXMuX3BhdXNlUmVhc29uVHJlZU91dGxpbmUuYXBwZW5kQ2hp
bGQoZXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQpOworCisgICAgICAgICAgICB2YXIgZXZlbnRC
cmVha3BvaW50Um93ID0gbmV3IFdJLkRldGFpbHNTZWN0aW9uUm93OworICAgICAgICAgICAgZXZl
bnRCcmVha3BvaW50Um93LmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fcGF1c2VSZWFzb25UcmVl
T3V0bGluZS5lbGVtZW50KTsKKworICAgICAgICAgICAgdGhpcy5fcGF1c2VSZWFzb25Hcm91cC5y
b3dzID0gW2V2ZW50QnJlYWtwb2ludFJvd107CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKwog
ICAgICAgICBjYXNlIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5QYXVzZU9uTmV4dFN0
YXRlbWVudDoKICAgICAgICAgICAgIHRoaXMuX3BhdXNlUmVhc29uVGV4dFJvdy50ZXh0ID0gV0ku
VUlTdHJpbmcoIkltbWVkaWF0ZSBQYXVzZSBSZXF1ZXN0ZWQiKTsKICAgICAgICAgICAgIHRoaXMu
X3BhdXNlUmVhc29uR3JvdXAucm93cyA9IFt0aGlzLl9wYXVzZVJlYXNvblRleHRSb3ddOwpAQCAt
MTMxOCw3ICsxMzY5LDE2IEBAIFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsID0gY2xhc3MgRGVidWdn
ZXJTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5OYXZpZ2F0aW9uU2lkZWJhCiAgICAgICAgICAgICBp
ZiAoIXBhdXNlRGF0YSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAg
ICAgIHZhciBldmVudEJyZWFrcG9pbnQgPSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuZXZlbnRCcmVh
a3BvaW50Rm9yVHlwZUFuZEV2ZW50TmFtZShXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5UaW1lciwg
cGF1c2VEYXRhLmV2ZW50TmFtZSk7CisgICAgICAgICAgICB2YXIgZXZlbnRCcmVha3BvaW50ID0g
bnVsbDsKKyAgICAgICAgICAgIHN3aXRjaCAocGF1c2VEYXRhLmV2ZW50TmFtZSkgeworICAgICAg
ICAgICAgY2FzZSAic2V0VGltZW91dCI6CisgICAgICAgICAgICAgICAgZXZlbnRCcmVha3BvaW50
ID0gV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbFRpbWVvdXRzQnJlYWtwb2ludDsKKyAgICAgICAg
ICAgICAgICBicmVhazsKKworICAgICAgICAgICAgY2FzZSAic2V0SW50ZXJ2YWwiOgorICAgICAg
ICAgICAgICAgIGV2ZW50QnJlYWtwb2ludCA9IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxJbnRl
cnZhbHNCcmVha3BvaW50OworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQog
ICAgICAgICAgICAgY29uc29sZS5hc3NlcnQoZXZlbnRCcmVha3BvaW50LCAiRXhwZWN0ZWQgVGlt
ZXIgYnJlYWtwb2ludCBmb3IgZXZlbnQgbmFtZS4iLCBwYXVzZURhdGEuZXZlbnROYW1lKTsKICAg
ICAgICAgICAgIGlmICghZXZlbnRCcmVha3BvaW50KQogICAgICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKQEAgLTEzMzcsNiArMTM5NywyMSBAQCBXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbCA9IGNs
YXNzIERlYnVnZ2VyU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYQogICAg
ICAgICAgICAgdGhpcy5fcGF1c2VSZWFzb25Hcm91cC5yb3dzID0gW2V2ZW50QnJlYWtwb2ludFJv
d107CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKIAorICAgICAgICBjYXNlIFdJLkRlYnVnZ2Vy
TWFuYWdlci5QYXVzZVJlYXNvbi5UaW1lb3V0OgorICAgICAgICAgICAgdGhpcy5fcGF1c2VSZWFz
b25UcmVlT3V0bGluZSA9IHRoaXMuY3JlYXRlQ29udGVudFRyZWVPdXRsaW5lKHtzdXBwcmVzc0Zp
bHRlcmluZzogdHJ1ZX0pOworCisgICAgICAgICAgICB2YXIgZXZlbnRCcmVha3BvaW50VHJlZUVs
ZW1lbnQgPSBuZXcgV0kuRXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQoV0kuZG9tRGVidWdnZXJN
YW5hZ2VyLmFsbFRpbWVvdXRzQnJlYWtwb2ludCwgeworICAgICAgICAgICAgICAgIGNsYXNzTmFt
ZTogV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwuUGF1c2VkQnJlYWtwb2ludEljb25TdHlsZUNsYXNz
TmFtZSwKKyAgICAgICAgICAgICAgICB0aXRsZTogV0kuVUlTdHJpbmcoInNldFRpbWVvdXQgRmly
ZWQiKSwKKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgdGhpcy5fcGF1c2VSZWFzb25UcmVl
T3V0bGluZS5hcHBlbmRDaGlsZChldmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudCk7CisKKyAgICAg
ICAgICAgIHZhciBldmVudEJyZWFrcG9pbnRSb3cgPSBuZXcgV0kuRGV0YWlsc1NlY3Rpb25Sb3c7
CisgICAgICAgICAgICBldmVudEJyZWFrcG9pbnRSb3cuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlz
Ll9wYXVzZVJlYXNvblRyZWVPdXRsaW5lLmVsZW1lbnQpOworCisgICAgICAgICAgICB0aGlzLl9w
YXVzZVJlYXNvbkdyb3VwLnJvd3MgPSBbZXZlbnRCcmVha3BvaW50Um93XTsKKyAgICAgICAgICAg
IHJldHVybiB0cnVlOworCiAgICAgICAgIGNhc2UgV0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVh
c29uLkZldGNoOgogICAgICAgICBjYXNlIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5Y
SFI6CiAgICAgICAgICAgICBjb25zb2xlLmFzc2VydChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuc3Vw
cG9ydGVkKTsKQEAgLTE0NTUsMTEgKzE1MzAsMzEgQEAgV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwg
PSBjbGFzcyBEZWJ1Z2dlclNpZGViYXJQYW5lbCBleHRlbmRzIFdJLk5hdmlnYXRpb25TaWRlYmEK
ICAgICAgICAgbGV0IHRyZWVFbGVtZW50ID0gZXZlbnQuZGF0YS5lbGVtZW50OwogCiAgICAgICAg
IGxldCBzZXR0aW5nID0gbnVsbDsKLSAgICAgICAgaWYgKHRyZWVFbGVtZW50LmJyZWFrcG9pbnQg
PT09IFdJLmRlYnVnZ2VyTWFuYWdlci5hc3NlcnRpb25GYWlsdXJlc0JyZWFrcG9pbnQpCisgICAg
ICAgIHN3aXRjaCAodHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QpIHsKKyAgICAgICAgY2Fz
ZSBXSS5kZWJ1Z2dlck1hbmFnZXIuYXNzZXJ0aW9uRmFpbHVyZXNCcmVha3BvaW50OgogICAgICAg
ICAgICAgc2V0dGluZyA9IFdJLnNldHRpbmdzLnNob3dBc3NlcnRpb25GYWlsdXJlc0JyZWFrcG9p
bnQ7Ci0gICAgICAgIGVsc2UgaWYgKHRyZWVFbGVtZW50LnJlcHJlc2VudGVkT2JqZWN0ID09PSBX
SS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsUmVxdWVzdHNCcmVha3BvaW50KQotICAgICAgICAgICAg
c2V0dGluZyA9IFdJLnNldHRpbmdzLnNob3dBbGxSZXF1ZXN0c0JyZWFrcG9pbnQ7CisgICAgICAg
ICAgICBicmVhazsKIAorICAgICAgICBjYXNlIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxBbmlt
YXRpb25GcmFtZXNCcmVha3BvaW50OgorICAgICAgICAgICAgc2V0dGluZyA9IFdJLnNldHRpbmdz
LnNob3dBbGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50OworICAgICAgICAgICAgYnJlYWs7CisK
KyAgICAgICAgY2FzZSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsSW50ZXJ2YWxzQnJlYWtwb2lu
dDoKKyAgICAgICAgICAgIHNldHRpbmcgPSBXSS5zZXR0aW5ncy5zaG93QWxsSW50ZXJ2YWxzQnJl
YWtwb2ludDsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgV0kuZG9tRGVidWdn
ZXJNYW5hZ2VyLmFsbExpc3RlbmVyc0JyZWFrcG9pbnQ6CisgICAgICAgICAgICBzZXR0aW5nID0g
V0kuc2V0dGluZ3Muc2hvd0FsbExpc3RlbmVyc0JyZWFrcG9pbnQ7CisgICAgICAgICAgICBicmVh
azsKKworICAgICAgICBjYXNlIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxSZXF1ZXN0c0JyZWFr
cG9pbnQ6CisgICAgICAgICAgICBzZXR0aW5nID0gV0kuc2V0dGluZ3Muc2hvd0FsbFJlcXVlc3Rz
QnJlYWtwb2ludDsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgV0kuZG9tRGVi
dWdnZXJNYW5hZ2VyLmFsbFRpbWVvdXRzQnJlYWtwb2ludDoKKyAgICAgICAgICAgIHNldHRpbmcg
PSBXSS5zZXR0aW5ncy5zaG93QWxsVGltZW91dHNCcmVha3BvaW50OworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIH0KICAgICAgICAgaWYgKHNldHRpbmcpCiAgICAgICAgICAgICBzZXR0aW5n
LnZhbHVlID0gISF0cmVlRWxlbWVudC5wYXJlbnQ7CiAgICAgfQpAQCAtMTQ4MCwxOCArMTU3NSw0
MiBAQCBXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbCA9IGNsYXNzIERlYnVnZ2VyU2lkZWJhclBhbmVs
IGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYQogICAgICAgICAgICAgfSwgYXNzZXJ0aW9uRmFp
bHVyZXNCcmVha3BvaW50U2hvd24pOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKFdJLmRvbURl
YnVnZ2VyTWFuYWdlci5zdXBwb3J0ZWQpIHsKKyAgICAgICAgaWYgKFdJLkRPTURlYnVnZ2VyTWFu
YWdlci5zdXBwb3J0c0V2ZW50QnJlYWtwb2ludHMoKSB8fCBXSS5ET01EZWJ1Z2dlck1hbmFnZXIu
c3VwcG9ydHNFdmVudExpc3RlbmVyQnJlYWtwb2ludHMoKSkgeworICAgICAgICAgICAgZnVuY3Rp
b24gYWRkVG9nZ2xlRm9yU3BlY2lhbEV2ZW50QnJlYWtwb2ludChicmVha3BvaW50LCBsYWJlbCwg
Y2hlY2tlZCkgeworICAgICAgICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZENoZWNrYm94SXRl
bShsYWJlbCwgKCkgPT4geworICAgICAgICAgICAgICAgICAgICBpZiAoY2hlY2tlZCkKKyAgICAg
ICAgICAgICAgICAgICAgICAgIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5yZW1vdmVFdmVudEJyZWFr
cG9pbnQoYnJlYWtwb2ludCk7CisgICAgICAgICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAg
ICAgICAgICAgICAgICAgYnJlYWtwb2ludC5kaXNhYmxlZCA9IGZhbHNlOworICAgICAgICAgICAg
ICAgICAgICAgICAgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFkZEV2ZW50QnJlYWtwb2ludChicmVh
a3BvaW50KTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0sIGNoZWNr
ZWQpOworICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRTZXBh
cmF0b3IoKTsKIAorICAgICAgICAgICAgYWRkVG9nZ2xlRm9yU3BlY2lhbEV2ZW50QnJlYWtwb2lu
dChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsQW5pbWF0aW9uRnJhbWVzQnJlYWtwb2ludCwgV0ku
VUlTdHJpbmcoIkFsbCBBbmltYXRpb24gRnJhbWVzIiksIFdJLnNldHRpbmdzLnNob3dBbGxBbmlt
YXRpb25GcmFtZXNCcmVha3BvaW50LnZhbHVlKTsKKworICAgICAgICAgICAgY29udGV4dE1lbnUu
YXBwZW5kU2VwYXJhdG9yKCk7CisKKyAgICAgICAgICAgIGFkZFRvZ2dsZUZvclNwZWNpYWxFdmVu
dEJyZWFrcG9pbnQoV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbFRpbWVvdXRzQnJlYWtwb2ludCwg
V0kuVUlTdHJpbmcoIkFsbCBUaW1lb3V0cyIpLCBXSS5zZXR0aW5ncy5zaG93QWxsVGltZW91dHNC
cmVha3BvaW50LnZhbHVlKTsKKyAgICAgICAgICAgIGFkZFRvZ2dsZUZvclNwZWNpYWxFdmVudEJy
ZWFrcG9pbnQoV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEludGVydmFsc0JyZWFrcG9pbnQsIFdJ
LlVJU3RyaW5nKCJBbGwgSW50ZXJ2YWxzIiksIFdJLnNldHRpbmdzLnNob3dBbGxJbnRlcnZhbHNC
cmVha3BvaW50LnZhbHVlKTsKKworICAgICAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kU2VwYXJh
dG9yKCk7CisKKyAgICAgICAgICAgIGlmIChXSS5ET01EZWJ1Z2dlck1hbmFnZXIuc3VwcG9ydHNB
bGxMaXN0ZW5lcnNCcmVha3BvaW50KCkpCisgICAgICAgICAgICAgICAgYWRkVG9nZ2xlRm9yU3Bl
Y2lhbEV2ZW50QnJlYWtwb2ludChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsTGlzdGVuZXJzQnJl
YWtwb2ludCwgV0kuVUlTdHJpbmcoIkFsbCBFdmVudHMiKSwgV0kuc2V0dGluZ3Muc2hvd0FsbExp
c3RlbmVyc0JyZWFrcG9pbnQudmFsdWUpOworCiAgICAgICAgICAgICBjb250ZXh0TWVudS5hcHBl
bmRJdGVtKFdJLlVJU3RyaW5nKCJFdmVudCBCcmVha3BvaW50XHUyMDI2IiksICgpID0+IHsKICAg
ICAgICAgICAgICAgICBsZXQgcG9wb3ZlciA9IG5ldyBXSS5FdmVudEJyZWFrcG9pbnRQb3BvdmVy
KHRoaXMpOwogICAgICAgICAgICAgICAgIHBvcG92ZXIuc2hvdyh0aGlzLl9jcmVhdGVCcmVha3Bv
aW50QnV0dG9uLmVsZW1lbnQsIFtXSS5SZWN0RWRnZS5NQVhfWSwgV0kuUmVjdEVkZ2UuTUlOX1ks
IFdJLlJlY3RFZGdlLk1BWF9YXSk7CiAgICAgICAgICAgICB9KTsKIAogICAgICAgICAgICAgY29u
dGV4dE1lbnUuYXBwZW5kU2VwYXJhdG9yKCk7CisgICAgICAgIH0KIAorICAgICAgICBpZiAoV0ku
RE9NRGVidWdnZXJNYW5hZ2VyLnN1cHBvcnRzVVJMQnJlYWtwb2ludHMoKSB8fCBXSS5ET01EZWJ1
Z2dlck1hbmFnZXIuc3VwcG9ydHNYSFJCcmVha3BvaW50cygpKSB7CiAgICAgICAgICAgICBsZXQg
YWxsUmVxdWVzdHNCcmVha3BvaW50U2hvd24gPSBXSS5zZXR0aW5ncy5zaG93QWxsUmVxdWVzdHNC
cmVha3BvaW50LnZhbHVlOwotCiAgICAgICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRDaGVja2Jv
eEl0ZW0oV0kucmVwZWF0ZWRVSVN0cmluZy5hbGxSZXF1ZXN0cygpLCAoKSA9PiB7CiAgICAgICAg
ICAgICAgICAgaWYgKGFsbFJlcXVlc3RzQnJlYWtwb2ludFNob3duKQogICAgICAgICAgICAgICAg
ICAgICBXSS5kb21EZWJ1Z2dlck1hbmFnZXIucmVtb3ZlVVJMQnJlYWtwb2ludChXSS5kb21EZWJ1
Z2dlck1hbmFnZXIuYWxsUmVxdWVzdHNCcmVha3BvaW50KTsKQEAgLTE1MTcsNCArMTYzNiw4IEBA
IFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsLlBhdXNlZEJyZWFrcG9pbnRJY29uU3R5bGVDbGFzc05h
bWUgPSAiYnJlYWtwb2ludC1wYXVzZWQtCiBXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxlY3Rl
ZEFsbEV4Y2VwdGlvbnNDb29raWVLZXkgPSAiZGVidWdnZXItc2lkZWJhci1wYW5lbC1hbGwtZXhj
ZXB0aW9ucy1icmVha3BvaW50IjsKIFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsLlNlbGVjdGVkVW5j
YXVnaHRFeGNlcHRpb25zQ29va2llS2V5ID0gImRlYnVnZ2VyLXNpZGViYXItcGFuZWwtdW5jYXVn
aHQtZXhjZXB0aW9ucy1icmVha3BvaW50IjsKIFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsLlNlbGVj
dGVkQXNzZXJ0aW9uRmFpbHVyZXNDb29raWVLZXkgPSAiZGVidWdnZXItc2lkZWJhci1wYW5lbC1h
c3NlcnRpb24tZmFpbHVyZXMtYnJlYWtwb2ludCI7CitXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbC5T
ZWxlY3RlZEFsbEFuaW1hdGlvbkZyYW1lc0JyZWFrcG9pbnQgPSAiZGVidWdnZXItc2lkZWJhci1w
YW5lbC1hbGwtYW5pbWF0aW9uLWZyYW1lcy1icmVha3BvaW50IjsKK1dJLkRlYnVnZ2VyU2lkZWJh
clBhbmVsLlNlbGVjdGVkQWxsSW50ZXJ2YWxzQnJlYWtwb2ludCA9ICJkZWJ1Z2dlci1zaWRlYmFy
LXBhbmVsLWFsbC1pbnRlcnZhbHMtYnJlYWtwb2ludCI7CitXSS5EZWJ1Z2dlclNpZGViYXJQYW5l
bC5TZWxlY3RlZEFsbExpc3RlbmVyc0JyZWFrcG9pbnQgPSAiZGVidWdnZXItc2lkZWJhci1wYW5l
bC1hbGwtbGlzdGVuZXJzLWJyZWFrcG9pbnQiOworV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwuU2Vs
ZWN0ZWRBbGxUaW1lb3V0c0JyZWFrcG9pbnQgPSAiZGVidWdnZXItc2lkZWJhci1wYW5lbC1hbGwt
dGltZW91dHMtYnJlYWtwb2ludCI7CiBXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxlY3RlZEFs
bFJlcXVlc3RzQ29va2llS2V5ID0gImRlYnVnZ2VyLXNpZGViYXItcGFuZWwtYWxsLXJlcXVlc3Rz
LWJyZWFrcG9pbnQiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvRXZlbnRCcmVha3BvaW50UG9wb3Zlci5jc3MgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9FdmVudEJyZWFrcG9pbnRQb3BvdmVyLmNzcwppbmRl
eCBhNWJjMDM3NjdhOTMzZjUxYzE4M2FhMDc2MzU0MWYyNWZlMDNlZWE4Li5jN2ZiMjE1MjA5OTVj
OGE0ZTUwN2FiM2I0OTNmZjE3NGQyZTcxZjNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9FdmVudEJyZWFrcG9pbnRQb3BvdmVyLmNzcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9FdmVudEJyZWFrcG9p
bnRQb3BvdmVyLmNzcwpAQCAtMjgsMTYgKzI4LDEyIEBACiAgICAgcGFkZGluZzogNXB4OwogfQog
Ci0ucG9wb3ZlciAuZXZlbnQtYnJlYWtwb2ludC1jb250ZW50ID4gLmV2ZW50LXR5cGUgewotICAg
IGRpc3BsYXk6IGZsZXg7CisucG9wb3ZlciAuZXZlbnQtYnJlYWtwb2ludC1jb250ZW50ID4gaW5w
dXQgewogICAgIG1hcmdpbi10b3A6IDRweDsKLX0KLQotLnBvcG92ZXIgLmV2ZW50LWJyZWFrcG9p
bnQtY29udGVudCA+IC5ldmVudC10eXBlID4gaW5wdXQgewogICAgIGZvbnQtZmFtaWx5OiBNZW5s
bywgbW9ub3NwYWNlOwogICAgIHRleHQtYWxpZ246IGxlZnQ7CiB9CiAKLS5wb3BvdmVyIC5ldmVu
dC1icmVha3BvaW50LWNvbnRlbnQgPiAuZXZlbnQtdHlwZSA+IGlucHV0OjpwbGFjZWhvbGRlciB7
CisucG9wb3ZlciAuZXZlbnQtYnJlYWtwb2ludC1jb250ZW50ID4gaW5wdXQ6OnBsYWNlaG9sZGVy
IHsKICAgICBmb250LWZhbWlseTogc3lzdGVtLXVpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRXZlbnRCcmVha3BvaW50UG9wb3Zlci5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50QnJlYWtw
b2ludFBvcG92ZXIuanMKaW5kZXggZThiODY2NTYwYTM5Yzg0ZGYyOWQxZWEwYTYzNzUyNDQxN2Rj
NDlkMy4uODMyMmYyYmQ1NGMyMTA4OGQ4YzFlNDA1ZDY2ODFjYTExYzFjYmJmMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRXZlbnRCcmVha3Bv
aW50UG9wb3Zlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9FdmVudEJyZWFrcG9pbnRQb3BvdmVyLmpzCkBAIC01NiwzMiArNTYsNyBAQCBXSS5FdmVu
dEJyZWFrcG9pbnRQb3BvdmVyID0gY2xhc3MgRXZlbnRCcmVha3BvaW50UG9wb3ZlciBleHRlbmRz
IFdJLlBvcG92ZXIKICAgICAgICAgbGFiZWwuY2xhc3NMaXN0LmFkZCgibGFiZWwiKTsKICAgICAg
ICAgbGFiZWwudGV4dENvbnRlbnQgPSBXSS5VSVN0cmluZygiQnJlYWsgb24gZXZlbnRzIHdpdGgg
bmFtZToiKTsKIAotICAgICAgICBsZXQgdHlwZUNvbnRhaW5lciA9IGNvbnRlbnRFbGVtZW50LmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTsKLSAgICAgICAgdHlwZUNv
bnRhaW5lci5jbGFzc0xpc3QuYWRkKCJldmVudC10eXBlIik7Ci0KLSAgICAgICAgdGhpcy5fdHlw
ZVNlbGVjdEVsZW1lbnQgPSB0eXBlQ29udGFpbmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInNlbGVjdCIpKTsKLSAgICAgICAgdGhpcy5fdHlwZVNlbGVjdEVsZW1lbnQuYWRk
RXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwgdGhpcy5faGFuZGxlVHlwZVNlbGVjdENoYW5nZS5iaW5k
KHRoaXMpKTsKLSAgICAgICAgdGhpcy5fdHlwZVNlbGVjdEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5l
cigia2V5ZG93biIsIChldmVudCkgPT4gewotICAgICAgICAgICAgaWYgKGlzRW50ZXJLZXkoZXZl
bnQpKQotICAgICAgICAgICAgICAgIHRoaXMuZGlzbWlzcygpOwotICAgICAgICB9KTsKLQotICAg
ICAgICBsZXQgY3JlYXRlT3B0aW9uID0gKHRleHQsIHZhbHVlKSA9PiB7Ci0gICAgICAgICAgICBs
ZXQgb3B0aW9uRWxlbWVudCA9IHRoaXMuX3R5cGVTZWxlY3RFbGVtZW50LmFwcGVuZENoaWxkKGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpKTsKLSAgICAgICAgICAgIG9wdGlvbkVsZW1l
bnQudmFsdWUgPSB2YWx1ZTsKLSAgICAgICAgICAgIG9wdGlvbkVsZW1lbnQudGV4dENvbnRlbnQg
PSB0ZXh0OwotICAgICAgICB9OwotCi0gICAgICAgIGNyZWF0ZU9wdGlvbihXSS5VSVN0cmluZygi
RE9NIEV2ZW50IiksIFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkxpc3RlbmVyKTsKLQotICAgICAg
ICBpZiAoV0kuRE9NRGVidWdnZXJNYW5hZ2VyLnN1cHBvcnRzRXZlbnRCcmVha3BvaW50cygpKSB7
Ci0gICAgICAgICAgICBjcmVhdGVPcHRpb24oV0kudW5sb2NhbGl6ZWRTdHJpbmcoInJlcXVlc3RB
bmltYXRpb25GcmFtZSIpLCAicmVxdWVzdEFuaW1hdGlvbkZyYW1lIik7Ci0gICAgICAgICAgICBj
cmVhdGVPcHRpb24oV0kudW5sb2NhbGl6ZWRTdHJpbmcoInNldFRpbWVvdXQiKSwgInNldFRpbWVv
dXQiKTsKLSAgICAgICAgICAgIGNyZWF0ZU9wdGlvbihXSS51bmxvY2FsaXplZFN0cmluZygic2V0
SW50ZXJ2YWwiKSwgInNldEludGVydmFsIik7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAg
dGhpcy5fdHlwZVNlbGVjdEVsZW1lbnQuaGlkZGVuID0gdHJ1ZTsKLQotICAgICAgICB0aGlzLl9k
b21FdmVudE5hbWVJbnB1dEVsZW1lbnQgPSB0eXBlQ29udGFpbmVyLmFwcGVuZENoaWxkKGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0IikpOworICAgICAgICB0aGlzLl9kb21FdmVudE5hbWVJ
bnB1dEVsZW1lbnQgPSBjb250ZW50RWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJpbnB1dCIpKTsKICAgICAgICAgdGhpcy5fZG9tRXZlbnROYW1lSW5wdXRFbGVtZW50
LnNldEF0dHJpYnV0ZSgiZGlyIiwgImx0ciIpOwogICAgICAgICB0aGlzLl9kb21FdmVudE5hbWVJ
bnB1dEVsZW1lbnQucGxhY2Vob2xkZXIgPSBXSS5VSVN0cmluZygiRXhhbXBsZTogXHUyMDFDJXNc
dTIwMUQiKS5mb3JtYXQoImNsaWNrIik7CiAgICAgICAgIHRoaXMuX2RvbUV2ZW50TmFtZUlucHV0
RWxlbWVudC5zcGVsbGNoZWNrID0gZmFsc2U7CkBAIC0xMjUsMjggKzEwMCwxMiBAQCBXSS5FdmVu
dEJyZWFrcG9pbnRQb3BvdmVyID0gY2xhc3MgRXZlbnRCcmVha3BvaW50UG9wb3ZlciBleHRlbmRz
IFdJLlBvcG92ZXIKIAogICAgICAgICB0aGlzLl9wcmVzZW50T3ZlclRhcmdldEVsZW1lbnQoKTsK
IAotICAgICAgICB0aGlzLl90eXBlU2VsZWN0RWxlbWVudC52YWx1ZSA9IFdJLkV2ZW50QnJlYWtw
b2ludC5UeXBlLkxpc3RlbmVyOwogICAgICAgICB0aGlzLl9kb21FdmVudE5hbWVJbnB1dEVsZW1l
bnQuc2VsZWN0KCk7CiAgICAgfQogCiAgICAgZGlzbWlzcygpCiAgICAgewotICAgICAgICBsZXQg
dHlwZSA9IHRoaXMuX3R5cGVTZWxlY3RFbGVtZW50LnZhbHVlOwotICAgICAgICBsZXQgdmFsdWUg
PSBudWxsOwotCi0gICAgICAgIGlmICh0eXBlID09PSBXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5M
aXN0ZW5lcikKLSAgICAgICAgICAgIHZhbHVlID0gdGhpcy5fZG9tRXZlbnROYW1lSW5wdXRFbGVt
ZW50LnZhbHVlOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIHZhbHVlID0gdHlwZTsKLQot
ICAgICAgICAgICAgaWYgKHZhbHVlID09PSAicmVxdWVzdEFuaW1hdGlvbkZyYW1lIikKLSAgICAg
ICAgICAgICAgICB0eXBlID0gV0kuRXZlbnRCcmVha3BvaW50LlR5cGUuQW5pbWF0aW9uRnJhbWU7
Ci0gICAgICAgICAgICBlbHNlIGlmICh2YWx1ZSA9PT0gInNldFRpbWVvdXQiIHx8IHZhbHVlID09
PSAic2V0SW50ZXJ2YWwiKQotICAgICAgICAgICAgICAgIHR5cGUgPSBXSS5FdmVudEJyZWFrcG9p
bnQuVHlwZS5UaW1lcjsKLSAgICAgICAgfQotCi0gICAgICAgIGlmICh0eXBlICYmIHZhbHVlKQot
ICAgICAgICAgICAgdGhpcy5fYnJlYWtwb2ludCA9IG5ldyBXSS5FdmVudEJyZWFrcG9pbnQodHlw
ZSwgdmFsdWUpOworICAgICAgICB0aGlzLl9icmVha3BvaW50ID0gbmV3IFdJLkV2ZW50QnJlYWtw
b2ludChXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5MaXN0ZW5lciwge2V2ZW50TmFtZTogdGhpcy5f
ZG9tRXZlbnROYW1lSW5wdXRFbGVtZW50LnZhbHVlfSk7CiAKICAgICAgICAgc3VwZXIuZGlzbWlz
cygpOwogCkBAIC0xNzMsMjIgKzEzMiw2IEBAIFdJLkV2ZW50QnJlYWtwb2ludFBvcG92ZXIgPSBj
bGFzcyBFdmVudEJyZWFrcG9pbnRQb3BvdmVyIGV4dGVuZHMgV0kuUG9wb3ZlcgogICAgICAgICB0
aGlzLnByZXNlbnQodGFyZ2V0RnJhbWUsIHRoaXMuX3ByZWZlcnJlZEVkZ2VzKTsKICAgICB9CiAK
LSAgICBfaGFuZGxlVHlwZVNlbGVjdENoYW5nZShldmVudCkKLSAgICB7Ci0gICAgICAgIGxldCBs
aXN0ZW5lclR5cGVTZWxlY3RlZCA9IHRoaXMuX3R5cGVTZWxlY3RFbGVtZW50LnZhbHVlID09PSBX
SS5FdmVudEJyZWFrcG9pbnQuVHlwZS5MaXN0ZW5lcjsKLSAgICAgICAgdGhpcy5fZG9tRXZlbnRO
YW1lSW5wdXRFbGVtZW50LmhpZGRlbiA9ICFsaXN0ZW5lclR5cGVTZWxlY3RlZDsKLQotICAgICAg
ICB0aGlzLnVwZGF0ZSgpOwotCi0gICAgICAgIGlmIChsaXN0ZW5lclR5cGVTZWxlY3RlZCkgewot
ICAgICAgICAgICAgdGhpcy5fZG9tRXZlbnROYW1lSW5wdXRFbGVtZW50LmZvY3VzKCk7Ci0KLSAg
ICAgICAgICAgIGlmICh0aGlzLl9kb21FdmVudE5hbWVJbnB1dEVsZW1lbnQudmFsdWUpCi0gICAg
ICAgICAgICAgICAgdGhpcy5fc2hvd1N1Z2dlc3Rpb25zVmlldygpOwotICAgICAgICB9IGVsc2UK
LSAgICAgICAgICAgIHRoaXMuX3N1Z2dlc3Rpb25zVmlldy5oaWRlKCk7Ci0gICAgfQotCiAgICAg
IF9zaG93U3VnZ2VzdGlvbnNWaWV3KCkKICAgICAgewogICAgICAgICBsZXQgY29tcHV0ZWRTdHls
ZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMuX2RvbUV2ZW50TmFtZUlucHV0RWxlbWVu
dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9FdmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudC5jc3MgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9FdmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudC5jc3MKaW5kZXgg
OGI1YTFjMmUzM2JjZjliNTI3Yzc0OWZmYmZhNGRhZTZhYmNiNGM0Ni4uYTlhNWFkYjg1ZmFiYTk4
NTA1YzgyYjk4ZDA5YzFmMDljYzJmZDBlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQuY3NzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50QnJlYWtw
b2ludFRyZWVFbGVtZW50LmNzcwpAQCAtMjcsMTAgKzI3LDE0IEBACiAgICAgY29udGVudDogdXJs
KC4uL0ltYWdlcy9FdmVudEJyZWFrcG9pbnRBbmltYXRpb25GcmFtZS5zdmcpOwogfQogCisuYnJl
YWtwb2ludC5ldmVudC5icmVha3BvaW50LWZvci1pbnRlcnZhbDpub3QoLmJyZWFrcG9pbnQtcGF1
c2VkLWljb24pIC5pY29uIHsKKyAgICBjb250ZW50OiB1cmwoLi4vSW1hZ2VzL0V2ZW50QnJlYWtw
b2ludEludGVydmFsLnN2Zyk7Cit9CisKIC5icmVha3BvaW50LmV2ZW50LmJyZWFrcG9pbnQtZm9y
LWxpc3RlbmVyOm5vdCguYnJlYWtwb2ludC1wYXVzZWQtaWNvbikgLmljb24gewogICAgIGNvbnRl
bnQ6IHVybCguLi9JbWFnZXMvRXZlbnRCcmVha3BvaW50TGlzdGVuZXIuc3ZnKTsKIH0KIAotLmJy
ZWFrcG9pbnQuZXZlbnQuYnJlYWtwb2ludC1mb3ItdGltZXI6bm90KC5icmVha3BvaW50LXBhdXNl
ZC1pY29uKSAuaWNvbiB7Ci0gICAgY29udGVudDogdXJsKC4uL0ltYWdlcy9FdmVudEJyZWFrcG9p
bnRUaW1lci5zdmcpOworLmJyZWFrcG9pbnQuZXZlbnQuYnJlYWtwb2ludC1mb3ItdGltZW91dDpu
b3QoLmJyZWFrcG9pbnQtcGF1c2VkLWljb24pIC5pY29uIHsKKyAgICBjb250ZW50OiB1cmwoLi4v
SW1hZ2VzL0V2ZW50QnJlYWtwb2ludFRpbWVvdXQuc3ZnKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZXNOYXZpZ2F0aW9uU2lk
ZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
U291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanMKaW5kZXggZTk1MGIzZjA1MTU0ZjExNzdk
NzIxZjZhNWM4MDViYjA2ZGU5OWFhOS4uNzJiMzZmYTVhZWRhN2RiMjQ1YzBjMTJlOWE5OTRlZjNj
NDQ5NTViZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFu
ZWwuanMKQEAgLTMxNiwxNyArMzE2LDI5IEBAIFdJLlNvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBh
bmVsID0gY2xhc3MgU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgZXh0ZW5kcyBXCiAgICAg
ICAgIHRoaXMuX2hhbmRsZVJlc291cmNlR3JvdXBpbmdNb2RlQ2hhbmdlZCgpOwogCiAgICAgICAg
IGlmIChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuc3VwcG9ydGVkKSB7Ci0gICAgICAgICAgICBpZiAo
V0kuc2V0dGluZ3Muc2hvd0FsbFJlcXVlc3RzQnJlYWtwb2ludC52YWx1ZSkKLSAgICAgICAgICAg
ICAgICBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWRkVVJMQnJlYWtwb2ludChXSS5kb21EZWJ1Z2dl
ck1hbmFnZXIuYWxsUmVxdWVzdHNCcmVha3BvaW50KTsKKyAgICAgICAgICAgIGlmIChXSS5zZXR0
aW5ncy5zaG93QWxsQW5pbWF0aW9uRnJhbWVzQnJlYWtwb2ludC52YWx1ZSkKKyAgICAgICAgICAg
ICAgICBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRCcmVha3BvaW50KFdJLmRvbURlYnVn
Z2VyTWFuYWdlci5hbGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50KTsKIAotICAgICAgICAgICAg
Zm9yIChsZXQgZXZlbnRCcmVha3BvaW50IG9mIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5ldmVudEJy
ZWFrcG9pbnRzKQorICAgICAgICAgICAgaWYgKFdJLnNldHRpbmdzLnNob3dBbGxUaW1lb3V0c0Jy
ZWFrcG9pbnQudmFsdWUpCisgICAgICAgICAgICAgICAgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFk
ZEV2ZW50QnJlYWtwb2ludChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsVGltZW91dHNCcmVha3Bv
aW50KTsKKworICAgICAgICAgICAgaWYgKFdJLnNldHRpbmdzLnNob3dBbGxJbnRlcnZhbHNCcmVh
a3BvaW50LnZhbHVlKQorICAgICAgICAgICAgICAgIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hZGRF
dmVudEJyZWFrcG9pbnQoV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEludGVydmFsc0JyZWFrcG9p
bnQpOworCisgICAgICAgICAgICBpZiAoV0kuc2V0dGluZ3Muc2hvd0FsbExpc3RlbmVyc0JyZWFr
cG9pbnQudmFsdWUpCisgICAgICAgICAgICAgICAgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFkZEV2
ZW50QnJlYWtwb2ludChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsTGlzdGVuZXJzQnJlYWtwb2lu
dCk7CisKKyAgICAgICAgICAgIGZvciAobGV0IGV2ZW50QnJlYWtwb2ludCBvZiBXSS5kb21EZWJ1
Z2dlck1hbmFnZXIubGlzdGVuZXJCcmVha3BvaW50cykKICAgICAgICAgICAgICAgICB0aGlzLl9h
ZGRCcmVha3BvaW50KGV2ZW50QnJlYWtwb2ludCk7CiAKKyAgICAgICAgICAgIGZvciAobGV0IGV2
ZW50TGlzdGVuZXJCcmVha3BvaW50IG9mIFdJLmRvbU1hbmFnZXIuZXZlbnRMaXN0ZW5lckJyZWFr
cG9pbnRzKQorICAgICAgICAgICAgICAgIHRoaXMuX2FkZEJyZWFrcG9pbnQoZXZlbnRMaXN0ZW5l
ckJyZWFrcG9pbnQpOworCiAgICAgICAgICAgICBmb3IgKGxldCBkb21CcmVha3BvaW50IG9mIFdJ
LmRvbURlYnVnZ2VyTWFuYWdlci5kb21CcmVha3BvaW50cykKICAgICAgICAgICAgICAgICB0aGlz
Ll9hZGRCcmVha3BvaW50KGRvbUJyZWFrcG9pbnQpOwogCi0gICAgICAgICAgICBmb3IgKGxldCBl
dmVudExpc3RlbmVyQnJlYWtwb2ludCBvZiBXSS5kb21NYW5hZ2VyLmV2ZW50TGlzdGVuZXJCcmVh
a3BvaW50cykKLSAgICAgICAgICAgICAgICB0aGlzLl9hZGRCcmVha3BvaW50KGV2ZW50TGlzdGVu
ZXJCcmVha3BvaW50KTsKKyAgICAgICAgICAgIGlmIChXSS5zZXR0aW5ncy5zaG93QWxsUmVxdWVz
dHNCcmVha3BvaW50LnZhbHVlKQorICAgICAgICAgICAgICAgIFdJLmRvbURlYnVnZ2VyTWFuYWdl
ci5hZGRVUkxCcmVha3BvaW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxSZXF1ZXN0c0JyZWFr
cG9pbnQpOwogCiAgICAgICAgICAgICBmb3IgKGxldCB1cmxCcmVha3BvaW50cyBvZiBXSS5kb21E
ZWJ1Z2dlck1hbmFnZXIudXJsQnJlYWtwb2ludHMpCiAgICAgICAgICAgICAgICAgdGhpcy5fYWRk
QnJlYWtwb2ludCh1cmxCcmVha3BvaW50cyk7CkBAIC04NTQsNiArODY2LDEwIEBAIFdJLlNvdXJj
ZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsID0gY2xhc3MgU291cmNlc05hdmlnYXRpb25TaWRlYmFy
UGFuZWwgZXh0ZW5kcyBXCiAgICAgICAgICAgICAgICAgKHRyZWVFbGVtZW50KSA9PiB0cmVlRWxl
bWVudC5yZXByZXNlbnRlZE9iamVjdCA9PT0gV0kuZGVidWdnZXJNYW5hZ2VyLnVuY2F1Z2h0RXhj
ZXB0aW9uc0JyZWFrcG9pbnQsCiAgICAgICAgICAgICAgICAgKHRyZWVFbGVtZW50KSA9PiB0cmVl
RWxlbWVudC5yZXByZXNlbnRlZE9iamVjdCA9PT0gV0kuZGVidWdnZXJNYW5hZ2VyLmFzc2VydGlv
bkZhaWx1cmVzQnJlYWtwb2ludCwKICAgICAgICAgICAgICAgICAodHJlZUVsZW1lbnQpID0+IHRy
ZWVFbGVtZW50IGluc3RhbmNlb2YgV0kuQnJlYWtwb2ludFRyZWVFbGVtZW50IHx8IHRyZWVFbGVt
ZW50IGluc3RhbmNlb2YgV0kuUmVzb3VyY2VUcmVlRWxlbWVudCB8fCB0cmVlRWxlbWVudCBpbnN0
YW5jZW9mIFdJLlNjcmlwdFRyZWVFbGVtZW50LAorICAgICAgICAgICAgICAgICh0cmVlRWxlbWVu
dCkgPT4gdHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QgPT09IFdJLmRvbURlYnVnZ2VyTWFu
YWdlci5hbGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50LAorICAgICAgICAgICAgICAgICh0cmVl
RWxlbWVudCkgPT4gdHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QgPT09IFdJLmRvbURlYnVn
Z2VyTWFuYWdlci5hbGxUaW1lb3V0c0JyZWFrcG9pbnQsCisgICAgICAgICAgICAgICAgKHRyZWVF
bGVtZW50KSA9PiB0cmVlRWxlbWVudC5yZXByZXNlbnRlZE9iamVjdCA9PT0gV0kuZG9tRGVidWdn
ZXJNYW5hZ2VyLmFsbEludGVydmFsc0JyZWFrcG9pbnQsCisgICAgICAgICAgICAgICAgKHRyZWVF
bGVtZW50KSA9PiB0cmVlRWxlbWVudC5yZXByZXNlbnRlZE9iamVjdCA9PT0gV0kuZG9tRGVidWdn
ZXJNYW5hZ2VyLmFsbExpc3RlbmVyc0JyZWFrcG9pbnQsCiAgICAgICAgICAgICAgICAgKHRyZWVF
bGVtZW50KSA9PiB0cmVlRWxlbWVudCBpbnN0YW5jZW9mIFdJLkV2ZW50QnJlYWtwb2ludFRyZWVF
bGVtZW50LAogICAgICAgICAgICAgICAgICh0cmVlRWxlbWVudCkgPT4gdHJlZUVsZW1lbnQgaW5z
dGFuY2VvZiBXSS5ET01Ob2RlVHJlZUVsZW1lbnQsCiAgICAgICAgICAgICAgICAgKHRyZWVFbGVt
ZW50KSA9PiB0cmVlRWxlbWVudC5yZXByZXNlbnRlZE9iamVjdCA9PT0gU291cmNlc05hdmlnYXRp
b25TaWRlYmFyUGFuZWwuX193aW5kb3dFdmVudFRhcmdldFJlcHJlc2VudGVkT2JqZWN0LApAQCAt
OTM1LDcgKzk1MSwxNSBAQCBXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbCA9IGNsYXNz
IFNvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsIGV4dGVuZHMgVwogICAgICAgICB9IGVsc2Ug
aWYgKGJyZWFrcG9pbnQgaW5zdGFuY2VvZiBXSS5FdmVudEJyZWFrcG9pbnQpIHsKICAgICAgICAg
ICAgIGNvbnN0cnVjdG9yID0gV0kuRXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQ7CiAKLSAgICAg
ICAgICAgIGlmIChicmVha3BvaW50LmV2ZW50TGlzdGVuZXIpIHsKKyAgICAgICAgICAgIGlmIChi
cmVha3BvaW50ID09PSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsQW5pbWF0aW9uRnJhbWVzQnJl
YWtwb2ludCkKKyAgICAgICAgICAgICAgICBvcHRpb25zLnRpdGxlID0gV0kuVUlTdHJpbmcoIkFs
bCBBbmltYXRpb24gRnJhbWVzIik7CisgICAgICAgICAgICBlbHNlIGlmIChicmVha3BvaW50ID09
PSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsSW50ZXJ2YWxzQnJlYWtwb2ludCkKKyAgICAgICAg
ICAgICAgICBvcHRpb25zLnRpdGxlID0gV0kuVUlTdHJpbmcoIkFsbCBJbnRlcnZhbHMiKTsKKyAg
ICAgICAgICAgIGVsc2UgaWYgKGJyZWFrcG9pbnQgPT09IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5h
bGxMaXN0ZW5lcnNCcmVha3BvaW50KQorICAgICAgICAgICAgICAgIG9wdGlvbnMudGl0bGUgPSBX
SS5VSVN0cmluZygiQWxsIEV2ZW50cyIpOworICAgICAgICAgICAgZWxzZSBpZiAoYnJlYWtwb2lu
dCA9PT0gV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbFRpbWVvdXRzQnJlYWtwb2ludCkKKyAgICAg
ICAgICAgICAgICBvcHRpb25zLnRpdGxlID0gV0kuVUlTdHJpbmcoIkFsbCBUaW1lb3V0cyIpOwor
ICAgICAgICAgICAgZWxzZSBpZiAoYnJlYWtwb2ludC5ldmVudExpc3RlbmVyKSB7CiAgICAgICAg
ICAgICAgICAgbGV0IGV2ZW50VGFyZ2V0VHJlZUVsZW1lbnQgPSBudWxsOwogICAgICAgICAgICAg
ICAgIGlmIChicmVha3BvaW50LmV2ZW50TGlzdGVuZXIub25XaW5kb3cpIHsKICAgICAgICAgICAg
ICAgICAgICAgaWYgKCFTb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbC5fX3dpbmRvd0V2ZW50
VGFyZ2V0UmVwcmVzZW50ZWRPYmplY3QpCkBAIC0xMTM1LDIwICsxMTU5LDExIEBAIFdJLlNvdXJj
ZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsID0gY2xhc3MgU291cmNlc05hdmlnYXRpb25TaWRlYmFy
UGFuZWwgZXh0ZW5kcyBXCiAKICAgICAgICAgc3dpdGNoIChwYXVzZVJlYXNvbikgewogICAgICAg
ICBjYXNlIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5BbmltYXRpb25GcmFtZTogewot
ICAgICAgICAgICAgY29uc29sZS5hc3NlcnQocGF1c2VEYXRhLCAiRXhwZWN0ZWQgZGF0YSB3aXRo
IGFuIGFuaW1hdGlvbiBmcmFtZSwgYnV0IGZvdW5kIG5vbmUuIik7Ci0gICAgICAgICAgICBpZiAo
IXBhdXNlRGF0YSkKLSAgICAgICAgICAgICAgICBicmVhazsKLQotICAgICAgICAgICAgbGV0IGV2
ZW50QnJlYWtwb2ludCA9IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5ldmVudEJyZWFrcG9pbnRGb3JU
eXBlQW5kRXZlbnROYW1lKFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkFuaW1hdGlvbkZyYW1lLCBw
YXVzZURhdGEuZXZlbnROYW1lKTsKLSAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGV2ZW50QnJl
YWtwb2ludCwgIkV4cGVjdGVkIEFuaW1hdGlvbkZyYW1lIGJyZWFrcG9pbnQgZm9yIGV2ZW50IG5h
bWUuIiwgcGF1c2VEYXRhLmV2ZW50TmFtZSk7Ci0gICAgICAgICAgICBpZiAoIWV2ZW50QnJlYWtw
b2ludCkKLSAgICAgICAgICAgICAgICBicmVhazsKLQogICAgICAgICAgICAgdGhpcy5fcGF1c2VS
ZWFzb25UcmVlT3V0bGluZSA9IHRoaXMuY3JlYXRlQ29udGVudFRyZWVPdXRsaW5lKHtzdXBwcmVz
c0ZpbHRlcmluZzogdHJ1ZX0pOwogCi0gICAgICAgICAgICBsZXQgZXZlbnRCcmVha3BvaW50VHJl
ZUVsZW1lbnQgPSBuZXcgV0kuRXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQoZXZlbnRCcmVha3Bv
aW50LCB7CisgICAgICAgICAgICBsZXQgZXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQgPSBuZXcg
V0kuRXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQoV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEFu
aW1hdGlvbkZyYW1lc0JyZWFrcG9pbnQsIHsKICAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICJi
cmVha3BvaW50LXBhdXNlZC1pY29uIiwKLSAgICAgICAgICAgICAgICB0aXRsZTogV0kuVUlTdHJp
bmcoIiVzIEZpcmVkIikuZm9ybWF0KHBhdXNlRGF0YS5ldmVudE5hbWUpLAorICAgICAgICAgICAg
ICAgIHRpdGxlOiBXSS5VSVN0cmluZygicmVxdWVzdEFuaW1hdGlvbkZyYW1lIEZpcmVkIiksCiAg
ICAgICAgICAgICB9KTsKICAgICAgICAgICAgIHRoaXMuX3BhdXNlUmVhc29uVHJlZU91dGxpbmUu
YXBwZW5kQ2hpbGQoZXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQpOwogCkBAIC0xMjY3LDYgKzEy
ODIsNyBAQCBXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbCA9IGNsYXNzIFNvdXJjZXNO
YXZpZ2F0aW9uU2lkZWJhclBhbmVsIGV4dGVuZHMgVwogICAgICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgICAgIH0KIAorICAgICAgICBjYXNlIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNv
bi5MaXN0ZW5lcjoKICAgICAgICAgY2FzZSBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24u
RXZlbnRMaXN0ZW5lcjogewogICAgICAgICAgICAgY29uc29sZS5hc3NlcnQocGF1c2VEYXRhLCAi
RXhwZWN0ZWQgZGF0YSB3aXRoIGFuIGV2ZW50IGxpc3RlbmVyLCBidXQgZm91bmQgbm9uZS4iKTsK
ICAgICAgICAgICAgIGlmICghcGF1c2VEYXRhKQpAQCAtMTI3Niw3ICsxMjkyLDcgQEAgV0kuU291
cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBjbGFzcyBTb3VyY2VzTmF2aWdhdGlvblNpZGVi
YXJQYW5lbCBleHRlbmRzIFcKICAgICAgICAgICAgIGlmIChwYXVzZURhdGEuZXZlbnRMaXN0ZW5l
cklkKQogICAgICAgICAgICAgICAgIGV2ZW50QnJlYWtwb2ludCA9IFdJLmRvbU1hbmFnZXIuYnJl
YWtwb2ludEZvckV2ZW50TGlzdGVuZXJJZChwYXVzZURhdGEuZXZlbnRMaXN0ZW5lcklkKTsKICAg
ICAgICAgICAgIGlmICghZXZlbnRCcmVha3BvaW50KQotICAgICAgICAgICAgICAgIGV2ZW50QnJl
YWtwb2ludCA9IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5ldmVudEJyZWFrcG9pbnRGb3JUeXBlQW5k
RXZlbnROYW1lKFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkxpc3RlbmVyLCBwYXVzZURhdGEuZXZl
bnROYW1lKTsKKyAgICAgICAgICAgICAgICBldmVudEJyZWFrcG9pbnQgPSBXSS5kb21EZWJ1Z2dl
ck1hbmFnZXIubGlzdGVuZXJCcmVha3BvaW50Rm9yRXZlbnROYW1lKHBhdXNlRGF0YS5ldmVudE5h
bWUpOwogCiAgICAgICAgICAgICBjb25zb2xlLmFzc2VydChldmVudEJyZWFrcG9pbnQsICJFeHBl
Y3RlZCBFdmVudCBMaXN0ZW5lciBicmVha3BvaW50IGZvciBldmVudCBuYW1lLiIsIHBhdXNlRGF0
YS5ldmVudE5hbWUpOwogICAgICAgICAgICAgaWYgKCFldmVudEJyZWFrcG9pbnQpCkBAIC0xMzI0
LDYgKzEzNDAsMjIgQEAgV0kuU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBjbGFzcyBT
b3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbCBleHRlbmRzIFcKICAgICAgICAgICAgIHJldHVy
biB0cnVlOwogICAgICAgICB9CiAKKyAgICAgICAgY2FzZSBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1
c2VSZWFzb24uSW50ZXJ2YWw6IHsKKyAgICAgICAgICAgIHRoaXMuX3BhdXNlUmVhc29uVHJlZU91
dGxpbmUgPSB0aGlzLmNyZWF0ZUNvbnRlbnRUcmVlT3V0bGluZSh7c3VwcHJlc3NGaWx0ZXJpbmc6
IHRydWV9KTsKKworICAgICAgICAgICAgbGV0IGV2ZW50QnJlYWtwb2ludFRyZWVFbGVtZW50ID0g
bmV3IFdJLkV2ZW50QnJlYWtwb2ludFRyZWVFbGVtZW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5h
bGxJbnRlcnZhbHNCcmVha3BvaW50LCB7CisgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiAiYnJl
YWtwb2ludC1wYXVzZWQtaWNvbiIsCisgICAgICAgICAgICAgICAgdGl0bGU6IFdJLlVJU3RyaW5n
KCJzZXRJbnRlcnZhbCBGaXJlZCIpLAorICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB0aGlz
Ll9wYXVzZVJlYXNvblRyZWVPdXRsaW5lLmFwcGVuZENoaWxkKGV2ZW50QnJlYWtwb2ludFRyZWVF
bGVtZW50KTsKKworICAgICAgICAgICAgbGV0IGV2ZW50QnJlYWtwb2ludFJvdyA9IG5ldyBXSS5E
ZXRhaWxzU2VjdGlvblJvdzsKKyAgICAgICAgICAgIGV2ZW50QnJlYWtwb2ludFJvdy5lbGVtZW50
LmFwcGVuZENoaWxkKHRoaXMuX3BhdXNlUmVhc29uVHJlZU91dGxpbmUuZWxlbWVudCk7CisKKyAg
ICAgICAgICAgIHRoaXMuX3BhdXNlUmVhc29uR3JvdXAucm93cyA9IFtldmVudEJyZWFrcG9pbnRS
b3ddOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKwogICAgICAgICBjYXNl
IFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5QYXVzZU9uTmV4dFN0YXRlbWVudDoKICAg
ICAgICAgICAgIHRoaXMuX3BhdXNlUmVhc29uVGV4dFJvdy50ZXh0ID0gV0kuVUlTdHJpbmcoIklt
bWVkaWF0ZSBQYXVzZSBSZXF1ZXN0ZWQiKTsKICAgICAgICAgICAgIHRoaXMuX3BhdXNlUmVhc29u
R3JvdXAucm93cyA9IFt0aGlzLl9wYXVzZVJlYXNvblRleHRSb3ddOwpAQCAtMTMzNCw3ICsxMzY2
LDE2IEBAIFdJLlNvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsID0gY2xhc3MgU291cmNlc05h
dmlnYXRpb25TaWRlYmFyUGFuZWwgZXh0ZW5kcyBXCiAgICAgICAgICAgICBpZiAoIXBhdXNlRGF0
YSkKICAgICAgICAgICAgICAgICBicmVhazsKIAotICAgICAgICAgICAgbGV0IGV2ZW50QnJlYWtw
b2ludCA9IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5ldmVudEJyZWFrcG9pbnRGb3JUeXBlQW5kRXZl
bnROYW1lKFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLlRpbWVyLCBwYXVzZURhdGEuZXZlbnROYW1l
KTsKKyAgICAgICAgICAgIGxldCBldmVudEJyZWFrcG9pbnQgPSBudWxsOworICAgICAgICAgICAg
c3dpdGNoIChwYXVzZURhdGEuZXZlbnROYW1lKSB7CisgICAgICAgICAgICBjYXNlICJzZXRUaW1l
b3V0IjoKKyAgICAgICAgICAgICAgICBldmVudEJyZWFrcG9pbnQgPSBXSS5kb21EZWJ1Z2dlck1h
bmFnZXIuYWxsVGltZW91dHNCcmVha3BvaW50OworICAgICAgICAgICAgICAgIGJyZWFrOworCisg
ICAgICAgICAgICBjYXNlICJzZXRJbnRlcnZhbCI6CisgICAgICAgICAgICAgICAgZXZlbnRCcmVh
a3BvaW50ID0gV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEludGVydmFsc0JyZWFrcG9pbnQ7Cisg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBjb25zb2xl
LmFzc2VydChldmVudEJyZWFrcG9pbnQsICJFeHBlY3RlZCBUaW1lciBicmVha3BvaW50IGZvciBl
dmVudCBuYW1lLiIsIHBhdXNlRGF0YS5ldmVudE5hbWUpOwogICAgICAgICAgICAgaWYgKCFldmVu
dEJyZWFrcG9pbnQpCiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0xMzU0LDYgKzEzOTUsMjIg
QEAgV0kuU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBjbGFzcyBTb3VyY2VzTmF2aWdh
dGlvblNpZGViYXJQYW5lbCBleHRlbmRzIFcKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAg
ICAgICB9CiAKKyAgICAgICAgY2FzZSBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uVGlt
ZW91dDogeworICAgICAgICAgICAgdGhpcy5fcGF1c2VSZWFzb25UcmVlT3V0bGluZSA9IHRoaXMu
Y3JlYXRlQ29udGVudFRyZWVPdXRsaW5lKHtzdXBwcmVzc0ZpbHRlcmluZzogdHJ1ZX0pOworCisg
ICAgICAgICAgICBsZXQgZXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQgPSBuZXcgV0kuRXZlbnRC
cmVha3BvaW50VHJlZUVsZW1lbnQoV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbFRpbWVvdXRzQnJl
YWtwb2ludCwgeworICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogImJyZWFrcG9pbnQtcGF1c2Vk
LWljb24iLAorICAgICAgICAgICAgICAgIHRpdGxlOiBXSS5VSVN0cmluZygic2V0VGltZW91dCBG
aXJlZCIpLAorICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB0aGlzLl9wYXVzZVJlYXNvblRy
ZWVPdXRsaW5lLmFwcGVuZENoaWxkKGV2ZW50QnJlYWtwb2ludFRyZWVFbGVtZW50KTsKKworICAg
ICAgICAgICAgbGV0IGV2ZW50QnJlYWtwb2ludFJvdyA9IG5ldyBXSS5EZXRhaWxzU2VjdGlvblJv
dzsKKyAgICAgICAgICAgIGV2ZW50QnJlYWtwb2ludFJvdy5lbGVtZW50LmFwcGVuZENoaWxkKHRo
aXMuX3BhdXNlUmVhc29uVHJlZU91dGxpbmUuZWxlbWVudCk7CisKKyAgICAgICAgICAgIHRoaXMu
X3BhdXNlUmVhc29uR3JvdXAucm93cyA9IFtldmVudEJyZWFrcG9pbnRSb3ddOworICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKwogICAgICAgICBjYXNlIFdJLkRlYnVnZ2VyTWFu
YWdlci5QYXVzZVJlYXNvbi5GZXRjaDoKICAgICAgICAgY2FzZSBXSS5EZWJ1Z2dlck1hbmFnZXIu
UGF1c2VSZWFzb24uWEhSOiB7CiAgICAgICAgICAgICBjb25zb2xlLmFzc2VydChXSS5kb21EZWJ1
Z2dlck1hbmFnZXIuc3VwcG9ydGVkKTsKQEAgLTE0OTIsMTAgKzE1NDksMzEgQEAgV0kuU291cmNl
c05hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBjbGFzcyBTb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQ
YW5lbCBleHRlbmRzIFcKICAgICAgICAgbGV0IHRyZWVFbGVtZW50ID0gZXZlbnQuZGF0YS5lbGVt
ZW50OwogCiAgICAgICAgIGxldCBzZXR0aW5nID0gbnVsbDsKLSAgICAgICAgaWYgKHRyZWVFbGVt
ZW50LmJyZWFrcG9pbnQgPT09IFdJLmRlYnVnZ2VyTWFuYWdlci5hc3NlcnRpb25GYWlsdXJlc0Jy
ZWFrcG9pbnQpCisgICAgICAgIHN3aXRjaCAodHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3Qp
IHsKKyAgICAgICAgY2FzZSBXSS5kZWJ1Z2dlck1hbmFnZXIuYXNzZXJ0aW9uRmFpbHVyZXNCcmVh
a3BvaW50OgogICAgICAgICAgICAgc2V0dGluZyA9IFdJLnNldHRpbmdzLnNob3dBc3NlcnRpb25G
YWlsdXJlc0JyZWFrcG9pbnQ7Ci0gICAgICAgIGVsc2UgaWYgKHRyZWVFbGVtZW50LnJlcHJlc2Vu
dGVkT2JqZWN0ID09PSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsUmVxdWVzdHNCcmVha3BvaW50
KQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBXSS5kb21EZWJ1Z2dlck1hbmFn
ZXIuYWxsQW5pbWF0aW9uRnJhbWVzQnJlYWtwb2ludDoKKyAgICAgICAgICAgIHNldHRpbmcgPSBX
SS5zZXR0aW5ncy5zaG93QWxsQW5pbWF0aW9uRnJhbWVzQnJlYWtwb2ludDsKKyAgICAgICAgICAg
IGJyZWFrOworCisgICAgICAgIGNhc2UgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEludGVydmFs
c0JyZWFrcG9pbnQ6CisgICAgICAgICAgICBzZXR0aW5nID0gV0kuc2V0dGluZ3Muc2hvd0FsbElu
dGVydmFsc0JyZWFrcG9pbnQ7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIFdJ
LmRvbURlYnVnZ2VyTWFuYWdlci5hbGxMaXN0ZW5lcnNCcmVha3BvaW50OgorICAgICAgICAgICAg
c2V0dGluZyA9IFdJLnNldHRpbmdzLnNob3dBbGxMaXN0ZW5lcnNCcmVha3BvaW50OworICAgICAg
ICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsUmVx
dWVzdHNCcmVha3BvaW50OgogICAgICAgICAgICAgc2V0dGluZyA9IFdJLnNldHRpbmdzLnNob3dB
bGxSZXF1ZXN0c0JyZWFrcG9pbnQ7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNl
IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxUaW1lb3V0c0JyZWFrcG9pbnQ6CisgICAgICAgICAg
ICBzZXR0aW5nID0gV0kuc2V0dGluZ3Muc2hvd0FsbFRpbWVvdXRzQnJlYWtwb2ludDsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICB9CiAKICAgICAgICAgaWYgKHNldHRpbmcpCiAgICAgICAg
ICAgICBzZXR0aW5nLnZhbHVlID0gISF0cmVlRWxlbWVudC5wYXJlbnQ7CkBAIC0xNTIyLDE4ICsx
NjAwLDQyIEBAIFdJLlNvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsID0gY2xhc3MgU291cmNl
c05hdmlnYXRpb25TaWRlYmFyUGFuZWwgZXh0ZW5kcyBXCiAgICAgICAgICAgICB9LCBhc3NlcnRp
b25GYWlsdXJlc0JyZWFrcG9pbnRTaG93bik7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoV0ku
ZG9tRGVidWdnZXJNYW5hZ2VyLnN1cHBvcnRlZCkgeworICAgICAgICBpZiAoV0kuRE9NRGVidWdn
ZXJNYW5hZ2VyLnN1cHBvcnRzRXZlbnRCcmVha3BvaW50cygpIHx8IFdJLkRPTURlYnVnZ2VyTWFu
YWdlci5zdXBwb3J0c0V2ZW50TGlzdGVuZXJCcmVha3BvaW50cygpKSB7CisgICAgICAgICAgICBm
dW5jdGlvbiBhZGRUb2dnbGVGb3JTcGVjaWFsRXZlbnRCcmVha3BvaW50KGJyZWFrcG9pbnQsIGxh
YmVsLCBjaGVja2VkKSB7CisgICAgICAgICAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kQ2hlY2ti
b3hJdGVtKGxhYmVsLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgICAgIGlmIChjaGVja2VkKQor
ICAgICAgICAgICAgICAgICAgICAgICAgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLnJlbW92ZUV2ZW50
QnJlYWtwb2ludChicmVha3BvaW50KTsKKyAgICAgICAgICAgICAgICAgICAgZWxzZSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICBicmVha3BvaW50LmRpc2FibGVkID0gZmFsc2U7CisgICAgICAg
ICAgICAgICAgICAgICAgICBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRCcmVha3BvaW50
KGJyZWFrcG9pbnQpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSwg
Y2hlY2tlZCk7CisgICAgICAgICAgICB9CisKICAgICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVu
ZFNlcGFyYXRvcigpOwogCisgICAgICAgICAgICBhZGRUb2dnbGVGb3JTcGVjaWFsRXZlbnRCcmVh
a3BvaW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50
LCBXSS5VSVN0cmluZygiQWxsIEFuaW1hdGlvbiBGcmFtZXMiKSwgV0kuc2V0dGluZ3Muc2hvd0Fs
bEFuaW1hdGlvbkZyYW1lc0JyZWFrcG9pbnQudmFsdWUpOworCisgICAgICAgICAgICBjb250ZXh0
TWVudS5hcHBlbmRTZXBhcmF0b3IoKTsKKworICAgICAgICAgICAgYWRkVG9nZ2xlRm9yU3BlY2lh
bEV2ZW50QnJlYWtwb2ludChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsVGltZW91dHNCcmVha3Bv
aW50LCBXSS5VSVN0cmluZygiQWxsIFRpbWVvdXRzIiksIFdJLnNldHRpbmdzLnNob3dBbGxUaW1l
b3V0c0JyZWFrcG9pbnQudmFsdWUpOworICAgICAgICAgICAgYWRkVG9nZ2xlRm9yU3BlY2lhbEV2
ZW50QnJlYWtwb2ludChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsSW50ZXJ2YWxzQnJlYWtwb2lu
dCwgV0kuVUlTdHJpbmcoIkFsbCBJbnRlcnZhbHMiKSwgV0kuc2V0dGluZ3Muc2hvd0FsbEludGVy
dmFsc0JyZWFrcG9pbnQudmFsdWUpOworCisgICAgICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRT
ZXBhcmF0b3IoKTsKKworICAgICAgICAgICAgaWYgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5zdXBw
b3J0c0FsbExpc3RlbmVyc0JyZWFrcG9pbnQoKSkKKyAgICAgICAgICAgICAgICBhZGRUb2dnbGVG
b3JTcGVjaWFsRXZlbnRCcmVha3BvaW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxMaXN0ZW5l
cnNCcmVha3BvaW50LCBXSS5VSVN0cmluZygiQWxsIEV2ZW50cyIpLCBXSS5zZXR0aW5ncy5zaG93
QWxsTGlzdGVuZXJzQnJlYWtwb2ludC52YWx1ZSk7CisKICAgICAgICAgICAgIGNvbnRleHRNZW51
LmFwcGVuZEl0ZW0oV0kuVUlTdHJpbmcoIkV2ZW50IEJyZWFrcG9pbnRcdTIwMjYiKSwgKCkgPT4g
ewogICAgICAgICAgICAgICAgIGxldCBwb3BvdmVyID0gbmV3IFdJLkV2ZW50QnJlYWtwb2ludFBv
cG92ZXIodGhpcyk7CiAgICAgICAgICAgICAgICAgcG9wb3Zlci5zaG93KHRoaXMuX2NyZWF0ZUJy
ZWFrcG9pbnRCdXR0b24uZWxlbWVudCwgW1dJLlJlY3RFZGdlLk1BWF9ZLCBXSS5SZWN0RWRnZS5N
SU5fWSwgV0kuUmVjdEVkZ2UuTUFYX1hdKTsKICAgICAgICAgICAgIH0pOwogCiAgICAgICAgICAg
ICBjb250ZXh0TWVudS5hcHBlbmRTZXBhcmF0b3IoKTsKKyAgICAgICAgfQogCisgICAgICAgIGlm
IChXSS5ET01EZWJ1Z2dlck1hbmFnZXIuc3VwcG9ydHNVUkxCcmVha3BvaW50cygpIHx8IFdJLkRP
TURlYnVnZ2VyTWFuYWdlci5zdXBwb3J0c1hIUkJyZWFrcG9pbnRzKCkpIHsKICAgICAgICAgICAg
IGxldCBhbGxSZXF1ZXN0c0JyZWFrcG9pbnRTaG93biA9IFdJLnNldHRpbmdzLnNob3dBbGxSZXF1
ZXN0c0JyZWFrcG9pbnQudmFsdWU7Ci0KICAgICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZENo
ZWNrYm94SXRlbShXSS5yZXBlYXRlZFVJU3RyaW5nLmFsbFJlcXVlc3RzKCksICgpID0+IHsKICAg
ICAgICAgICAgICAgICBpZiAoYWxsUmVxdWVzdHNCcmVha3BvaW50U2hvd24pCiAgICAgICAgICAg
ICAgICAgICAgIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5yZW1vdmVVUkxCcmVha3BvaW50KFdJLmRv
bURlYnVnZ2VyTWFuYWdlci5hbGxSZXF1ZXN0c0JyZWFrcG9pbnQpOwpAQCAtMTU0Myw3ICsxNjQ1
LDcgQEAgV0kuU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBjbGFzcyBTb3VyY2VzTmF2
aWdhdGlvblNpZGViYXJQYW5lbCBleHRlbmRzIFcKICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICB9LCBhbGxSZXF1ZXN0c0JyZWFrcG9pbnRTaG93bik7CiAKLSAgICAgICAgICAgIGNvbnRl
eHRNZW51LmFwcGVuZEl0ZW0oV0kuVUlTdHJpbmcoIlVSTCBCcmVha3BvaW50XHUyMDI2IiksICgp
ID0+IHsKKyAgICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV0kuRE9NRGVidWdnZXJN
YW5hZ2VyLnN1cHBvcnRzVVJMQnJlYWtwb2ludHMoKSA/IFdJLlVJU3RyaW5nKCJVUkwgQnJlYWtw
b2ludFx1MjAyNiIpIDogV0kuVUlTdHJpbmcoIlhIUiBCcmVha3BvaW50XHUyMDI2IiksICgpID0+
IHsKICAgICAgICAgICAgICAgICBsZXQgcG9wb3ZlciA9IG5ldyBXSS5VUkxCcmVha3BvaW50UG9w
b3Zlcih0aGlzKTsKICAgICAgICAgICAgICAgICBwb3BvdmVyLnNob3codGhpcy5fY3JlYXRlQnJl
YWtwb2ludEJ1dHRvbi5lbGVtZW50LCBbV0kuUmVjdEVkZ2UuTUFYX1ksIFdJLlJlY3RFZGdlLk1J
Tl9ZLCBXSS5SZWN0RWRnZS5NQVhfWF0pOwogICAgICAgICAgICAgfSk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2U5Mzkz
M2QyM2I1ZjAyZDlhZTkyNmY4MWI5NDc2MGEzYzE4N2M4Ny4uMmJhN2MwMGQ0Y2RkNzFkNzVjZDUz
NWJkNWQxZjRkODFkZjc1NzRlOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE5LTA3LTMxICBE
ZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBET006IGFkZCBhIHNwZWNpYWwgYnJlYWtwb2ludCBmb3IgIkFsbCBFdmVudHMiCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDAyODUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9kb20v
YnJlYWtwb2ludC1mb3ItZXZlbnQtbGlzdGVuZXIuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZG9tL2JyZWFrcG9pbnQtZm9yLWV2ZW50LWxpc3RlbmVyLWV4cGVjdGVkLnR4dDoKKworICAgICAg
ICAqIGluc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtYW5pbWF0aW9uLWZyYW1lLWJyZWFrcG9p
bnRzLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC1hbmltYXRp
b24tZnJhbWUtYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci9k
b20tZGVidWdnZXIvZXZlbnQtYnJlYWtwb2ludC13aXRoLW5hdmlnYXRpb24uaHRtbDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWJyZWFrcG9pbnQtd2l0aC1uYXZpZ2F0
aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50
LWludGVydmFsLWJyZWFrcG9pbnRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9k
b20tZGVidWdnZXIvZXZlbnQtaW50ZXJ2YWwtYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWxpc3RlbmVyLWJyZWFr
cG9pbnRzLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC1saXN0
ZW5lci1icmVha3BvaW50cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2RvbS1k
ZWJ1Z2dlci9ldmVudC10aW1lb3V0LWJyZWFrcG9pbnRzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGluc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtdGltZW91dC1icmVha3BvaW50cy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorCisgICAgICAgICogaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9yZXNvdXJj
ZXMvZXZlbnQtYnJlYWtwb2ludC11dGlsaXRpZXMuanM6CisgICAgICAgIChUZXN0UGFnZS5yZWdp
c3RlckluaXRpYWxpemVyLkluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LnRlYXJkb3duKToK
KyAgICAgICAgKFRlc3RQYWdlLnJlZ2lzdGVySW5pdGlhbGl6ZXIuSW5zcGVjdG9yVGVzdC5FdmVu
dEJyZWFrcG9pbnQuZmFpbE9uUGF1c2UpOgorICAgICAgICAoVGVzdFBhZ2UucmVnaXN0ZXJJbml0
aWFsaXplci5JbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5jcmVhdGVCcmVha3BvaW50KTog
QWRkZWQuCisgICAgICAgIChUZXN0UGFnZS5yZWdpc3RlckluaXRpYWxpemVyLkluc3BlY3RvclRl
c3QuRXZlbnRCcmVha3BvaW50LmFkZEJyZWFrcG9pbnQpOgorICAgICAgICAoVGVzdFBhZ2UucmVn
aXN0ZXJJbml0aWFsaXplci5JbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5yZW1vdmVCcmVh
a3BvaW50KToKKyAgICAgICAgKFRlc3RQYWdlLnJlZ2lzdGVySW5pdGlhbGl6ZXIuSW5zcGVjdG9y
VGVzdC5FdmVudEJyZWFrcG9pbnQuZGlzYWJsZUJyZWFrcG9pbnQpOgorCisgICAgICAgICogaW5z
cGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC10aW1lci1icmVha3BvaW50cy5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGluc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtdGltZXItYnJlYWtwb2lu
dHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorCiAyMDE5LTA3LTI5ICBTZXJnZWkgR2xhenVub3Yg
IDxnbGF6dW5vdkBnb29nbGUuY29tPgogCiAgICAgICAgIFRoZSBtYXhpbXVtIHN1YmZyYW1lIGNv
dW50IGNoZWNrIHNob3VsZCBub3QgYmUgc2tpcHBlZCBmb3IgZW1wdHkgVVJMcy4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtYW5pbWF0aW9uLWZy
YW1lLWJyZWFrcG9pbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20t
ZGVidWdnZXIvZXZlbnQtYW5pbWF0aW9uLWZyYW1lLWJyZWFrcG9pbnRzLWV4cGVjdGVkLnR4dApp
bmRleCA5YzcyNzAxMjc2MmY2YzY4YzljN2VlNzZjODA4MGQ1ZTY2N2E2ZjUwLi45MGIyNmE3N2Jk
NTU2Njk1ZjFiMDFmZjE3MjlkNjVhNWRmMjhjNzFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWFuaW1hdGlvbi1mcmFtZS1icmVha3BvaW50cy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVu
dC1hbmltYXRpb24tZnJhbWUtYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0CkBAIC0yLDggKzIsOCBA
QCBUZXN0cyBmb3IgRXZlbnQgQW5pbWF0aW9uRnJhbWUgYnJlYWtwb2ludHMuCiAKIAogPT0gUnVu
bmluZyB0ZXN0IHN1aXRlOiBET01EZWJ1Z2dlci5FdmVudC5BbmltYXRpb25GcmFtZQotLS0gUnVu
bmluZyB0ZXN0IGNhc2U6IERPTURlYnVnZ2VyLkV2ZW50LkFuaW1hdGlvbkZyYW1lLkFkZEJyZWFr
cG9pbnQgInJlcXVlc3RBbmltYXRpb25GcmFtZSIKLUFkZGluZyAicmVxdWVzdEFuaW1hdGlvbkZy
YW1lIiBFdmVudCBCcmVha3BvaW50Li4uCistLSBSdW5uaW5nIHRlc3QgY2FzZTogRE9NRGVidWdn
ZXIuRXZlbnQuQW5pbWF0aW9uRnJhbWUuQWRkQnJlYWtwb2ludAorQWRkaW5nICJhbmltYXRpb24t
ZnJhbWUiIEV2ZW50IEJyZWFrcG9pbnQuLi4KIEZpcmluZyAicmVxdWVzdEFuaW1hdGlvbkZyYW1l
IiBvbiB3aW5kb3cuLi4KIFBBU1M6IFNob3VsZCBwYXVzZSBiZWZvcmUgZXZlbnQgaGFuZGxlciBp
cyBydW4uCiBDQUxMIFNUQUNLOgpAQCAtMTQsMjQgKzE0LDI0IEBAIEFTWU5DIENBTEwgU1RBQ0s6
CiAzOiBbUF0gR2xvYmFsIENvZGUKIC0tIFJ1bm5pbmcgdGVzdCB0ZWFyZG93bi4KIAotLS0gUnVu
bmluZyB0ZXN0IGNhc2U6IERPTURlYnVnZ2VyLkV2ZW50LkFuaW1hdGlvbkZyYW1lLkFkZERpc2Fi
bGVkQnJlYWtwb2ludCAicmVxdWVzdEFuaW1hdGlvbkZyYW1lIgotQWRkaW5nICJyZXF1ZXN0QW5p
bWF0aW9uRnJhbWUiIEV2ZW50IEJyZWFrcG9pbnQuLi4KLURpc2FibGluZyAicmVxdWVzdEFuaW1h
dGlvbkZyYW1lIiBFdmVudCBCcmVha3BvaW50Li4uCistLSBSdW5uaW5nIHRlc3QgY2FzZTogRE9N
RGVidWdnZXIuRXZlbnQuQW5pbWF0aW9uRnJhbWUuQWRkRGlzYWJsZWRCcmVha3BvaW50CitBZGRp
bmcgImFuaW1hdGlvbi1mcmFtZSIgRXZlbnQgQnJlYWtwb2ludC4uLgorRGlzYWJsaW5nICJhbmlt
YXRpb24tZnJhbWUiIEV2ZW50IEJyZWFrcG9pbnQuLi4KIEZpcmluZyAicmVxdWVzdEFuaW1hdGlv
bkZyYW1lIiBvbiB3aW5kb3cuLi4KIFBBU1M6IFNob3VsZCBub3QgcGF1c2UgZm9yIGRpc2FibGVk
IGJyZWFrcG9pbnQuCiAtLSBSdW5uaW5nIHRlc3QgdGVhcmRvd24uCiAKLS0tIFJ1bm5pbmcgdGVz
dCBjYXNlOiBET01EZWJ1Z2dlci5FdmVudC5BbmltYXRpb25GcmFtZS5SZW1vdmVCcmVha3BvaW50
ICJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiCi1BZGRpbmcgInJlcXVlc3RBbmltYXRpb25GcmFtZSIg
RXZlbnQgQnJlYWtwb2ludC4uLgotUmVtb3ZpbmcgInJlcXVlc3RBbmltYXRpb25GcmFtZSIgRXZl
bnQgQnJlYWtwb2ludC4uLgorLS0gUnVubmluZyB0ZXN0IGNhc2U6IERPTURlYnVnZ2VyLkV2ZW50
LkFuaW1hdGlvbkZyYW1lLlJlbW92ZUJyZWFrcG9pbnQKK0FkZGluZyAiYW5pbWF0aW9uLWZyYW1l
IiBFdmVudCBCcmVha3BvaW50Li4uCitSZW1vdmluZyAiYW5pbWF0aW9uLWZyYW1lIiBFdmVudCBC
cmVha3BvaW50Li4uCiBGaXJpbmcgInJlcXVlc3RBbmltYXRpb25GcmFtZSIgb24gd2luZG93Li4u
CiBQQVNTOiBTaG91bGQgbm90IHBhdXNlIGZvciByZW1vdmVkIGJyZWFrcG9pbnQuCiAtLSBSdW5u
aW5nIHRlc3QgdGVhcmRvd24uCiAKLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01EZWJ1Z2dlci5F
dmVudC5BbmltYXRpb25GcmFtZS5SZW1vdmVEaXNhYmxlZEJyZWFrcG9pbnQgInJlcXVlc3RBbmlt
YXRpb25GcmFtZSIKLUFkZGluZyAicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiBFdmVudCBCcmVha3Bv
aW50Li4uCi1EaXNhYmxpbmcgInJlcXVlc3RBbmltYXRpb25GcmFtZSIgRXZlbnQgQnJlYWtwb2lu
dC4uLgotUmVtb3ZpbmcgInJlcXVlc3RBbmltYXRpb25GcmFtZSIgRXZlbnQgQnJlYWtwb2ludC4u
LgorLS0gUnVubmluZyB0ZXN0IGNhc2U6IERPTURlYnVnZ2VyLkV2ZW50LkFuaW1hdGlvbkZyYW1l
LlJlbW92ZURpc2FibGVkQnJlYWtwb2ludAorQWRkaW5nICJhbmltYXRpb24tZnJhbWUiIEV2ZW50
IEJyZWFrcG9pbnQuLi4KK0Rpc2FibGluZyAiYW5pbWF0aW9uLWZyYW1lIiBFdmVudCBCcmVha3Bv
aW50Li4uCitSZW1vdmluZyAiYW5pbWF0aW9uLWZyYW1lIiBFdmVudCBCcmVha3BvaW50Li4uCiBG
aXJpbmcgInJlcXVlc3RBbmltYXRpb25GcmFtZSIgb24gd2luZG93Li4uCiBQQVNTOiBTaG91bGQg
bm90IHBhdXNlIGZvciByZW1vdmVkIGRpc2FibGVkIGJyZWFrcG9pbnQuCiAtLSBSdW5uaW5nIHRl
c3QgdGVhcmRvd24uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLWRlYnVn
Z2VyL2V2ZW50LWFuaW1hdGlvbi1mcmFtZS1icmVha3BvaW50cy5odG1sIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC1hbmltYXRpb24tZnJhbWUtYnJlYWtwb2ludHMu
aHRtbAppbmRleCAxOWYzZjFiNGJkMDViYTE5NTcxZjhmYjEzNjNiZDg1ZTM3MWFiMmMzLi5mMGJh
NDdiNDYyNTI1ZTI5ZWVlMDZkN2YxMmZhNTI3OTNjYTM0MDcxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWFuaW1hdGlvbi1mcmFtZS1icmVha3Bv
aW50cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQt
YW5pbWF0aW9uLWZyYW1lLWJyZWFrcG9pbnRzLmh0bWwKQEAgLTE1LDg3ICsxNSw4NSBAQCBmdW5j
dGlvbiB0cmlnZ2VyX3JlcXVlc3RBbmltYXRpb25GcmFtZSgpIHsKIH0KIAogZnVuY3Rpb24gdGVz
dCgpIHsKKyAgICBjb25zdCBldmVudE5hbWUgPSAicmVxdWVzdEFuaW1hdGlvbkZyYW1lIjsKKwog
ICAgIGxldCBzdWl0ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiRE9NRGVidWdn
ZXIuRXZlbnQuQW5pbWF0aW9uRnJhbWUiKTsKIAotICAgIGZ1bmN0aW9uIGFkZFRlc3RDYXNlc0Zv
ckV2ZW50TmFtZShldmVudE5hbWUpIHsKLSAgICAgICAgc3VpdGUuYWRkVGVzdENhc2UoewotICAg
ICAgICAgICAgbmFtZTogYERPTURlYnVnZ2VyLkV2ZW50LkFuaW1hdGlvbkZyYW1lLkFkZEJyZWFr
cG9pbnQgIiR7ZXZlbnROYW1lfSJgLAotICAgICAgICAgICAgZGVzY3JpcHRpb246ICJDaGVjayB0
aGF0IHRoZSBkZWJ1Z2dlciBwYXVzZXMgZm9yIGVuYWJsZWQgYnJlYWtwb2ludHMuIiwKLSAgICAg
ICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICAgICAgbGV0IHBhdXNl
ZCA9IGZhbHNlOworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogYERPTURl
YnVnZ2VyLkV2ZW50LkFuaW1hdGlvbkZyYW1lLkFkZEJyZWFrcG9pbnRgLAorICAgICAgICBkZXNj
cmlwdGlvbjogIkNoZWNrIHRoYXQgdGhlIGRlYnVnZ2VyIHBhdXNlcyBmb3IgZW5hYmxlZCBicmVh
a3BvaW50cy4iLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICAgICAg
bGV0IHBhdXNlZCA9IGZhbHNlOwogCi0gICAgICAgICAgICAgICAgbGV0IGxpc3RlbmVyID0gV0ku
ZGVidWdnZXJNYW5hZ2VyLnNpbmdsZUZpcmVFdmVudExpc3RlbmVyKFdJLkRlYnVnZ2VyTWFuYWdl
ci5FdmVudC5QYXVzZWQsIChldmVudCkgPT4gewotICAgICAgICAgICAgICAgICAgICBwYXVzZWQg
PSB0cnVlOworICAgICAgICAgICAgbGV0IGxpc3RlbmVyID0gV0kuZGVidWdnZXJNYW5hZ2VyLnNp
bmdsZUZpcmVFdmVudExpc3RlbmVyKFdJLkRlYnVnZ2VyTWFuYWdlci5FdmVudC5QYXVzZWQsIChl
dmVudCkgPT4geworICAgICAgICAgICAgICAgIHBhdXNlZCA9IHRydWU7CiAKLSAgICAgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5wYXNzKCJTaG91bGQgcGF1c2UgYmVmb3JlIGV2ZW50IGhh
bmRsZXIgaXMgcnVuLiIpOwotICAgICAgICAgICAgICAgICAgICBsb2dBY3RpdmVTdGFja1RyYWNl
KCk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5wYXNzKCJTaG91bGQgcGF1c2UgYmVm
b3JlIGV2ZW50IGhhbmRsZXIgaXMgcnVuLiIpOworICAgICAgICAgICAgICAgIGxvZ0FjdGl2ZVN0
YWNrVHJhY2UoKTsKIAotICAgICAgICAgICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIucmVz
dW1lKCkKLSAgICAgICAgICAgICAgICAgICAgLmNhdGNoKHJlamVjdCk7Ci0gICAgICAgICAgICAg
ICAgfSk7Ci0KLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNpbmdsZUZpcmVFdmVudExp
c3RlbmVyKGBUZXN0UGFnZS0ke2V2ZW50TmFtZX1gLCAoZXZlbnQpID0+IHsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKCFwYXVzZWQpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIFdJLmRlYnVn
Z2VyTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkRlYnVnZ2VyTWFuYWdlci5FdmVudC5Q
YXVzZWQsIGxpc3RlbmVyKTsKLQotICAgICAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5mYWlsKCJTaG91bGQgcGF1c2UgYmVmb3JlIGV2ZW50IGhhbmRsZXIgaXMgcnVuLiIpOwotICAg
ICAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAg
ICAgICAgICAgICAgIH0pOwotCi0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJy
ZWFrcG9pbnQuYWRkQnJlYWtwb2ludChXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5BbmltYXRpb25G
cmFtZSwgZXZlbnROYW1lKQotICAgICAgICAgICAgICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZl
bnRCcmVha3BvaW50LmF3YWl0RXZlbnQoIndpbmRvdyIsIGV2ZW50TmFtZSkpCisgICAgICAgICAg
ICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLnJlc3VtZSgpCiAgICAgICAgICAgICAgICAgLmNhdGNo
KHJlamVjdCk7Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgdGVhcmRvd246IEluc3BlY3Rv
clRlc3QuRXZlbnRCcmVha3BvaW50LnRlYXJkb3duLAotICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0pOwogCi0gICAgICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKLSAgICAgICAgICAgIG5hbWU6IGBE
T01EZWJ1Z2dlci5FdmVudC5BbmltYXRpb25GcmFtZS5BZGREaXNhYmxlZEJyZWFrcG9pbnQgIiR7
ZXZlbnROYW1lfSJgLAotICAgICAgICAgICAgZGVzY3JpcHRpb246ICJDaGVjayB0aGF0IGRlYnVn
Z2VyIGRvZXMgbm90IHBhdXNlIGZvciBkaXNhYmxlZCBicmVha3BvaW50cy4iLAotICAgICAgICAg
ICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LkV2ZW50QnJlYWtwb2ludC5mYWlsT25QYXVzZShyZXNvbHZlLCByZWplY3QsIFdJLkRlYnVnZ2Vy
TWFuYWdlci5QYXVzZVJlYXNvbi5BbmltYXRpb25GcmFtZSwgZXZlbnROYW1lLCAiU2hvdWxkIG5v
dCBwYXVzZSBmb3IgZGlzYWJsZWQgYnJlYWtwb2ludC4iKTsKKyAgICAgICAgICAgIEluc3BlY3Rv
clRlc3Quc2luZ2xlRmlyZUV2ZW50TGlzdGVuZXIoYFRlc3RQYWdlLSR7ZXZlbnROYW1lfWAsIChl
dmVudCkgPT4geworICAgICAgICAgICAgICAgIGlmICghcGF1c2VkKSB7CisgICAgICAgICAgICAg
ICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkRlYnVnZ2Vy
TWFuYWdlci5FdmVudC5QYXVzZWQsIGxpc3RlbmVyKTsKIAotICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmFkZEJyZWFrcG9pbnQoV0kuRXZlbnRCcmVha3BvaW50
LlR5cGUuQW5pbWF0aW9uRnJhbWUsIGV2ZW50TmFtZSkKLSAgICAgICAgICAgICAgICAudGhlbihJ
bnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5kaXNhYmxlQnJlYWtwb2ludCkKLSAgICAgICAg
ICAgICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hd2FpdEV2ZW50KCJ3
aW5kb3ciLCBldmVudE5hbWUpKQotICAgICAgICAgICAgICAgIC5jYXRjaChyZWplY3QpOwotICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgIHRlYXJkb3duOiBJbnNwZWN0b3JUZXN0LkV2ZW50QnJl
YWtwb2ludC50ZWFyZG93biwKLSAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuZmFpbCgiU2hvdWxkIHBhdXNlIGJlZm9yZSBldmVudCBoYW5kbGVyIGlzIHJ1bi4i
KTsKKyAgICAgICAgICAgICAgICB9CiAKLSAgICAgICAgc3VpdGUuYWRkVGVzdENhc2UoewotICAg
ICAgICAgICAgbmFtZTogYERPTURlYnVnZ2VyLkV2ZW50LkFuaW1hdGlvbkZyYW1lLlJlbW92ZUJy
ZWFrcG9pbnQgIiR7ZXZlbnROYW1lfSJgLAotICAgICAgICAgICAgZGVzY3JpcHRpb246ICJDaGVj
ayB0aGF0IGRlYnVnZ2VyIGRvZXMgbm90IHBhdXNlIGZvciByZW1vdmVkIGJyZWFrcG9pbnQuIiwK
LSAgICAgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuZmFpbE9uUGF1c2UocmVzb2x2ZSwgcmVqZWN0LCBX
SS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uQW5pbWF0aW9uRnJhbWUsIGV2ZW50TmFtZSwg
IlNob3VsZCBub3QgcGF1c2UgZm9yIHJlbW92ZWQgYnJlYWtwb2ludC4iKTsKKyAgICAgICAgICAg
ICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICB9KTsKIAotICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmFkZEJyZWFrcG9pbnQoV0kuRXZlbnRCcmVha3BvaW50
LlR5cGUuQW5pbWF0aW9uRnJhbWUsIGV2ZW50TmFtZSkKLSAgICAgICAgICAgICAgICAudGhlbihJ
bnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5yZW1vdmVCcmVha3BvaW50KQotICAgICAgICAg
ICAgICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmF3YWl0RXZlbnQoIndp
bmRvdyIsIGV2ZW50TmFtZSkpCi0gICAgICAgICAgICAgICAgLmNhdGNoKHJlamVjdCk7Ci0gICAg
ICAgICAgICB9LAotICAgICAgICAgICAgdGVhcmRvd246IEluc3BlY3RvclRlc3QuRXZlbnRCcmVh
a3BvaW50LnRlYXJkb3duLAotICAgICAgICB9KTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
RXZlbnRCcmVha3BvaW50LmFkZEJyZWFrcG9pbnQoV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEFu
aW1hdGlvbkZyYW1lc0JyZWFrcG9pbnQpCisgICAgICAgICAgICAudGhlbihJbnNwZWN0b3JUZXN0
LkV2ZW50QnJlYWtwb2ludC5hd2FpdEV2ZW50KCJ3aW5kb3ciLCBldmVudE5hbWUpKQorICAgICAg
ICAgICAgLmNhdGNoKHJlamVjdCk7CisgICAgICAgIH0sCisgICAgICAgIHRlYXJkb3duOiBJbnNw
ZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC50ZWFyZG93biwKKyAgICB9KTsKIAotICAgICAgICBz
dWl0ZS5hZGRUZXN0Q2FzZSh7Ci0gICAgICAgICAgICBuYW1lOiBgRE9NRGVidWdnZXIuRXZlbnQu
QW5pbWF0aW9uRnJhbWUuUmVtb3ZlRGlzYWJsZWRCcmVha3BvaW50ICIke2V2ZW50TmFtZX0iYCwK
LSAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAiQ2hlY2sgdGhhdCBhIGRpc2FibGVkIGJyZWFrcG9p
bnQgY2FuIGJlIHJlbW92ZWQuIiwKLSAgICAgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7
Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuZmFpbE9uUGF1
c2UocmVzb2x2ZSwgcmVqZWN0LCBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uQW5pbWF0
aW9uRnJhbWUsIGV2ZW50TmFtZSwgIlNob3VsZCBub3QgcGF1c2UgZm9yIHJlbW92ZWQgZGlzYWJs
ZWQgYnJlYWtwb2ludC4iKTsKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6
IGBET01EZWJ1Z2dlci5FdmVudC5BbmltYXRpb25GcmFtZS5BZGREaXNhYmxlZEJyZWFrcG9pbnRg
LAorICAgICAgICBkZXNjcmlwdGlvbjogIkNoZWNrIHRoYXQgZGVidWdnZXIgZG9lcyBub3QgcGF1
c2UgZm9yIGRpc2FibGVkIGJyZWFrcG9pbnRzLiIsCisgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVq
ZWN0KSB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5mYWlsT25Q
YXVzZShyZXNvbHZlLCByZWplY3QsIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5Bbmlt
YXRpb25GcmFtZSwgZXZlbnROYW1lLCAiU2hvdWxkIG5vdCBwYXVzZSBmb3IgZGlzYWJsZWQgYnJl
YWtwb2ludC4iKTsKIAotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3Bv
aW50LmFkZEJyZWFrcG9pbnQoV0kuRXZlbnRCcmVha3BvaW50LlR5cGUuQW5pbWF0aW9uRnJhbWUs
IGV2ZW50TmFtZSkKLSAgICAgICAgICAgICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2ZW50QnJl
YWtwb2ludC5kaXNhYmxlQnJlYWtwb2ludCkKLSAgICAgICAgICAgICAgICAudGhlbihJbnNwZWN0
b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5yZW1vdmVCcmVha3BvaW50KQotICAgICAgICAgICAgICAg
IC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmF3YWl0RXZlbnQoIndpbmRvdyIs
IGV2ZW50TmFtZSkpCi0gICAgICAgICAgICAgICAgLmNhdGNoKHJlamVjdCk7Ci0gICAgICAgICAg
ICB9LAotICAgICAgICAgICAgdGVhcmRvd246IEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50
LnRlYXJkb3duLAotICAgICAgICB9KTsKLSAgICB9CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LkV2ZW50QnJlYWtwb2ludC5hZGRCcmVha3BvaW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxB
bmltYXRpb25GcmFtZXNCcmVha3BvaW50KQorICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVz
dC5FdmVudEJyZWFrcG9pbnQuZGlzYWJsZUJyZWFrcG9pbnQpCisgICAgICAgICAgICAudGhlbihJ
bnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hd2FpdEV2ZW50KCJ3aW5kb3ciLCBldmVudE5h
bWUpKQorICAgICAgICAgICAgLmNhdGNoKHJlamVjdCk7CisgICAgICAgIH0sCisgICAgICAgIHRl
YXJkb3duOiBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC50ZWFyZG93biwKKyAgICB9KTsK
IAotICAgIGFkZFRlc3RDYXNlc0ZvckV2ZW50TmFtZSgicmVxdWVzdEFuaW1hdGlvbkZyYW1lIik7
CisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiBgRE9NRGVidWdnZXIuRXZl
bnQuQW5pbWF0aW9uRnJhbWUuUmVtb3ZlQnJlYWtwb2ludGAsCisgICAgICAgIGRlc2NyaXB0aW9u
OiAiQ2hlY2sgdGhhdCBkZWJ1Z2dlciBkb2VzIG5vdCBwYXVzZSBmb3IgcmVtb3ZlZCBicmVha3Bv
aW50LiIsCisgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5mYWlsT25QYXVzZShyZXNvbHZlLCByZWplY3QsIFdJ
LkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5BbmltYXRpb25GcmFtZSwgZXZlbnROYW1lLCAi
U2hvdWxkIG5vdCBwYXVzZSBmb3IgcmVtb3ZlZCBicmVha3BvaW50LiIpOworCisgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hZGRCcmVha3BvaW50KFdJLmRvbURlYnVn
Z2VyTWFuYWdlci5hbGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50KQorICAgICAgICAgICAgLnRo
ZW4oSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQucmVtb3ZlQnJlYWtwb2ludCkKKyAgICAg
ICAgICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmF3YWl0RXZlbnQoIndp
bmRvdyIsIGV2ZW50TmFtZSkpCisgICAgICAgICAgICAuY2F0Y2gocmVqZWN0KTsKKyAgICAgICAg
fSwKKyAgICAgICAgdGVhcmRvd246IEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LnRlYXJk
b3duLAorICAgIH0pOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiBg
RE9NRGVidWdnZXIuRXZlbnQuQW5pbWF0aW9uRnJhbWUuUmVtb3ZlRGlzYWJsZWRCcmVha3BvaW50
YCwKKyAgICAgICAgZGVzY3JpcHRpb246ICJDaGVjayB0aGF0IGEgZGlzYWJsZWQgYnJlYWtwb2lu
dCBjYW4gYmUgcmVtb3ZlZC4iLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuZmFpbE9uUGF1c2UocmVzb2x2
ZSwgcmVqZWN0LCBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uQW5pbWF0aW9uRnJhbWUs
IGV2ZW50TmFtZSwgIlNob3VsZCBub3QgcGF1c2UgZm9yIHJlbW92ZWQgZGlzYWJsZWQgYnJlYWtw
b2ludC4iKTsKKworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYWRk
QnJlYWtwb2ludChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsQW5pbWF0aW9uRnJhbWVzQnJlYWtw
b2ludCkKKyAgICAgICAgICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmRp
c2FibGVCcmVha3BvaW50KQorICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVudEJy
ZWFrcG9pbnQucmVtb3ZlQnJlYWtwb2ludCkKKyAgICAgICAgICAgIC50aGVuKEluc3BlY3RvclRl
c3QuRXZlbnRCcmVha3BvaW50LmF3YWl0RXZlbnQoIndpbmRvdyIsIGV2ZW50TmFtZSkpCisgICAg
ICAgICAgICAuY2F0Y2gocmVqZWN0KTsKKyAgICAgICAgfSwKKyAgICAgICAgdGVhcmRvd246IElu
c3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LnRlYXJkb3duLAorICAgIH0pOwogCiAgICAgc3Vp
dGUucnVuVGVzdENhc2VzQW5kRmluaXNoKCk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWJyZWFrcG9pbnQtd2l0aC1uYXZpZ2F0aW9uLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtYnJl
YWtwb2ludC13aXRoLW5hdmlnYXRpb24tZXhwZWN0ZWQudHh0CmluZGV4IDUwYmE1YzliNmRmYzRj
YzExYzc3ZDRkNmRjZjNmODBlZjMxZmU5Y2IuLmM0YzM5MzlkMTI1OGI1N2M4YzQ1ZDE2NmZjNTBh
Mzc4ZDhhOWFjY2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdn
ZXIvZXZlbnQtYnJlYWtwb2ludC13aXRoLW5hdmlnYXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtYnJlYWtwb2ludC13aXRoLW5h
dmlnYXRpb24tZXhwZWN0ZWQudHh0CkBAIC01LDcgKzUsNyBAQCBUZXN0cyBmb3IgRXZlbnQgTGlz
dGVuZXIgYnJlYWtwb2ludHMuCiAtLSBSdW5uaW5nIHRlc3QgY2FzZTogRE9NRGVidWdnZXIuRXZl
bnRXaXRoTmF2aWdhdGlvbi5BZGRCcmVha3BvaW50CiBBZGRpbmcgImxvYWQiIEV2ZW50IEJyZWFr
cG9pbnQuLi4KIFJlbG9hZGluZyBXZWJJbnNwZWN0b3IuLi4KLVBBU1M6IFBhdXNlIHJlYXNvbiBz
aG91bGQgYmUgRXZlbnRMaXN0ZW5lci4KK1BBU1M6IFBhdXNlIHJlYXNvbiBzaG91bGQgYmUgTGlz
dGVuZXIuCiBQQVNTOiBQYXVzZSBkYXRhIGV2ZW50TmFtZSBzaG91bGQgYmUgImxvYWQiLgogLS0g
UnVubmluZyB0ZXN0IHRlYXJkb3duLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWJyZWFrcG9pbnQtd2l0aC1uYXZpZ2F0aW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWJyZWFrcG9pbnQtd2l0aC1u
YXZpZ2F0aW9uLmh0bWwKaW5kZXggZTcwYmI2NTViYzUxNWMxN2M0NzBkZDIzMjIxOTQ3ZTQ4MzNh
NTU3Zi4uYzQxZGI3MmVhZDY3NTU3ZDI4NWFlNmI4MTliZjIwYmMyZTU0NmFjNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC1icmVha3BvaW50LXdp
dGgtbmF2aWdhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdn
ZXIvZXZlbnQtYnJlYWtwb2ludC13aXRoLW5hdmlnYXRpb24uaHRtbApAQCAtMiw2ICsyLDcgQEAK
IDxodG1sPgogPGhlYWQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
cmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvZXZlbnQtYnJlYWtwb2ludC11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4K
IGZ1bmN0aW9uIGhhbmRsZUxvYWQoZXZlbnQpIHsKICAgICBUZXN0UGFnZS5kaXNwYXRjaEV2ZW50
VG9Gcm9udGVuZCgiVGVzdFBhZ2VMb2FkIik7CkBAIC0yMiw3ICsyMyw3IEBAIGZ1bmN0aW9uIHRl
c3QoKSB7CiAgICAgICAgICAgICAgICAgcGF1c2VkID0gdHJ1ZTsKIAogICAgICAgICAgICAgICAg
IGxldCB0YXJnZXREYXRhID0gV0kuZGVidWdnZXJNYW5hZ2VyLmRhdGFGb3JUYXJnZXQoV0kuZGVi
dWdnZXJNYW5hZ2VyLmFjdGl2ZUNhbGxGcmFtZS50YXJnZXQpOwotICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuZXhwZWN0RXF1YWwodGFyZ2V0RGF0YS5wYXVzZVJlYXNvbiwgV0kuRGVidWdn
ZXJNYW5hZ2VyLlBhdXNlUmVhc29uLkV2ZW50TGlzdGVuZXIsICJQYXVzZSByZWFzb24gc2hvdWxk
IGJlIEV2ZW50TGlzdGVuZXIuIik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBl
Y3RFcXVhbCh0YXJnZXREYXRhLnBhdXNlUmVhc29uLCBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VS
ZWFzb24uTGlzdGVuZXIsICJQYXVzZSByZWFzb24gc2hvdWxkIGJlIExpc3RlbmVyLiIpOwogICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwodGFyZ2V0RGF0YS5wYXVzZURh
dGEuZXZlbnROYW1lLCAibG9hZCIsICJQYXVzZSBkYXRhIGV2ZW50TmFtZSBzaG91bGQgYmUgXCJs
b2FkXCIuIik7CiAKICAgICAgICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIucmVzdW1lKCkK
QEAgLTQ0LDcgKzQ1LDcgQEAgZnVuY3Rpb24gdGVzdCgpIHsKIAogICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5sb2coIkFkZGluZyBcImxvYWRcIiBFdmVudCBCcmVha3BvaW50Li4uIik7CiAKLSAg
ICAgICAgICAgIGxldCBicmVha3BvaW50ID0gbmV3IFdJLkV2ZW50QnJlYWtwb2ludChXSS5FdmVu
dEJyZWFrcG9pbnQuVHlwZS5MaXN0ZW5lciwgImxvYWQiKTsKKyAgICAgICAgICAgIGxldCBicmVh
a3BvaW50ID0gbmV3IFdJLkV2ZW50QnJlYWtwb2ludChXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5M
aXN0ZW5lciwge2V2ZW50TmFtZTogImxvYWQifSk7CiAKICAgICAgICAgICAgIFdJLmRvbURlYnVn
Z2VyTWFuYWdlci5hd2FpdEV2ZW50KFdJLkRPTURlYnVnZ2VyTWFuYWdlci5FdmVudC5FdmVudEJy
ZWFrcG9pbnRBZGRlZCkKICAgICAgICAgICAgIC50aGVuKChldmVudCkgPT4gewpAQCAtNTgsMTMg
KzU5LDcgQEAgZnVuY3Rpb24gdGVzdCgpIHsKIAogICAgICAgICAgICAgV0kuZG9tRGVidWdnZXJN
YW5hZ2VyLmFkZEV2ZW50QnJlYWtwb2ludChicmVha3BvaW50KTsKICAgICAgICAgfSwKLSAgICAg
ICAgdGVhcmRvd24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICBsZXQgYnJlYWtwb2lu
dHMgPSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuZXZlbnRCcmVha3BvaW50czsKLSAgICAgICAgICAg
IGZvciAobGV0IGJyZWFrcG9pbnQgb2YgYnJlYWtwb2ludHMpCi0gICAgICAgICAgICAgICAgV0ku
ZG9tRGVidWdnZXJNYW5hZ2VyLnJlbW92ZUV2ZW50QnJlYWtwb2ludChicmVha3BvaW50KTsKLQot
ICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICB9LAorICAgICAgICB0ZWFyZG93bjogSW5z
cGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQudGVhcmRvd24sCiAgICAgfSk7CiAKICAgICBzdWl0
ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9kb20tZGVidWdnZXIvZXZlbnQtaW50ZXJ2YWwtYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC1pbnRlcnZhbC1icmVh
a3BvaW50cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWVjNDgwYTc4YjVkODNiY2Q3MGVhYjcz
YTk3YTIwZGZkZWI4MzY4ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9kb20tZGVidWdnZXIvZXZlbnQtaW50ZXJ2YWwtYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNTcgQEAKK1Rlc3RzIGZvciBFdmVudCBUaW1lciBicmVha3BvaW50cy4KKworCis9
PSBSdW5uaW5nIHRlc3Qgc3VpdGU6IERPTURlYnVnZ2VyLkV2ZW50LlRpbWVyCistLSBSdW5uaW5n
IHRlc3QgY2FzZTogRE9NRGVidWdnZXIuRXZlbnQuSW50ZXJ2YWwuQWRkQnJlYWtwb2ludAorQWRk
aW5nICJpbnRlcnZhbCIgRXZlbnQgQnJlYWtwb2ludC4uLgorRmlyaW5nICJzZXRJbnRlcnZhbCIg
b24gd2luZG93Li4uCitQQVNTOiBTaG91bGQgcGF1c2UgYmVmb3JlIGV2ZW50IGhhbmRsZXIgaXMg
cnVuLgorQ0FMTCBTVEFDSzoKKzA6IFtGXSBoYW5kbGVXaW5kb3dfc2V0SW50ZXJ2YWwKK0FTWU5D
IENBTEwgU1RBQ0s6CisxOiAtLS0gc2V0SW50ZXJ2YWwgLS0tCisyOiBbRl0gdHJpZ2dlcl9zZXRJ
bnRlcnZhbAorMzogW1BdIEdsb2JhbCBDb2RlCistLSBSdW5uaW5nIHRlc3QgdGVhcmRvd24uCisK
Ky0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01EZWJ1Z2dlci5FdmVudC5JbnRlcnZhbC5BZGREaXNh
YmxlZEJyZWFrcG9pbnQKK0FkZGluZyAiaW50ZXJ2YWwiIEV2ZW50IEJyZWFrcG9pbnQuLi4KK0Rp
c2FibGluZyAiaW50ZXJ2YWwiIEV2ZW50IEJyZWFrcG9pbnQuLi4KK0ZpcmluZyAic2V0SW50ZXJ2
YWwiIG9uIHdpbmRvdy4uLgorUEFTUzogU2hvdWxkIG5vdCBwYXVzZSBmb3IgZGlzYWJsZWQgYnJl
YWtwb2ludC4KKy0tIFJ1bm5pbmcgdGVzdCB0ZWFyZG93bi4KKworLS0gUnVubmluZyB0ZXN0IGNh
c2U6IERPTURlYnVnZ2VyLkV2ZW50LkludGVydmFsLlJlbW92ZUJyZWFrcG9pbnQKK0FkZGluZyAi
aW50ZXJ2YWwiIEV2ZW50IEJyZWFrcG9pbnQuLi4KK1JlbW92aW5nICJpbnRlcnZhbCIgRXZlbnQg
QnJlYWtwb2ludC4uLgorRmlyaW5nICJzZXRJbnRlcnZhbCIgb24gd2luZG93Li4uCitQQVNTOiBT
aG91bGQgbm90IHBhdXNlIGZvciByZW1vdmVkIGJyZWFrcG9pbnQuCistLSBSdW5uaW5nIHRlc3Qg
dGVhcmRvd24uCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01EZWJ1Z2dlci5FdmVudC5JbnRl
cnZhbC5SZW1vdmVEaXNhYmxlZEJyZWFrcG9pbnQKK0FkZGluZyAiaW50ZXJ2YWwiIEV2ZW50IEJy
ZWFrcG9pbnQuLi4KK0Rpc2FibGluZyAiaW50ZXJ2YWwiIEV2ZW50IEJyZWFrcG9pbnQuLi4KK1Jl
bW92aW5nICJpbnRlcnZhbCIgRXZlbnQgQnJlYWtwb2ludC4uLgorRmlyaW5nICJzZXRJbnRlcnZh
bCIgb24gd2luZG93Li4uCitQQVNTOiBTaG91bGQgbm90IHBhdXNlIGZvciByZW1vdmVkIGRpc2Fi
bGVkIGJyZWFrcG9pbnQuCistLSBSdW5uaW5nIHRlc3QgdGVhcmRvd24uCisKKy0tIFJ1bm5pbmcg
dGVzdCBjYXNlOiBET01EZWJ1Z2dlci5FdmVudC5JbnRlcnZhbC5SZXBlYXRGaXJlQnJlYWtwb2lu
dAorQWRkaW5nICJpbnRlcnZhbCIgRXZlbnQgQnJlYWtwb2ludC4uLgorRmlyaW5nICJzZXRJbnRl
cnZhbCIgb24gd2luZG93Li4uCitQQVNTOiBTaG91bGQgcGF1c2UgYmVmb3JlIGV2ZW50IGhhbmRs
ZXIgaXMgcnVuLgorQ0FMTCBTVEFDSzoKKzA6IFtGXSBoYW5kbGVSZXBlYXQKK0FTWU5DIENBTEwg
U1RBQ0s6CisxOiAtLS0gc2V0SW50ZXJ2YWwgLS0tCisyOiBbRl0gcmVwZWF0U2V0SW50ZXJ2YWwK
KzM6IFtQXSBHbG9iYWwgQ29kZQorUEFTUzogU2hvdWxkIHBhdXNlIGJlZm9yZSBldmVudCBoYW5k
bGVyIGlzIHJ1bi4KK0NBTEwgU1RBQ0s6CiswOiBbRl0gaGFuZGxlUmVwZWF0CitBU1lOQyBDQUxM
IFNUQUNLOgorMTogLS0tIHNldEludGVydmFsIC0tLQorMjogW0ZdIHJlcGVhdFNldEludGVydmFs
CiszOiBbUF0gR2xvYmFsIENvZGUKKy0tIFJ1bm5pbmcgdGVzdCB0ZWFyZG93bi4KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC1pbnRlcnZhbC1i
cmVha3BvaW50cy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVu
dC1pbnRlcnZhbC1icmVha3BvaW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIzYjJhZmZlODY0ZmMwMjc5
YWE4ODllMjY0ZTgzYjdjMWM4OGM0NjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWludGVydmFsLWJyZWFrcG9pbnRzLmh0bWwKQEAg
LTAsMCArMSwxNTQgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvaW5zcGVjdG9yLXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2RlYnVnZ2VyL3Jlc291cmNlcy9sb2ctYWN0
aXZlLXN0YWNrLXRyYWNlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZXZl
bnQtYnJlYWtwb2ludC11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworbGV0IGlu
dGVydmFsSUQgPSBOYU47CisKK2Z1bmN0aW9uIGhhbmRsZVdpbmRvd19zZXRJbnRlcnZhbCgpIHsK
KyAgICBUZXN0UGFnZS5kaXNwYXRjaEV2ZW50VG9Gcm9udGVuZCgiVGVzdFBhZ2Utc2V0SW50ZXJ2
YWwiKTsKKworICAgIHJlcGVhdENsZWFySW50ZXJ2YWwoKTsKK30KKworZnVuY3Rpb24gaGFuZGxl
UmVwZWF0KCkgeworfQorCitmdW5jdGlvbiB0cmlnZ2VyX3NldEludGVydmFsKCkgeworICAgIGlu
dGVydmFsSUQgPSBzZXRJbnRlcnZhbChoYW5kbGVXaW5kb3dfc2V0SW50ZXJ2YWwsIDEwMCk7Cit9
CisKK2Z1bmN0aW9uIHJlcGVhdFNldEludGVydmFsKCkgeworICAgIGludGVydmFsSUQgPSBzZXRJ
bnRlcnZhbChoYW5kbGVSZXBlYXQsIDEwMCk7Cit9CisKK2Z1bmN0aW9uIHJlcGVhdENsZWFySW50
ZXJ2YWwoKSB7CisgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbElEKTsKKyAgICBpbnRlcnZhbElE
ID0gTmFOOworfQorCitmdW5jdGlvbiB0ZXN0KCkgeworICAgIGNvbnN0IGV2ZW50TmFtZSA9ICJz
ZXRJbnRlcnZhbCI7CisKKyAgICBsZXQgc3VpdGUgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZUFzeW5j
U3VpdGUoIkRPTURlYnVnZ2VyLkV2ZW50LlRpbWVyIik7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2Fz
ZSh7CisgICAgICAgIG5hbWU6IGBET01EZWJ1Z2dlci5FdmVudC5JbnRlcnZhbC5BZGRCcmVha3Bv
aW50YCwKKyAgICAgICAgZGVzY3JpcHRpb246ICJDaGVjayB0aGF0IHRoZSBkZWJ1Z2dlciBwYXVz
ZXMgZm9yIGVuYWJsZWQgYnJlYWtwb2ludHMuIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWpl
Y3QpIHsKKyAgICAgICAgICAgIGxldCBwYXVzZWQgPSBmYWxzZTsKKworICAgICAgICAgICAgbGV0
IGxpc3RlbmVyID0gV0kuZGVidWdnZXJNYW5hZ2VyLnNpbmdsZUZpcmVFdmVudExpc3RlbmVyKFdJ
LkRlYnVnZ2VyTWFuYWdlci5FdmVudC5QYXVzZWQsIChldmVudCkgPT4geworICAgICAgICAgICAg
ICAgIHBhdXNlZCA9IHRydWU7CisKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnBhc3Mo
IlNob3VsZCBwYXVzZSBiZWZvcmUgZXZlbnQgaGFuZGxlciBpcyBydW4uIik7CisgICAgICAgICAg
ICAgICAgbG9nQWN0aXZlU3RhY2tUcmFjZSgpOworCisgICAgICAgICAgICAgICAgV0kuZGVidWdn
ZXJNYW5hZ2VyLnJlc3VtZSgpCisgICAgICAgICAgICAgICAgLmNhdGNoKHJlamVjdCk7CisgICAg
ICAgICAgICB9KTsKKworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zaW5nbGVGaXJlRXZlbnRM
aXN0ZW5lcihgVGVzdFBhZ2UtJHtldmVudE5hbWV9YCwgKGV2ZW50KSA9PiB7CisgICAgICAgICAg
ICAgICAgaWYgKCFwYXVzZWQpIHsKKyAgICAgICAgICAgICAgICAgICAgV0kuZGVidWdnZXJNYW5h
Z2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCwg
bGlzdGVuZXIpOworCisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZmFpbCgiU2hv
dWxkIHBhdXNlIGJlZm9yZSBldmVudCBoYW5kbGVyIGlzIHJ1bi4iKTsKKyAgICAgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICB9KTsKKworICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYWRkQnJlYWtwb2ludChXSS5k
b21EZWJ1Z2dlck1hbmFnZXIuYWxsSW50ZXJ2YWxzQnJlYWtwb2ludCkKKyAgICAgICAgICAgIC50
aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmF3YWl0RXZlbnQoIndpbmRvdyIsIGV2
ZW50TmFtZSkpCisgICAgICAgICAgICAuY2F0Y2gocmVqZWN0KTsKKyAgICAgICAgfSwKKyAgICAg
ICAgdGVhcmRvd246IEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LnRlYXJkb3duLAorICAg
IH0pOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiBgRE9NRGVidWdn
ZXIuRXZlbnQuSW50ZXJ2YWwuQWRkRGlzYWJsZWRCcmVha3BvaW50YCwKKyAgICAgICAgZGVzY3Jp
cHRpb246ICJDaGVjayB0aGF0IGRlYnVnZ2VyIGRvZXMgbm90IHBhdXNlIGZvciBkaXNhYmxlZCBi
cmVha3BvaW50cy4iLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuZmFpbE9uUGF1c2UocmVzb2x2ZSwgcmVq
ZWN0LCBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uSW50ZXJ2YWwsIGV2ZW50TmFtZSwg
IlNob3VsZCBub3QgcGF1c2UgZm9yIGRpc2FibGVkIGJyZWFrcG9pbnQuIik7CisKKyAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmFkZEJyZWFrcG9pbnQoV0kuZG9tRGVi
dWdnZXJNYW5hZ2VyLmFsbEludGVydmFsc0JyZWFrcG9pbnQpCisgICAgICAgICAgICAudGhlbihJ
bnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5kaXNhYmxlQnJlYWtwb2ludCkKKyAgICAgICAg
ICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmF3YWl0RXZlbnQoIndpbmRv
dyIsIGV2ZW50TmFtZSkpCisgICAgICAgICAgICAuY2F0Y2gocmVqZWN0KTsKKyAgICAgICAgfSwK
KyAgICAgICAgdGVhcmRvd246IEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LnRlYXJkb3du
LAorICAgIH0pOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiBgRE9N
RGVidWdnZXIuRXZlbnQuSW50ZXJ2YWwuUmVtb3ZlQnJlYWtwb2ludGAsCisgICAgICAgIGRlc2Ny
aXB0aW9uOiAiQ2hlY2sgdGhhdCBkZWJ1Z2dlciBkb2VzIG5vdCBwYXVzZSBmb3IgcmVtb3ZlZCBi
cmVha3BvaW50LiIsCisgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5mYWlsT25QYXVzZShyZXNvbHZlLCByZWpl
Y3QsIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5JbnRlcnZhbCwgZXZlbnROYW1lLCAi
U2hvdWxkIG5vdCBwYXVzZSBmb3IgcmVtb3ZlZCBicmVha3BvaW50LiIpOworCisgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hZGRCcmVha3BvaW50KFdJLmRvbURlYnVn
Z2VyTWFuYWdlci5hbGxJbnRlcnZhbHNCcmVha3BvaW50KQorICAgICAgICAgICAgLnRoZW4oSW5z
cGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQucmVtb3ZlQnJlYWtwb2ludCkKKyAgICAgICAgICAg
IC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmF3YWl0RXZlbnQoIndpbmRvdyIs
IGV2ZW50TmFtZSkpCisgICAgICAgICAgICAuY2F0Y2gocmVqZWN0KTsKKyAgICAgICAgfSwKKyAg
ICAgICAgdGVhcmRvd246IEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LnRlYXJkb3duLAor
ICAgIH0pOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiBgRE9NRGVi
dWdnZXIuRXZlbnQuSW50ZXJ2YWwuUmVtb3ZlRGlzYWJsZWRCcmVha3BvaW50YCwKKyAgICAgICAg
ZGVzY3JpcHRpb246ICJDaGVjayB0aGF0IGEgZGlzYWJsZWQgYnJlYWtwb2ludCBjYW4gYmUgcmVt
b3ZlZC4iLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuZmFpbE9uUGF1c2UocmVzb2x2ZSwgcmVqZWN0LCBX
SS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uSW50ZXJ2YWwsIGV2ZW50TmFtZSwgIlNob3Vs
ZCBub3QgcGF1c2UgZm9yIHJlbW92ZWQgZGlzYWJsZWQgYnJlYWtwb2ludC4iKTsKKworICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYWRkQnJlYWtwb2ludChXSS5kb21E
ZWJ1Z2dlck1hbmFnZXIuYWxsSW50ZXJ2YWxzQnJlYWtwb2ludCkKKyAgICAgICAgICAgIC50aGVu
KEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmRpc2FibGVCcmVha3BvaW50KQorICAgICAg
ICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQucmVtb3ZlQnJlYWtwb2lu
dCkKKyAgICAgICAgICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmF3YWl0
RXZlbnQoIndpbmRvdyIsIGV2ZW50TmFtZSkpCisgICAgICAgICAgICAuY2F0Y2gocmVqZWN0KTsK
KyAgICAgICAgfSwKKyAgICAgICAgdGVhcmRvd246IEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3Bv
aW50LnRlYXJkb3duLAorICAgIH0pOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAg
ICBuYW1lOiBgRE9NRGVidWdnZXIuRXZlbnQuSW50ZXJ2YWwuUmVwZWF0RmlyZUJyZWFrcG9pbnRg
LAorICAgICAgICBkZXNjcmlwdGlvbjogIkNoZWNrIHRoYXQgYSBzaW5nbGUgYnJlYWtwb2ludCBw
YXVzZXMgbXVsdGlwbGUgdGltZXMgZm9yIHRoZSBzYW1lIGludGVydmFsLiIsCisgICAgICAgIHRl
c3QocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAgICAgICBsZXQgcGF1c2VDb3VudCA9IDA7CisK
KyAgICAgICAgICAgIGxldCBsaXN0ZW5lciA9IFdJLmRlYnVnZ2VyTWFuYWdlci5hZGRFdmVudExp
c3RlbmVyKFdJLkRlYnVnZ2VyTWFuYWdlci5FdmVudC5QYXVzZWQsIChldmVudCkgPT4geworICAg
ICAgICAgICAgICAgICsrcGF1c2VDb3VudDsKKworICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QucGFzcygiU2hvdWxkIHBhdXNlIGJlZm9yZSBldmVudCBoYW5kbGVyIGlzIHJ1bi4iKTsKKyAg
ICAgICAgICAgICAgICBsb2dBY3RpdmVTdGFja1RyYWNlKCk7CisKKyAgICAgICAgICAgICAgICBX
SS5kZWJ1Z2dlck1hbmFnZXIucmVzdW1lKCkKKyAgICAgICAgICAgICAgICAuY2F0Y2gocmVqZWN0
KTsKKworICAgICAgICAgICAgICAgIGlmIChwYXVzZUNvdW50ID49IDIpIHsKKyAgICAgICAgICAg
ICAgICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuRGVidWdn
ZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCwgbGlzdGVuZXIpOworCisgICAgICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYHJlcGVhdENsZWFySW50ZXJ2YWwoKWApCisg
ICAgICAgICAgICAgICAgICAgIC50aGVuKHJlc29sdmUsIHJlamVjdCkKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJy
ZWFrcG9pbnQuYWRkQnJlYWtwb2ludChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsSW50ZXJ2YWxz
QnJlYWtwb2ludCkKKyAgICAgICAgICAgIC50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmxvZygiRmlyaW5nIFwic2V0SW50ZXJ2YWxcIiBvbiB3aW5kb3cuLi4iKTsK
KyAgICAgICAgICAgICAgICByZXR1cm4gSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgcmVw
ZWF0U2V0SW50ZXJ2YWwoKWApOworICAgICAgICAgICAgfSkKKyAgICAgICAgICAgIC5jYXRjaChy
ZWplY3QpOworICAgICAgICB9LAorICAgICAgICB0ZWFyZG93bjogSW5zcGVjdG9yVGVzdC5FdmVu
dEJyZWFrcG9pbnQudGVhcmRvd24sCisgICAgfSk7CisKKyAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNB
bmRGaW5pc2goKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0
KCkiPgorICAgIDxwPlRlc3RzIGZvciBFdmVudCBUaW1lciBicmVha3BvaW50cy48L3A+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLWRlYnVn
Z2VyL2V2ZW50LWxpc3RlbmVyLWJyZWFrcG9pbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtbGlzdGVuZXItYnJlYWtwb2ludHMtZXhwZWN0
ZWQudHh0CmluZGV4IDc0MzNjOWFjNzQ1OTQ2NTNlOGQxMjRlYjhmZGJmMjA5NDk4ODg3ODIuLjc4
MWI3Y2QyZGQwYTU4MGVlOTk0NTM3OWU0M2FiNjhhYzNhNTBhMmEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtbGlzdGVuZXItYnJlYWtwb2ludHMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZl
bnQtbGlzdGVuZXItYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0CkBAIC0zLDcgKzMsOCBAQCBUZXN0
cyBmb3IgRXZlbnQgTGlzdGVuZXIgYnJlYWtwb2ludHMuCiAKID09IFJ1bm5pbmcgdGVzdCBzdWl0
ZTogRE9NRGVidWdnZXIuRXZlbnQuTGlzdGVuZXIKIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01E
ZWJ1Z2dlci5FdmVudC5MaXN0ZW5lci5BZGRCcmVha3BvaW50ICJjbGljayIKLUFkZGluZyAiY2xp
Y2siIEV2ZW50IEJyZWFrcG9pbnQuLi4KK0NyZWF0aW5nICJjbGljayIgRXZlbnQgQnJlYWtwb2lu
dC4uLgorQWRkaW5nICJsaXN0ZW5lcjpjbGljayIgRXZlbnQgQnJlYWtwb2ludC4uLgogRmlyaW5n
ICJjbGljayIgb24gYm9keS4uLgogUEFTUzogU2hvdWxkIHBhdXNlIGJlZm9yZSBldmVudCBoYW5k
bGVyIGlzIHJ1bi4KIENBTEwgU1RBQ0s6CkBAIC0xMywyOSArMTQsMzMgQEAgQ0FMTCBTVEFDSzoK
IC0tIFJ1bm5pbmcgdGVzdCB0ZWFyZG93bi4KIAogLS0gUnVubmluZyB0ZXN0IGNhc2U6IERPTURl
YnVnZ2VyLkV2ZW50Lkxpc3RlbmVyLkFkZERpc2FibGVkQnJlYWtwb2ludCAiY2xpY2siCi1BZGRp
bmcgImNsaWNrIiBFdmVudCBCcmVha3BvaW50Li4uCi1EaXNhYmxpbmcgImNsaWNrIiBFdmVudCBC
cmVha3BvaW50Li4uCitDcmVhdGluZyAiY2xpY2siIEV2ZW50IEJyZWFrcG9pbnQuLi4KK0FkZGlu
ZyAibGlzdGVuZXI6Y2xpY2siIEV2ZW50IEJyZWFrcG9pbnQuLi4KK0Rpc2FibGluZyAibGlzdGVu
ZXI6Y2xpY2siIEV2ZW50IEJyZWFrcG9pbnQuLi4KIEZpcmluZyAiY2xpY2siIG9uIGJvZHkuLi4K
IFBBU1M6IFNob3VsZCBub3QgcGF1c2UgZm9yIGRpc2FibGVkIGJyZWFrcG9pbnQuCiAtLSBSdW5u
aW5nIHRlc3QgdGVhcmRvd24uCiAKIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01EZWJ1Z2dlci5F
dmVudC5MaXN0ZW5lci5SZW1vdmVCcmVha3BvaW50ICJjbGljayIKLUFkZGluZyAiY2xpY2siIEV2
ZW50IEJyZWFrcG9pbnQuLi4KLVJlbW92aW5nICJjbGljayIgRXZlbnQgQnJlYWtwb2ludC4uLgor
Q3JlYXRpbmcgImNsaWNrIiBFdmVudCBCcmVha3BvaW50Li4uCitBZGRpbmcgImxpc3RlbmVyOmNs
aWNrIiBFdmVudCBCcmVha3BvaW50Li4uCitSZW1vdmluZyAibGlzdGVuZXI6Y2xpY2siIEV2ZW50
IEJyZWFrcG9pbnQuLi4KIEZpcmluZyAiY2xpY2siIG9uIGJvZHkuLi4KIFBBU1M6IFNob3VsZCBu
b3QgcGF1c2UgZm9yIHJlbW92ZWQgYnJlYWtwb2ludC4KIC0tIFJ1bm5pbmcgdGVzdCB0ZWFyZG93
bi4KIAogLS0gUnVubmluZyB0ZXN0IGNhc2U6IERPTURlYnVnZ2VyLkV2ZW50Lkxpc3RlbmVyLlJl
bW92ZURpc2FibGVkQnJlYWtwb2ludCAiY2xpY2siCi1BZGRpbmcgImNsaWNrIiBFdmVudCBCcmVh
a3BvaW50Li4uCi1EaXNhYmxpbmcgImNsaWNrIiBFdmVudCBCcmVha3BvaW50Li4uCi1SZW1vdmlu
ZyAiY2xpY2siIEV2ZW50IEJyZWFrcG9pbnQuLi4KK0NyZWF0aW5nICJjbGljayIgRXZlbnQgQnJl
YWtwb2ludC4uLgorQWRkaW5nICJsaXN0ZW5lcjpjbGljayIgRXZlbnQgQnJlYWtwb2ludC4uLgor
RGlzYWJsaW5nICJsaXN0ZW5lcjpjbGljayIgRXZlbnQgQnJlYWtwb2ludC4uLgorUmVtb3Zpbmcg
Imxpc3RlbmVyOmNsaWNrIiBFdmVudCBCcmVha3BvaW50Li4uCiBGaXJpbmcgImNsaWNrIiBvbiBi
b2R5Li4uCiBQQVNTOiBTaG91bGQgbm90IHBhdXNlIGZvciByZW1vdmVkIGRpc2FibGVkIGJyZWFr
cG9pbnQuCiAtLSBSdW5uaW5nIHRlc3QgdGVhcmRvd24uCiAKIC0tIFJ1bm5pbmcgdGVzdCBjYXNl
OiBET01EZWJ1Z2dlci5FdmVudC5MaXN0ZW5lci5BZGRCcmVha3BvaW50ICJjdXN0b20iCi1BZGRp
bmcgImN1c3RvbSIgRXZlbnQgQnJlYWtwb2ludC4uLgorQ3JlYXRpbmcgImN1c3RvbSIgRXZlbnQg
QnJlYWtwb2ludC4uLgorQWRkaW5nICJsaXN0ZW5lcjpjdXN0b20iIEV2ZW50IEJyZWFrcG9pbnQu
Li4KIEZpcmluZyAiY3VzdG9tIiBvbiBib2R5Li4uCiBQQVNTOiBTaG91bGQgcGF1c2UgYmVmb3Jl
IGV2ZW50IGhhbmRsZXIgaXMgcnVuLgogQ0FMTCBTVEFDSzoKQEAgLTQ1LDI5ICs1MCw1MCBAQCBD
QUxMIFNUQUNLOgogLS0gUnVubmluZyB0ZXN0IHRlYXJkb3duLgogCiAtLSBSdW5uaW5nIHRlc3Qg
Y2FzZTogRE9NRGVidWdnZXIuRXZlbnQuTGlzdGVuZXIuQWRkRGlzYWJsZWRCcmVha3BvaW50ICJj
dXN0b20iCi1BZGRpbmcgImN1c3RvbSIgRXZlbnQgQnJlYWtwb2ludC4uLgotRGlzYWJsaW5nICJj
dXN0b20iIEV2ZW50IEJyZWFrcG9pbnQuLi4KK0NyZWF0aW5nICJjdXN0b20iIEV2ZW50IEJyZWFr
cG9pbnQuLi4KK0FkZGluZyAibGlzdGVuZXI6Y3VzdG9tIiBFdmVudCBCcmVha3BvaW50Li4uCitE
aXNhYmxpbmcgImxpc3RlbmVyOmN1c3RvbSIgRXZlbnQgQnJlYWtwb2ludC4uLgogRmlyaW5nICJj
dXN0b20iIG9uIGJvZHkuLi4KIFBBU1M6IFNob3VsZCBub3QgcGF1c2UgZm9yIGRpc2FibGVkIGJy
ZWFrcG9pbnQuCiAtLSBSdW5uaW5nIHRlc3QgdGVhcmRvd24uCiAKIC0tIFJ1bm5pbmcgdGVzdCBj
YXNlOiBET01EZWJ1Z2dlci5FdmVudC5MaXN0ZW5lci5SZW1vdmVCcmVha3BvaW50ICJjdXN0b20i
Ci1BZGRpbmcgImN1c3RvbSIgRXZlbnQgQnJlYWtwb2ludC4uLgotUmVtb3ZpbmcgImN1c3RvbSIg
RXZlbnQgQnJlYWtwb2ludC4uLgorQ3JlYXRpbmcgImN1c3RvbSIgRXZlbnQgQnJlYWtwb2ludC4u
LgorQWRkaW5nICJsaXN0ZW5lcjpjdXN0b20iIEV2ZW50IEJyZWFrcG9pbnQuLi4KK1JlbW92aW5n
ICJsaXN0ZW5lcjpjdXN0b20iIEV2ZW50IEJyZWFrcG9pbnQuLi4KIEZpcmluZyAiY3VzdG9tIiBv
biBib2R5Li4uCiBQQVNTOiBTaG91bGQgbm90IHBhdXNlIGZvciByZW1vdmVkIGJyZWFrcG9pbnQu
CiAtLSBSdW5uaW5nIHRlc3QgdGVhcmRvd24uCiAKIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01E
ZWJ1Z2dlci5FdmVudC5MaXN0ZW5lci5SZW1vdmVEaXNhYmxlZEJyZWFrcG9pbnQgImN1c3RvbSIK
LUFkZGluZyAiY3VzdG9tIiBFdmVudCBCcmVha3BvaW50Li4uCi1EaXNhYmxpbmcgImN1c3RvbSIg
RXZlbnQgQnJlYWtwb2ludC4uLgotUmVtb3ZpbmcgImN1c3RvbSIgRXZlbnQgQnJlYWtwb2ludC4u
LgorQ3JlYXRpbmcgImN1c3RvbSIgRXZlbnQgQnJlYWtwb2ludC4uLgorQWRkaW5nICJsaXN0ZW5l
cjpjdXN0b20iIEV2ZW50IEJyZWFrcG9pbnQuLi4KK0Rpc2FibGluZyAibGlzdGVuZXI6Y3VzdG9t
IiBFdmVudCBCcmVha3BvaW50Li4uCitSZW1vdmluZyAibGlzdGVuZXI6Y3VzdG9tIiBFdmVudCBC
cmVha3BvaW50Li4uCiBGaXJpbmcgImN1c3RvbSIgb24gYm9keS4uLgogUEFTUzogU2hvdWxkIG5v
dCBwYXVzZSBmb3IgcmVtb3ZlZCBkaXNhYmxlZCBicmVha3BvaW50LgogLS0gUnVubmluZyB0ZXN0
IHRlYXJkb3duLgogCistLSBSdW5uaW5nIHRlc3QgY2FzZTogRE9NRGVidWdnZXIuRXZlbnQuTGlz
dGVuZXIuQWxsRXZlbnRzQnJlYWtwb2ludAorQWRkaW5nICJsaXN0ZW5lciIgRXZlbnQgQnJlYWtw
b2ludC4uLgorRmlyaW5nICJjbGljayIgb24gYm9keS4uLgorUEFTUzogU2hvdWxkIHBhdXNlIGJl
Zm9yZSBldmVudCBoYW5kbGVyIGlzIHJ1bi4KK0NBTEwgU1RBQ0s6CiswOiBbRl0gaGFuZGxlQm9k
eV9jbGljaworMTogW0ZdIHRyaWdnZXJfY2xpY2sKKzI6IFtQXSBHbG9iYWwgQ29kZQorRmlyaW5n
ICJjdXN0b20iIG9uIGJvZHkuLi4KK1BBU1M6IFNob3VsZCBwYXVzZSBiZWZvcmUgZXZlbnQgaGFu
ZGxlciBpcyBydW4uCitDQUxMIFNUQUNLOgorMDogW0ZdIGhhbmRsZUJvZHlfY3VzdG9tCisxOiBb
Rl0gdHJpZ2dlcl9jdXN0b20KKzI6IFtQXSBHbG9iYWwgQ29kZQorUEFTUzogU2hvdWxkIGhhdmUg
cGF1c2VkIHR3aWNlLgorLS0gUnVubmluZyB0ZXN0IHRlYXJkb3duLgorCiAtLSBSdW5uaW5nIHRl
c3QgY2FzZTogRE9NRGVidWdnZXIuRXZlbnQuTGlzdGVuZXIuQWRkTXVsdGlwbGVCcmVha3BvaW50
cwotQWRkaW5nICJjbGljayIgRXZlbnQgQnJlYWtwb2ludC4uLgorQ3JlYXRpbmcgImNsaWNrIiBF
dmVudCBCcmVha3BvaW50Li4uCitBZGRpbmcgImxpc3RlbmVyOmNsaWNrIiBFdmVudCBCcmVha3Bv
aW50Li4uCiBGaXJpbmcgImNsaWNrIiBvbiBkaXYjeC4uLgogUEFTUzogU2hvdWxkIHBhdXNlIGJl
Zm9yZSBldmVudCBoYW5kbGVyIGlzIHJ1bi4KIENBTEwgU1RBQ0s6CkBAIC04Myw3ICsxMDksOCBA
QCBQQVNTOiBTaG91bGQgaGF2ZSBwYXVzZWQgdHdpY2UuCiAtLSBSdW5uaW5nIHRlc3QgdGVhcmRv
d24uCiAKIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01EZWJ1Z2dlci5FdmVudC5MaXN0ZW5lci5E
aXNhYmxlQmV0d2VlbkRpc3BhdGNoZXMKLUFkZGluZyAiY2xpY2siIEV2ZW50IEJyZWFrcG9pbnQu
Li4KK0NyZWF0aW5nICJjbGljayIgRXZlbnQgQnJlYWtwb2ludC4uLgorQWRkaW5nICJsaXN0ZW5l
cjpjbGljayIgRXZlbnQgQnJlYWtwb2ludC4uLgogRmlyaW5nICJjbGljayIgb24gZGl2I3guLi4K
IFBBU1M6IFNob3VsZCBwYXVzZSBiZWZvcmUgZXZlbnQgaGFuZGxlciBpcyBydW4uCiBDQUxMIFNU
QUNLOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVu
dC1saXN0ZW5lci1icmVha3BvaW50cy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1k
ZWJ1Z2dlci9ldmVudC1saXN0ZW5lci1icmVha3BvaW50cy5odG1sCmluZGV4IGNkZWQ5ZTQxYjhl
NDdkMzkwZGZjOGYyM2ZmMWMwZThjYjcxODU1YWMuLmZiYjQ5ODA4ZWZlOTc4Y2I1NWQ0NjE0Mzll
ZTBlYmI4ZGE3YmI1NzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVi
dWdnZXIvZXZlbnQtbGlzdGVuZXItYnJlYWtwb2ludHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWxpc3RlbmVyLWJyZWFrcG9pbnRzLmh0bWwKQEAg
LTU4LDcgKzU4LDcgQEAgZnVuY3Rpb24gdGVzdCgpIHsKICAgICAgICAgICAgICAgICAgICAgcmVz
b2x2ZSgpOwogICAgICAgICAgICAgICAgIH0pOwogCi0gICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5FdmVudEJyZWFrcG9pbnQuYWRkQnJlYWtwb2ludChXSS5FdmVudEJyZWFrcG9pbnQuVHlw
ZS5MaXN0ZW5lciwgZXZlbnROYW1lKQorICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuRXZl
bnRCcmVha3BvaW50LmNyZWF0ZUJyZWFrcG9pbnQoV0kuRXZlbnRCcmVha3BvaW50LlR5cGUuTGlz
dGVuZXIsIGV2ZW50TmFtZSkKICAgICAgICAgICAgICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2
ZW50QnJlYWtwb2ludC5hd2FpdEV2ZW50KCJib2R5IiwgZXZlbnROYW1lKSkKICAgICAgICAgICAg
ICAgICAuY2F0Y2gocmVqZWN0KTsKICAgICAgICAgICAgIH0sCkBAIC02OSw5ICs2OSw5IEBAIGZ1
bmN0aW9uIHRlc3QoKSB7CiAgICAgICAgICAgICBuYW1lOiBgRE9NRGVidWdnZXIuRXZlbnQuTGlz
dGVuZXIuQWRkRGlzYWJsZWRCcmVha3BvaW50ICIke2V2ZW50TmFtZX0iYCwKICAgICAgICAgICAg
IGRlc2NyaXB0aW9uOiAiQ2hlY2sgdGhhdCBkZWJ1Z2dlciBkb2VzIG5vdCBwYXVzZSBmb3IgZGlz
YWJsZWQgYnJlYWtwb2ludHMuIiwKICAgICAgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7
Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuZmFpbE9uUGF1
c2UocmVzb2x2ZSwgcmVqZWN0LCBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uRXZlbnRM
aXN0ZW5lciwgZXZlbnROYW1lLCAiU2hvdWxkIG5vdCBwYXVzZSBmb3IgZGlzYWJsZWQgYnJlYWtw
b2ludC4iKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5m
YWlsT25QYXVzZShyZXNvbHZlLCByZWplY3QsIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNv
bi5MaXN0ZW5lciwgZXZlbnROYW1lLCAiU2hvdWxkIG5vdCBwYXVzZSBmb3IgZGlzYWJsZWQgYnJl
YWtwb2ludC4iKTsKIAotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3Bv
aW50LmFkZEJyZWFrcG9pbnQoV0kuRXZlbnRCcmVha3BvaW50LlR5cGUuTGlzdGVuZXIsIGV2ZW50
TmFtZSkKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5jcmVh
dGVCcmVha3BvaW50KFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkxpc3RlbmVyLCBldmVudE5hbWUp
CiAgICAgICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuZGlz
YWJsZUJyZWFrcG9pbnQpCiAgICAgICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVu
dEJyZWFrcG9pbnQuYXdhaXRFdmVudCgiYm9keSIsIGV2ZW50TmFtZSkpCiAgICAgICAgICAgICAg
ICAgLmNhdGNoKHJlamVjdCk7CkBAIC04Myw5ICs4Myw5IEBAIGZ1bmN0aW9uIHRlc3QoKSB7CiAg
ICAgICAgICAgICBuYW1lOiBgRE9NRGVidWdnZXIuRXZlbnQuTGlzdGVuZXIuUmVtb3ZlQnJlYWtw
b2ludCAiJHtldmVudE5hbWV9ImAsCiAgICAgICAgICAgICBkZXNjcmlwdGlvbjogIkNoZWNrIHRo
YXQgZGVidWdnZXIgZG9lcyBub3QgcGF1c2UgZm9yIHJlbW92ZWQgYnJlYWtwb2ludC4iLAogICAg
ICAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5mYWlsT25QYXVzZShyZXNvbHZlLCByZWplY3QsIFdJLkRl
YnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5FdmVudExpc3RlbmVyLCBldmVudE5hbWUsICJTaG91
bGQgbm90IHBhdXNlIGZvciByZW1vdmVkIGJyZWFrcG9pbnQuIik7CisgICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuZmFpbE9uUGF1c2UocmVzb2x2ZSwgcmVqZWN0
LCBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uTGlzdGVuZXIsIGV2ZW50TmFtZSwgIlNo
b3VsZCBub3QgcGF1c2UgZm9yIHJlbW92ZWQgYnJlYWtwb2ludC4iKTsKIAotICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmFkZEJyZWFrcG9pbnQoV0kuRXZlbnRC
cmVha3BvaW50LlR5cGUuTGlzdGVuZXIsIGV2ZW50TmFtZSkKKyAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5jcmVhdGVCcmVha3BvaW50KFdJLkV2ZW50QnJlYWtw
b2ludC5UeXBlLkxpc3RlbmVyLCBldmVudE5hbWUpCiAgICAgICAgICAgICAgICAgLnRoZW4oSW5z
cGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQucmVtb3ZlQnJlYWtwb2ludCkKICAgICAgICAgICAg
ICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hd2FpdEV2ZW50KCJib2R5
IiwgZXZlbnROYW1lKSkKICAgICAgICAgICAgICAgICAuY2F0Y2gocmVqZWN0KTsKQEAgLTk3LDkg
Kzk3LDkgQEAgZnVuY3Rpb24gdGVzdCgpIHsKICAgICAgICAgICAgIG5hbWU6IGBET01EZWJ1Z2dl
ci5FdmVudC5MaXN0ZW5lci5SZW1vdmVEaXNhYmxlZEJyZWFrcG9pbnQgIiR7ZXZlbnROYW1lfSJg
LAogICAgICAgICAgICAgZGVzY3JpcHRpb246ICJDaGVjayB0aGF0IGEgZGlzYWJsZWQgYnJlYWtw
b2ludCBjYW4gYmUgcmVtb3ZlZC4iLAogICAgICAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3Qp
IHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5mYWlsT25Q
YXVzZShyZXNvbHZlLCByZWplY3QsIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5FdmVu
dExpc3RlbmVyLCBldmVudE5hbWUsICJTaG91bGQgbm90IHBhdXNlIGZvciByZW1vdmVkIGRpc2Fi
bGVkIGJyZWFrcG9pbnQuIik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJy
ZWFrcG9pbnQuZmFpbE9uUGF1c2UocmVzb2x2ZSwgcmVqZWN0LCBXSS5EZWJ1Z2dlck1hbmFnZXIu
UGF1c2VSZWFzb24uTGlzdGVuZXIsIGV2ZW50TmFtZSwgIlNob3VsZCBub3QgcGF1c2UgZm9yIHJl
bW92ZWQgZGlzYWJsZWQgYnJlYWtwb2ludC4iKTsKIAotICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuRXZlbnRCcmVha3BvaW50LmFkZEJyZWFrcG9pbnQoV0kuRXZlbnRCcmVha3BvaW50LlR5
cGUuTGlzdGVuZXIsIGV2ZW50TmFtZSkKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LkV2
ZW50QnJlYWtwb2ludC5jcmVhdGVCcmVha3BvaW50KFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkxp
c3RlbmVyLCBldmVudE5hbWUpCiAgICAgICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5F
dmVudEJyZWFrcG9pbnQuZGlzYWJsZUJyZWFrcG9pbnQpCiAgICAgICAgICAgICAgICAgLnRoZW4o
SW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQucmVtb3ZlQnJlYWtwb2ludCkKICAgICAgICAg
ICAgICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hd2FpdEV2ZW50KCJi
b2R5IiwgZXZlbnROYW1lKSkKQEAgLTExMiw2ICsxMTIsNDIgQEAgZnVuY3Rpb24gdGVzdCgpIHsK
ICAgICBhZGRUZXN0Q2FzZXNGb3JFdmVudE5hbWUoImNsaWNrIik7CiAgICAgYWRkVGVzdENhc2Vz
Rm9yRXZlbnROYW1lKCJjdXN0b20iKTsKIAorICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAg
ICAgbmFtZTogYERPTURlYnVnZ2VyLkV2ZW50Lkxpc3RlbmVyLkFsbEV2ZW50c0JyZWFrcG9pbnRg
LAorICAgICAgICBkZXNjcmlwdGlvbjogIkNoZWNrIHRoYXQgdGhlIGFsbCBldmVudHMgYnJlYWtw
b2ludCBwYXVzZXMgZm9yIGV2ZXJ5IGV2ZW50LiIsCisgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVq
ZWN0KSB7CisgICAgICAgICAgICBsZXQgcGF1c2VDb3VudCA9IDA7CisKKyAgICAgICAgICAgIGxl
dCBsaXN0ZW5lciA9IFdJLmRlYnVnZ2VyTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkRlYnVn
Z2VyTWFuYWdlci5FdmVudC5QYXVzZWQsIChldmVudCkgPT4geworICAgICAgICAgICAgICAgICsr
cGF1c2VDb3VudDsKKworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QucGFzcygiU2hvdWxk
IHBhdXNlIGJlZm9yZSBldmVudCBoYW5kbGVyIGlzIHJ1bi4iKTsKKyAgICAgICAgICAgICAgICBs
b2dBY3RpdmVTdGFja1RyYWNlKCk7CisKKyAgICAgICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFn
ZXIucmVzdW1lKCkKKyAgICAgICAgICAgICAgICAuY2F0Y2gocmVqZWN0KTsKKyAgICAgICAgICAg
IH0pOworCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hZGRCcmVh
a3BvaW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxMaXN0ZW5lcnNCcmVha3BvaW50KQorICAg
ICAgICAgICAgLnRoZW4oKCkgPT4geworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9n
KCJGaXJpbmcgXCJjbGlja1wiIG9uIGJvZHkuLi4iKTsKKyAgICAgICAgICAgICAgICByZXR1cm4g
SW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgdHJpZ2dlcl9jbGljaygpYCk7CisgICAgICAg
ICAgICB9KQorICAgICAgICAgICAgLnRoZW4oKCkgPT4geworICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QubG9nKCJGaXJpbmcgXCJjdXN0b21cIiBvbiBib2R5Li4uIik7CisgICAgICAgICAg
ICAgICAgcmV0dXJuIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYHRyaWdnZXJfY3VzdG9t
KClgKTsKKyAgICAgICAgICAgIH0pCisgICAgICAgICAgICAudGhlbigoKSA9PiB7CisgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChwYXVzZUNvdW50LCAyLCAiU2hvdWxk
IGhhdmUgcGF1c2VkIHR3aWNlLiIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNz
ZXJ0KCFXSS5kZWJ1Z2dlck1hbmFnZXIucGF1c2VkLCAiU2hvdWxkIG5vdCBiZSBwYXVzZWQuIik7
CisKKyAgICAgICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5l
cihXSS5EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuUGF1c2VkLCBsaXN0ZW5lcik7CisgICAgICAgICAg
ICB9KQorICAgICAgICAgICAgLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTsKKyAgICAgICAgfSwKKyAg
ICAgICAgdGVhcmRvd246IEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LnRlYXJkb3duLAor
ICAgIH0pOworCiAgICAgc3VpdGUuYWRkVGVzdENhc2UoewogICAgICAgICBuYW1lOiBgRE9NRGVi
dWdnZXIuRXZlbnQuTGlzdGVuZXIuQWRkTXVsdGlwbGVCcmVha3BvaW50c2AsCiAgICAgICAgIGRl
c2NyaXB0aW9uOiAiQ2hlY2sgdGhhdCBhIHNpbmdsZSBicmVha3BvaW50IHBhdXNlcyBmb3IgZXZl
cnkgZXZlbnQgb2YgdGhhdCB0eXBlLiIsCkBAIC0xMzcsNyArMTczLDcgQEAgZnVuY3Rpb24gdGVz
dCgpIHsKICAgICAgICAgICAgICAgICByZXNvbHZlKCk7CiAgICAgICAgICAgICB9KTsKIAotICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYWRkQnJlYWtwb2ludChXSS5F
dmVudEJyZWFrcG9pbnQuVHlwZS5MaXN0ZW5lciwgImNsaWNrIikKKyAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmNyZWF0ZUJyZWFrcG9pbnQoV0kuRXZlbnRCcmVha3Bv
aW50LlR5cGUuTGlzdGVuZXIsICJjbGljayIpCiAgICAgICAgICAgICAudGhlbigoKSA9PiB7CiAg
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkZpcmluZyBcImNsaWNrXCIgb24gZGl2
I3guLi4iKTsKICAgICAgICAgICAgICAgICByZXR1cm4gSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUlu
UGFnZShgY2xpY2tYKClgKTsKQEAgLTE3NSw3ICsyMTEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkgewog
ICAgICAgICAgICAgICAgIC50aGVuKHJlc29sdmUsIHJlamVjdCk7CiAgICAgICAgICAgICB9KTsK
IAotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYWRkQnJlYWtwb2lu
dChXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5MaXN0ZW5lciwgImNsaWNrIikKKyAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmNyZWF0ZUJyZWFrcG9pbnQoV0kuRXZlbnRC
cmVha3BvaW50LlR5cGUuTGlzdGVuZXIsICJjbGljayIpCiAgICAgICAgICAgICAudGhlbigoKSA9
PiB7CiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkZpcmluZyBcImNsaWNrXCIg
b24gZGl2I3guLi4iKTsKICAgICAgICAgICAgICAgICByZXR1cm4gSW5zcGVjdG9yVGVzdC5ldmFs
dWF0ZUluUGFnZShgY2xpY2tYKClgKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9kb20tZGVidWdnZXIvZXZlbnQtdGltZW91dC1icmVha3BvaW50cy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LXRpbWVvdXQtYnJlYWtwb2lu
dHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNhNWQwMTBkZWVjOWFhNDljYmJiNDFiNGU0ZWEz
ZmNiNDhkM2E3ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9t
LWRlYnVnZ2VyL2V2ZW50LXRpbWVvdXQtYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzggQEAKK1Rlc3RzIGZvciBFdmVudCBUaW1lciBicmVha3BvaW50cy4KKworCis9PSBSdW5u
aW5nIHRlc3Qgc3VpdGU6IERPTURlYnVnZ2VyLkV2ZW50LlRpbWVyCistLSBSdW5uaW5nIHRlc3Qg
Y2FzZTogRE9NRGVidWdnZXIuRXZlbnQuVGltZW91dC5BZGRCcmVha3BvaW50CitBZGRpbmcgInRp
bWVvdXQiIEV2ZW50IEJyZWFrcG9pbnQuLi4KK0ZpcmluZyAic2V0VGltZW91dCIgb24gd2luZG93
Li4uCitQQVNTOiBTaG91bGQgcGF1c2UgYmVmb3JlIGV2ZW50IGhhbmRsZXIgaXMgcnVuLgorQ0FM
TCBTVEFDSzoKKzA6IFtGXSBoYW5kbGVXaW5kb3dfc2V0VGltZW91dAorQVNZTkMgQ0FMTCBTVEFD
SzoKKzE6IC0tLSBzZXRUaW1lb3V0IC0tLQorMjogW0ZdIHRyaWdnZXJfc2V0VGltZW91dAorMzog
W1BdIEdsb2JhbCBDb2RlCistLSBSdW5uaW5nIHRlc3QgdGVhcmRvd24uCisKKy0tIFJ1bm5pbmcg
dGVzdCBjYXNlOiBET01EZWJ1Z2dlci5FdmVudC5UaW1lb3V0LkFkZERpc2FibGVkQnJlYWtwb2lu
dAorQWRkaW5nICJ0aW1lb3V0IiBFdmVudCBCcmVha3BvaW50Li4uCitEaXNhYmxpbmcgInRpbWVv
dXQiIEV2ZW50IEJyZWFrcG9pbnQuLi4KK0ZpcmluZyAic2V0VGltZW91dCIgb24gd2luZG93Li4u
CitQQVNTOiBTaG91bGQgbm90IHBhdXNlIGZvciBkaXNhYmxlZCBicmVha3BvaW50LgorLS0gUnVu
bmluZyB0ZXN0IHRlYXJkb3duLgorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogRE9NRGVidWdnZXIu
RXZlbnQuVGltZW91dC5SZW1vdmVCcmVha3BvaW50CitBZGRpbmcgInRpbWVvdXQiIEV2ZW50IEJy
ZWFrcG9pbnQuLi4KK1JlbW92aW5nICJ0aW1lb3V0IiBFdmVudCBCcmVha3BvaW50Li4uCitGaXJp
bmcgInNldFRpbWVvdXQiIG9uIHdpbmRvdy4uLgorUEFTUzogU2hvdWxkIG5vdCBwYXVzZSBmb3Ig
cmVtb3ZlZCBicmVha3BvaW50LgorLS0gUnVubmluZyB0ZXN0IHRlYXJkb3duLgorCistLSBSdW5u
aW5nIHRlc3QgY2FzZTogRE9NRGVidWdnZXIuRXZlbnQuVGltZW91dC5SZW1vdmVEaXNhYmxlZEJy
ZWFrcG9pbnQKK0FkZGluZyAidGltZW91dCIgRXZlbnQgQnJlYWtwb2ludC4uLgorRGlzYWJsaW5n
ICJ0aW1lb3V0IiBFdmVudCBCcmVha3BvaW50Li4uCitSZW1vdmluZyAidGltZW91dCIgRXZlbnQg
QnJlYWtwb2ludC4uLgorRmlyaW5nICJzZXRUaW1lb3V0IiBvbiB3aW5kb3cuLi4KK1BBU1M6IFNo
b3VsZCBub3QgcGF1c2UgZm9yIHJlbW92ZWQgZGlzYWJsZWQgYnJlYWtwb2ludC4KKy0tIFJ1bm5p
bmcgdGVzdCB0ZWFyZG93bi4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Rv
bS1kZWJ1Z2dlci9ldmVudC10aW1lb3V0LWJyZWFrcG9pbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LXRpbWVvdXQtYnJlYWtwb2ludHMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hNDFlY2Q2OWVjYjdkMTM4NGQwNzdiOTUwY2MxMDA1N2FlNDEwMDkxCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC10aW1l
b3V0LWJyZWFrcG9pbnRzLmh0bWwKQEAgLTAsMCArMSwxMDUgQEAKKzwhZG9jdHlwZSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9y
ZXNvdXJjZXMvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2Rl
YnVnZ2VyL3Jlc291cmNlcy9sb2ctYWN0aXZlLXN0YWNrLXRyYWNlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvZXZlbnQtYnJlYWtwb2ludC11dGlsaXRpZXMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gaGFuZGxlV2luZG93X3NldFRpbWVvdXQoKSB7Cisg
ICAgVGVzdFBhZ2UuZGlzcGF0Y2hFdmVudFRvRnJvbnRlbmQoIlRlc3RQYWdlLXNldFRpbWVvdXQi
KTsKK30KKworZnVuY3Rpb24gdHJpZ2dlcl9zZXRUaW1lb3V0KCkgeworICAgIHNldFRpbWVvdXQo
aGFuZGxlV2luZG93X3NldFRpbWVvdXQsIDEwMCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKSB7Cisg
ICAgY29uc3QgZXZlbnROYW1lID0gInNldFRpbWVvdXQiOworCisgICAgbGV0IHN1aXRlID0gSW5z
cGVjdG9yVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJET01EZWJ1Z2dlci5FdmVudC5UaW1lciIpOwor
CisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiBgRE9NRGVidWdnZXIuRXZl
bnQuVGltZW91dC5BZGRCcmVha3BvaW50YCwKKyAgICAgICAgZGVzY3JpcHRpb246ICJDaGVjayB0
aGF0IHRoZSBkZWJ1Z2dlciBwYXVzZXMgZm9yIGVuYWJsZWQgYnJlYWtwb2ludHMuIiwKKyAgICAg
ICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAgICAgICAgICAgIGxldCBwYXVzZWQgPSBmYWxz
ZTsKKworICAgICAgICAgICAgbGV0IGxpc3RlbmVyID0gV0kuZGVidWdnZXJNYW5hZ2VyLnNpbmds
ZUZpcmVFdmVudExpc3RlbmVyKFdJLkRlYnVnZ2VyTWFuYWdlci5FdmVudC5QYXVzZWQsIChldmVu
dCkgPT4geworICAgICAgICAgICAgICAgIHBhdXNlZCA9IHRydWU7CisKKyAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LnBhc3MoIlNob3VsZCBwYXVzZSBiZWZvcmUgZXZlbnQgaGFuZGxlciBp
cyBydW4uIik7CisgICAgICAgICAgICAgICAgbG9nQWN0aXZlU3RhY2tUcmFjZSgpOworCisgICAg
ICAgICAgICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLnJlc3VtZSgpCisgICAgICAgICAgICAgICAg
LmNhdGNoKHJlamVjdCk7CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5zaW5nbGVGaXJlRXZlbnRMaXN0ZW5lcihgVGVzdFBhZ2UtJHtldmVudE5hbWV9YCwgKGV2
ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgaWYgKCFwYXVzZWQpIHsKKyAgICAgICAgICAgICAg
ICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuRGVidWdnZXJN
YW5hZ2VyLkV2ZW50LlBhdXNlZCwgbGlzdGVuZXIpOworCisgICAgICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuZmFpbCgiU2hvdWxkIHBhdXNlIGJlZm9yZSBldmVudCBoYW5kbGVyIGlzIHJ1
bi4iKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICByZXNvbHZlKCk7Cisg
ICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9p
bnQuYWRkQnJlYWtwb2ludChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsVGltZW91dHNCcmVha3Bv
aW50KQorICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYXdh
aXRFdmVudCgid2luZG93IiwgZXZlbnROYW1lKSkKKyAgICAgICAgICAgIC5jYXRjaChyZWplY3Qp
OworICAgICAgICB9LAorICAgICAgICB0ZWFyZG93bjogSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFr
cG9pbnQudGVhcmRvd24sCisgICAgfSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAg
ICAgIG5hbWU6IGBET01EZWJ1Z2dlci5FdmVudC5UaW1lb3V0LkFkZERpc2FibGVkQnJlYWtwb2lu
dGAsCisgICAgICAgIGRlc2NyaXB0aW9uOiAiQ2hlY2sgdGhhdCBkZWJ1Z2dlciBkb2VzIG5vdCBw
YXVzZSBmb3IgZGlzYWJsZWQgYnJlYWtwb2ludHMuIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCBy
ZWplY3QpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmZhaWxP
blBhdXNlKHJlc29sdmUsIHJlamVjdCwgV0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVhc29uLlRp
bWVvdXQsIGV2ZW50TmFtZSwgIlNob3VsZCBub3QgcGF1c2UgZm9yIGRpc2FibGVkIGJyZWFrcG9p
bnQuIik7CisKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmFkZEJy
ZWFrcG9pbnQoV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbFRpbWVvdXRzQnJlYWtwb2ludCkKKyAg
ICAgICAgICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmRpc2FibGVCcmVh
a3BvaW50KQorICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQu
YXdhaXRFdmVudCgid2luZG93IiwgZXZlbnROYW1lKSkKKyAgICAgICAgICAgIC5jYXRjaChyZWpl
Y3QpOworICAgICAgICB9LAorICAgICAgICB0ZWFyZG93bjogSW5zcGVjdG9yVGVzdC5FdmVudEJy
ZWFrcG9pbnQudGVhcmRvd24sCisgICAgfSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7Cisg
ICAgICAgIG5hbWU6IGBET01EZWJ1Z2dlci5FdmVudC5UaW1lb3V0LlJlbW92ZUJyZWFrcG9pbnRg
LAorICAgICAgICBkZXNjcmlwdGlvbjogIkNoZWNrIHRoYXQgZGVidWdnZXIgZG9lcyBub3QgcGF1
c2UgZm9yIHJlbW92ZWQgYnJlYWtwb2ludC4iLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVj
dCkgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuZmFpbE9uUGF1
c2UocmVzb2x2ZSwgcmVqZWN0LCBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uVGltZW91
dCwgZXZlbnROYW1lLCAiU2hvdWxkIG5vdCBwYXVzZSBmb3IgcmVtb3ZlZCBicmVha3BvaW50LiIp
OworCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hZGRCcmVha3Bv
aW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxUaW1lb3V0c0JyZWFrcG9pbnQpCisgICAgICAg
ICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5yZW1vdmVCcmVha3BvaW50
KQorICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYXdhaXRF
dmVudCgid2luZG93IiwgZXZlbnROYW1lKSkKKyAgICAgICAgICAgIC5jYXRjaChyZWplY3QpOwor
ICAgICAgICB9LAorICAgICAgICB0ZWFyZG93bjogSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9p
bnQudGVhcmRvd24sCisgICAgfSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAg
IG5hbWU6IGBET01EZWJ1Z2dlci5FdmVudC5UaW1lb3V0LlJlbW92ZURpc2FibGVkQnJlYWtwb2lu
dGAsCisgICAgICAgIGRlc2NyaXB0aW9uOiAiQ2hlY2sgdGhhdCBhIGRpc2FibGVkIGJyZWFrcG9p
bnQgY2FuIGJlIHJlbW92ZWQuIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmZhaWxPblBhdXNlKHJlc29s
dmUsIHJlamVjdCwgV0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVhc29uLlRpbWVvdXQsIGV2ZW50
TmFtZSwgIlNob3VsZCBub3QgcGF1c2UgZm9yIHJlbW92ZWQgZGlzYWJsZWQgYnJlYWtwb2ludC4i
KTsKKworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYWRkQnJlYWtw
b2ludChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsVGltZW91dHNCcmVha3BvaW50KQorICAgICAg
ICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuZGlzYWJsZUJyZWFrcG9p
bnQpCisgICAgICAgICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5yZW1v
dmVCcmVha3BvaW50KQorICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFr
cG9pbnQuYXdhaXRFdmVudCgid2luZG93IiwgZXZlbnROYW1lKSkKKyAgICAgICAgICAgIC5jYXRj
aChyZWplY3QpOworICAgICAgICB9LAorICAgICAgICB0ZWFyZG93bjogSW5zcGVjdG9yVGVzdC5F
dmVudEJyZWFrcG9pbnQudGVhcmRvd24sCisgICAgfSk7CisKKyAgICBzdWl0ZS5ydW5UZXN0Q2Fz
ZXNBbmRGaW5pc2goKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5U
ZXN0KCkiPgorICAgIDxwPlRlc3RzIGZvciBFdmVudCBUaW1lciBicmVha3BvaW50cy48L3A+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLWRl
YnVnZ2VyL2V2ZW50LXRpbWVyLWJyZWFrcG9pbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtdGltZXItYnJlYWtwb2ludHMtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3OGRjNDEzMjc2MDE1MDQxYzBjNWQw
NWFjOTEzMTIzZjYzMWQyYWJmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtdGltZXIt
YnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsOTEgKzAsMCBAQAot
VGVzdHMgZm9yIEV2ZW50IFRpbWVyIGJyZWFrcG9pbnRzLgotCi0KLT09IFJ1bm5pbmcgdGVzdCBz
dWl0ZTogRE9NRGVidWdnZXIuRXZlbnQuVGltZXIKLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01E
ZWJ1Z2dlci5FdmVudC5UaW1lci5BZGRCcmVha3BvaW50ICJzZXRUaW1lb3V0IgotQWRkaW5nICJz
ZXRUaW1lb3V0IiBFdmVudCBCcmVha3BvaW50Li4uCi1GaXJpbmcgInNldFRpbWVvdXQiIG9uIHdp
bmRvdy4uLgotUEFTUzogU2hvdWxkIHBhdXNlIGJlZm9yZSBldmVudCBoYW5kbGVyIGlzIHJ1bi4K
LUNBTEwgU1RBQ0s6Ci0wOiBbRl0gaGFuZGxlV2luZG93X3NldFRpbWVvdXQKLUFTWU5DIENBTEwg
U1RBQ0s6Ci0xOiAtLS0gc2V0VGltZW91dCAtLS0KLTI6IFtGXSB0cmlnZ2VyX3NldFRpbWVvdXQK
LTM6IFtQXSBHbG9iYWwgQ29kZQotLS0gUnVubmluZyB0ZXN0IHRlYXJkb3duLgotCi0tLSBSdW5u
aW5nIHRlc3QgY2FzZTogRE9NRGVidWdnZXIuRXZlbnQuVGltZXIuQWRkRGlzYWJsZWRCcmVha3Bv
aW50ICJzZXRUaW1lb3V0IgotQWRkaW5nICJzZXRUaW1lb3V0IiBFdmVudCBCcmVha3BvaW50Li4u
Ci1EaXNhYmxpbmcgInNldFRpbWVvdXQiIEV2ZW50IEJyZWFrcG9pbnQuLi4KLUZpcmluZyAic2V0
VGltZW91dCIgb24gd2luZG93Li4uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlIGZvciBkaXNhYmxl
ZCBicmVha3BvaW50LgotLS0gUnVubmluZyB0ZXN0IHRlYXJkb3duLgotCi0tLSBSdW5uaW5nIHRl
c3QgY2FzZTogRE9NRGVidWdnZXIuRXZlbnQuVGltZXIuUmVtb3ZlQnJlYWtwb2ludCAic2V0VGlt
ZW91dCIKLUFkZGluZyAic2V0VGltZW91dCIgRXZlbnQgQnJlYWtwb2ludC4uLgotUmVtb3Zpbmcg
InNldFRpbWVvdXQiIEV2ZW50IEJyZWFrcG9pbnQuLi4KLUZpcmluZyAic2V0VGltZW91dCIgb24g
d2luZG93Li4uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlIGZvciByZW1vdmVkIGJyZWFrcG9pbnQu
Ci0tLSBSdW5uaW5nIHRlc3QgdGVhcmRvd24uCi0KLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01E
ZWJ1Z2dlci5FdmVudC5UaW1lci5SZW1vdmVEaXNhYmxlZEJyZWFrcG9pbnQgInNldFRpbWVvdXQi
Ci1BZGRpbmcgInNldFRpbWVvdXQiIEV2ZW50IEJyZWFrcG9pbnQuLi4KLURpc2FibGluZyAic2V0
VGltZW91dCIgRXZlbnQgQnJlYWtwb2ludC4uLgotUmVtb3ZpbmcgInNldFRpbWVvdXQiIEV2ZW50
IEJyZWFrcG9pbnQuLi4KLUZpcmluZyAic2V0VGltZW91dCIgb24gd2luZG93Li4uCi1QQVNTOiBT
aG91bGQgbm90IHBhdXNlIGZvciByZW1vdmVkIGRpc2FibGVkIGJyZWFrcG9pbnQuCi0tLSBSdW5u
aW5nIHRlc3QgdGVhcmRvd24uCi0KLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01EZWJ1Z2dlci5F
dmVudC5UaW1lci5BZGRCcmVha3BvaW50ICJzZXRJbnRlcnZhbCIKLUFkZGluZyAic2V0SW50ZXJ2
YWwiIEV2ZW50IEJyZWFrcG9pbnQuLi4KLUZpcmluZyAic2V0SW50ZXJ2YWwiIG9uIHdpbmRvdy4u
LgotUEFTUzogU2hvdWxkIHBhdXNlIGJlZm9yZSBldmVudCBoYW5kbGVyIGlzIHJ1bi4KLUNBTEwg
U1RBQ0s6Ci0wOiBbRl0gaGFuZGxlV2luZG93X3NldEludGVydmFsCi1BU1lOQyBDQUxMIFNUQUNL
OgotMTogLS0tIHNldEludGVydmFsIC0tLQotMjogW0ZdIHRyaWdnZXJfc2V0SW50ZXJ2YWwKLTM6
IFtQXSBHbG9iYWwgQ29kZQotLS0gUnVubmluZyB0ZXN0IHRlYXJkb3duLgotCi0tLSBSdW5uaW5n
IHRlc3QgY2FzZTogRE9NRGVidWdnZXIuRXZlbnQuVGltZXIuQWRkRGlzYWJsZWRCcmVha3BvaW50
ICJzZXRJbnRlcnZhbCIKLUFkZGluZyAic2V0SW50ZXJ2YWwiIEV2ZW50IEJyZWFrcG9pbnQuLi4K
LURpc2FibGluZyAic2V0SW50ZXJ2YWwiIEV2ZW50IEJyZWFrcG9pbnQuLi4KLUZpcmluZyAic2V0
SW50ZXJ2YWwiIG9uIHdpbmRvdy4uLgotUEFTUzogU2hvdWxkIG5vdCBwYXVzZSBmb3IgZGlzYWJs
ZWQgYnJlYWtwb2ludC4KLS0tIFJ1bm5pbmcgdGVzdCB0ZWFyZG93bi4KLQotLS0gUnVubmluZyB0
ZXN0IGNhc2U6IERPTURlYnVnZ2VyLkV2ZW50LlRpbWVyLlJlbW92ZUJyZWFrcG9pbnQgInNldElu
dGVydmFsIgotQWRkaW5nICJzZXRJbnRlcnZhbCIgRXZlbnQgQnJlYWtwb2ludC4uLgotUmVtb3Zp
bmcgInNldEludGVydmFsIiBFdmVudCBCcmVha3BvaW50Li4uCi1GaXJpbmcgInNldEludGVydmFs
IiBvbiB3aW5kb3cuLi4KLVBBU1M6IFNob3VsZCBub3QgcGF1c2UgZm9yIHJlbW92ZWQgYnJlYWtw
b2ludC4KLS0tIFJ1bm5pbmcgdGVzdCB0ZWFyZG93bi4KLQotLS0gUnVubmluZyB0ZXN0IGNhc2U6
IERPTURlYnVnZ2VyLkV2ZW50LlRpbWVyLlJlbW92ZURpc2FibGVkQnJlYWtwb2ludCAic2V0SW50
ZXJ2YWwiCi1BZGRpbmcgInNldEludGVydmFsIiBFdmVudCBCcmVha3BvaW50Li4uCi1EaXNhYmxp
bmcgInNldEludGVydmFsIiBFdmVudCBCcmVha3BvaW50Li4uCi1SZW1vdmluZyAic2V0SW50ZXJ2
YWwiIEV2ZW50IEJyZWFrcG9pbnQuLi4KLUZpcmluZyAic2V0SW50ZXJ2YWwiIG9uIHdpbmRvdy4u
LgotUEFTUzogU2hvdWxkIG5vdCBwYXVzZSBmb3IgcmVtb3ZlZCBkaXNhYmxlZCBicmVha3BvaW50
LgotLS0gUnVubmluZyB0ZXN0IHRlYXJkb3duLgotCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogRE9N
RGVidWdnZXIuRXZlbnQuTGlzdGVuZXIuUmVwZWF0RmlyZUJyZWFrcG9pbnQKLUFkZGluZyAic2V0
SW50ZXJ2YWwiIEV2ZW50IEJyZWFrcG9pbnQuLi4KLUZpcmluZyAic2V0SW50ZXJ2YWwiIG9uIHdp
bmRvdy4uLgotUEFTUzogU2hvdWxkIHBhdXNlIGJlZm9yZSBldmVudCBoYW5kbGVyIGlzIHJ1bi4K
LUNBTEwgU1RBQ0s6Ci0wOiBbRl0gaGFuZGxlUmVwZWF0Ci1BU1lOQyBDQUxMIFNUQUNLOgotMTog
LS0tIHNldEludGVydmFsIC0tLQotMjogW0ZdIHJlcGVhdFNldEludGVydmFsCi0zOiBbUF0gR2xv
YmFsIENvZGUKLVBBU1M6IFNob3VsZCBwYXVzZSBiZWZvcmUgZXZlbnQgaGFuZGxlciBpcyBydW4u
Ci1DQUxMIFNUQUNLOgotMDogW0ZdIGhhbmRsZVJlcGVhdAotQVNZTkMgQ0FMTCBTVEFDSzoKLTE6
IC0tLSBzZXRJbnRlcnZhbCAtLS0KLTI6IFtGXSByZXBlYXRTZXRJbnRlcnZhbAotMzogW1BdIEds
b2JhbCBDb2RlCi0tLSBSdW5uaW5nIHRlc3QgdGVhcmRvd24uCi0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtdGltZXItYnJlYWtwb2ludHMuaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtdGltZXItYnJlYWtw
b2ludHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWMzZjZjZmU2NTFhYmVh
MmZiMjc3ZDY4NDQ1ZWU2Mzg1ZWM2YzA5ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50
LXRpbWVyLWJyZWFrcG9pbnRzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNjUgKzAsMCBAQAot
PCFkb2N0eXBlIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vZGVidWdnZXIvcmVzb3VyY2VzL2xvZy1hY3RpdmUtc3RhY2stdHJhY2Uu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9ldmVudC1icmVha3BvaW50LXV0
aWxpdGllcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1sZXQgaW50ZXJ2YWxJRCA9IE5hTjsK
LQotZnVuY3Rpb24gaGFuZGxlV2luZG93X3NldFRpbWVvdXQoKSB7Ci0gICAgVGVzdFBhZ2UuZGlz
cGF0Y2hFdmVudFRvRnJvbnRlbmQoIlRlc3RQYWdlLXNldFRpbWVvdXQiKTsKLX0KLQotZnVuY3Rp
b24gaGFuZGxlV2luZG93X3NldEludGVydmFsKCkgewotICAgIFRlc3RQYWdlLmRpc3BhdGNoRXZl
bnRUb0Zyb250ZW5kKCJUZXN0UGFnZS1zZXRJbnRlcnZhbCIpOwotCi0gICAgcmVwZWF0Q2xlYXJJ
bnRlcnZhbCgpOwotfQotCi1mdW5jdGlvbiBoYW5kbGVSZXBlYXQoKSB7Ci19Ci0KLWZ1bmN0aW9u
IHRyaWdnZXJfc2V0VGltZW91dCgpIHsKLSAgICBzZXRUaW1lb3V0KGhhbmRsZVdpbmRvd19zZXRU
aW1lb3V0LCAxMDApOwotfQotCi1mdW5jdGlvbiB0cmlnZ2VyX3NldEludGVydmFsKCkgewotICAg
IGludGVydmFsSUQgPSBzZXRJbnRlcnZhbChoYW5kbGVXaW5kb3dfc2V0SW50ZXJ2YWwsIDEwMCk7
Ci19Ci0KLWZ1bmN0aW9uIHJlcGVhdFNldEludGVydmFsKCkgewotICAgIGludGVydmFsSUQgPSBz
ZXRJbnRlcnZhbChoYW5kbGVSZXBlYXQsIDEwMCk7Ci19Ci0KLWZ1bmN0aW9uIHJlcGVhdENsZWFy
SW50ZXJ2YWwoKSB7Ci0gICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbElEKTsKLSAgICBpbnRlcnZh
bElEID0gTmFOOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkgewotICAgIGxldCBzdWl0ZSA9IEluc3Bl
Y3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiRE9NRGVidWdnZXIuRXZlbnQuVGltZXIiKTsKLQot
ICAgIGZ1bmN0aW9uIGFkZFRlc3RDYXNlc0ZvckV2ZW50TmFtZShldmVudE5hbWUpIHsKLSAgICAg
ICAgc3VpdGUuYWRkVGVzdENhc2UoewotICAgICAgICAgICAgbmFtZTogYERPTURlYnVnZ2VyLkV2
ZW50LlRpbWVyLkFkZEJyZWFrcG9pbnQgIiR7ZXZlbnROYW1lfSJgLAotICAgICAgICAgICAgZGVz
Y3JpcHRpb246ICJDaGVjayB0aGF0IHRoZSBkZWJ1Z2dlciBwYXVzZXMgZm9yIGVuYWJsZWQgYnJl
YWtwb2ludHMuIiwKLSAgICAgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAg
ICAgICAgICAgbGV0IHBhdXNlZCA9IGZhbHNlOwotCi0gICAgICAgICAgICAgICAgbGV0IGxpc3Rl
bmVyID0gV0kuZGVidWdnZXJNYW5hZ2VyLnNpbmdsZUZpcmVFdmVudExpc3RlbmVyKFdJLkRlYnVn
Z2VyTWFuYWdlci5FdmVudC5QYXVzZWQsIChldmVudCkgPT4gewotICAgICAgICAgICAgICAgICAg
ICBwYXVzZWQgPSB0cnVlOwotCi0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QucGFz
cygiU2hvdWxkIHBhdXNlIGJlZm9yZSBldmVudCBoYW5kbGVyIGlzIHJ1bi4iKTsKLSAgICAgICAg
ICAgICAgICAgICAgbG9nQWN0aXZlU3RhY2tUcmFjZSgpOwotCi0gICAgICAgICAgICAgICAgICAg
IFdJLmRlYnVnZ2VyTWFuYWdlci5yZXN1bWUoKQotICAgICAgICAgICAgICAgICAgICAuY2F0Y2go
cmVqZWN0KTsKLSAgICAgICAgICAgICAgICB9KTsKLQotICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3Quc2luZ2xlRmlyZUV2ZW50TGlzdGVuZXIoYFRlc3RQYWdlLSR7ZXZlbnROYW1lfWAsIChl
dmVudCkgPT4gewotICAgICAgICAgICAgICAgICAgICBpZiAoIXBhdXNlZCkgewotICAgICAgICAg
ICAgICAgICAgICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0ku
RGVidWdnZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCwgbGlzdGVuZXIpOwotCi0gICAgICAgICAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmZhaWwoIlNob3VsZCBwYXVzZSBiZWZvcmUgZXZlbnQg
aGFuZGxlciBpcyBydW4uIik7Ci0gICAgICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAg
ICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0KLSAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hZGRCcmVha3BvaW50KFdJLkV2ZW50QnJl
YWtwb2ludC5UeXBlLlRpbWVyLCBldmVudE5hbWUpCi0gICAgICAgICAgICAgICAgLnRoZW4oSW5z
cGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYXdhaXRFdmVudCgid2luZG93IiwgZXZlbnROYW1l
KSkKLSAgICAgICAgICAgICAgICAuY2F0Y2gocmVqZWN0KTsKLSAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICB0ZWFyZG93bjogSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQudGVhcmRvd24s
Ci0gICAgICAgIH0pOwotCi0gICAgICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKLSAgICAgICAgICAg
IG5hbWU6IGBET01EZWJ1Z2dlci5FdmVudC5UaW1lci5BZGREaXNhYmxlZEJyZWFrcG9pbnQgIiR7
ZXZlbnROYW1lfSJgLAotICAgICAgICAgICAgZGVzY3JpcHRpb246ICJDaGVjayB0aGF0IGRlYnVn
Z2VyIGRvZXMgbm90IHBhdXNlIGZvciBkaXNhYmxlZCBicmVha3BvaW50cy4iLAotICAgICAgICAg
ICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LkV2ZW50QnJlYWtwb2ludC5mYWlsT25QYXVzZShyZXNvbHZlLCByZWplY3QsIFdJLkRlYnVnZ2Vy
TWFuYWdlci5QYXVzZVJlYXNvbi5UaW1lciwgZXZlbnROYW1lLCAiU2hvdWxkIG5vdCBwYXVzZSBm
b3IgZGlzYWJsZWQgYnJlYWtwb2ludC4iKTsKLQotICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuRXZlbnRCcmVha3BvaW50LmFkZEJyZWFrcG9pbnQoV0kuRXZlbnRCcmVha3BvaW50LlR5cGUu
VGltZXIsIGV2ZW50TmFtZSkKLSAgICAgICAgICAgICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2
ZW50QnJlYWtwb2ludC5kaXNhYmxlQnJlYWtwb2ludCkKLSAgICAgICAgICAgICAgICAudGhlbihJ
bnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hd2FpdEV2ZW50KCJ3aW5kb3ciLCBldmVudE5h
bWUpKQotICAgICAgICAgICAgICAgIC5jYXRjaChyZWplY3QpOwotICAgICAgICAgICAgfSwKLSAg
ICAgICAgICAgIHRlYXJkb3duOiBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC50ZWFyZG93
biwKLSAgICAgICAgfSk7Ci0KLSAgICAgICAgc3VpdGUuYWRkVGVzdENhc2UoewotICAgICAgICAg
ICAgbmFtZTogYERPTURlYnVnZ2VyLkV2ZW50LlRpbWVyLlJlbW92ZUJyZWFrcG9pbnQgIiR7ZXZl
bnROYW1lfSJgLAotICAgICAgICAgICAgZGVzY3JpcHRpb246ICJDaGVjayB0aGF0IGRlYnVnZ2Vy
IGRvZXMgbm90IHBhdXNlIGZvciByZW1vdmVkIGJyZWFrcG9pbnQuIiwKLSAgICAgICAgICAgIHRl
c3QocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVu
dEJyZWFrcG9pbnQuZmFpbE9uUGF1c2UocmVzb2x2ZSwgcmVqZWN0LCBXSS5EZWJ1Z2dlck1hbmFn
ZXIuUGF1c2VSZWFzb24uVGltZXIsIGV2ZW50TmFtZSwgIlNob3VsZCBub3QgcGF1c2UgZm9yIHJl
bW92ZWQgYnJlYWtwb2ludC4iKTsKLQotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuRXZl
bnRCcmVha3BvaW50LmFkZEJyZWFrcG9pbnQoV0kuRXZlbnRCcmVha3BvaW50LlR5cGUuVGltZXIs
IGV2ZW50TmFtZSkKLSAgICAgICAgICAgICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2ZW50QnJl
YWtwb2ludC5yZW1vdmVCcmVha3BvaW50KQotICAgICAgICAgICAgICAgIC50aGVuKEluc3BlY3Rv
clRlc3QuRXZlbnRCcmVha3BvaW50LmF3YWl0RXZlbnQoIndpbmRvdyIsIGV2ZW50TmFtZSkpCi0g
ICAgICAgICAgICAgICAgLmNhdGNoKHJlamVjdCk7Ci0gICAgICAgICAgICB9LAotICAgICAgICAg
ICAgdGVhcmRvd246IEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LnRlYXJkb3duLAotICAg
ICAgICB9KTsKLQotICAgICAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7Ci0gICAgICAgICAgICBuYW1l
OiBgRE9NRGVidWdnZXIuRXZlbnQuVGltZXIuUmVtb3ZlRGlzYWJsZWRCcmVha3BvaW50ICIke2V2
ZW50TmFtZX0iYCwKLSAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAiQ2hlY2sgdGhhdCBhIGRpc2Fi
bGVkIGJyZWFrcG9pbnQgY2FuIGJlIHJlbW92ZWQuIiwKLSAgICAgICAgICAgIHRlc3QocmVzb2x2
ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9p
bnQuZmFpbE9uUGF1c2UocmVzb2x2ZSwgcmVqZWN0LCBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VS
ZWFzb24uVGltZXIsIGV2ZW50TmFtZSwgIlNob3VsZCBub3QgcGF1c2UgZm9yIHJlbW92ZWQgZGlz
YWJsZWQgYnJlYWtwb2ludC4iKTsKLQotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuRXZl
bnRCcmVha3BvaW50LmFkZEJyZWFrcG9pbnQoV0kuRXZlbnRCcmVha3BvaW50LlR5cGUuVGltZXIs
IGV2ZW50TmFtZSkKLSAgICAgICAgICAgICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2ZW50QnJl
YWtwb2ludC5kaXNhYmxlQnJlYWtwb2ludCkKLSAgICAgICAgICAgICAgICAudGhlbihJbnNwZWN0
b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5yZW1vdmVCcmVha3BvaW50KQotICAgICAgICAgICAgICAg
IC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmF3YWl0RXZlbnQoIndpbmRvdyIs
IGV2ZW50TmFtZSkpCi0gICAgICAgICAgICAgICAgLmNhdGNoKHJlamVjdCk7Ci0gICAgICAgICAg
ICB9LAotICAgICAgICAgICAgdGVhcmRvd246IEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50
LnRlYXJkb3duLAotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBhZGRUZXN0Q2FzZXNGb3JFdmVu
dE5hbWUoInNldFRpbWVvdXQiKTsKLSAgICBhZGRUZXN0Q2FzZXNGb3JFdmVudE5hbWUoInNldElu
dGVydmFsIik7Ci0KLSAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7Ci0gICAgICAgIG5hbWU6IGBET01E
ZWJ1Z2dlci5FdmVudC5MaXN0ZW5lci5SZXBlYXRGaXJlQnJlYWtwb2ludGAsCi0gICAgICAgIGRl
c2NyaXB0aW9uOiAiQ2hlY2sgdGhhdCBhIHNpbmdsZSBicmVha3BvaW50IHBhdXNlcyBtdWx0aXBs
ZSB0aW1lcyBmb3IgdGhlIHNhbWUgaW50ZXJ2YWwuIiwKLSAgICAgICAgdGVzdChyZXNvbHZlLCBy
ZWplY3QpIHsKLSAgICAgICAgICAgIGxldCBwYXVzZUNvdW50ID0gMDsKLQotICAgICAgICAgICAg
bGV0IGxpc3RlbmVyID0gV0kuZGVidWdnZXJNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuRGVi
dWdnZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCwgKGV2ZW50KSA9PiB7Ci0gICAgICAgICAgICAgICAg
KytwYXVzZUNvdW50OwotCi0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5wYXNzKCJTaG91
bGQgcGF1c2UgYmVmb3JlIGV2ZW50IGhhbmRsZXIgaXMgcnVuLiIpOwotICAgICAgICAgICAgICAg
IGxvZ0FjdGl2ZVN0YWNrVHJhY2UoKTsKLQotICAgICAgICAgICAgICAgIFdJLmRlYnVnZ2VyTWFu
YWdlci5yZXN1bWUoKQotICAgICAgICAgICAgICAgIC5jYXRjaChyZWplY3QpOwotCi0gICAgICAg
ICAgICAgICAgaWYgKHBhdXNlQ291bnQgPj0gMikgewotICAgICAgICAgICAgICAgICAgICBXSS5k
ZWJ1Z2dlck1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5EZWJ1Z2dlck1hbmFnZXIuRXZl
bnQuUGF1c2VkLCBsaXN0ZW5lcik7Ci0KLSAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5ldmFsdWF0ZUluUGFnZShgcmVwZWF0Q2xlYXJJbnRlcnZhbCgpYCkKLSAgICAgICAgICAgICAg
ICAgICAgLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIH0pOwotCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hZGRC
cmVha3BvaW50KFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLlRpbWVyLCAic2V0SW50ZXJ2YWwiKQot
ICAgICAgICAgICAgLnRoZW4oKCkgPT4gewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
bG9nKCJGaXJpbmcgXCJzZXRJbnRlcnZhbFwiIG9uIHdpbmRvdy4uLiIpOwotICAgICAgICAgICAg
ICAgIHJldHVybiBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGByZXBlYXRTZXRJbnRlcnZh
bCgpYCk7Ci0gICAgICAgICAgICB9KQotICAgICAgICAgICAgLmNhdGNoKHJlamVjdCk7Ci0gICAg
ICAgIH0sCi0gICAgICAgIHRlYXJkb3duOiBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC50
ZWFyZG93biwKLSAgICB9KTsKLQotICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOwot
fQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0gICAgPHA+
VGVzdHMgZm9yIEV2ZW50IFRpbWVyIGJyZWFrcG9pbnRzLjwvcD4KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvcmVzb3VyY2Vz
L2V2ZW50LWJyZWFrcG9pbnQtdXRpbGl0aWVzLmpzIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Rv
bS1kZWJ1Z2dlci9yZXNvdXJjZXMvZXZlbnQtYnJlYWtwb2ludC11dGlsaXRpZXMuanMKaW5kZXgg
OWU4NGQ0NzY4MTQzMjk2MzdjNzQ4YmZhZmU4ZTk1ODc5NjQwY2IwOC4uMTliMjVkMWFkZDIwYjJm
NWUwYTFiMmY3ZDgzMzI4ZmZiYmUxNmRjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2RvbS1kZWJ1Z2dlci9yZXNvdXJjZXMvZXZlbnQtYnJlYWtwb2ludC11dGlsaXRpZXMuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9yZXNvdXJjZXMvZXZlbnQt
YnJlYWtwb2ludC11dGlsaXRpZXMuanMKQEAgLTIsOCArMiwxMiBAQCBUZXN0UGFnZS5yZWdpc3Rl
ckluaXRpYWxpemVyKCgpID0+IHsKICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludCA9
IHt9OwogCiAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQudGVhcmRvd24gPSBmdW5j
dGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgbGV0IGJyZWFrcG9pbnRzID0gV0kuZG9t
RGVidWdnZXJNYW5hZ2VyLmV2ZW50QnJlYWtwb2ludHM7Ci0gICAgICAgIGZvciAobGV0IGJyZWFr
cG9pbnQgb2YgYnJlYWtwb2ludHMpCisgICAgICAgIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5yZW1v
dmVFdmVudEJyZWFrcG9pbnQoV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEFuaW1hdGlvbkZyYW1l
c0JyZWFrcG9pbnQpOworICAgICAgICBXSS5kb21EZWJ1Z2dlck1hbmFnZXIucmVtb3ZlRXZlbnRC
cmVha3BvaW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxJbnRlcnZhbHNCcmVha3BvaW50KTsK
KyAgICAgICAgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLnJlbW92ZUV2ZW50QnJlYWtwb2ludChXSS5k
b21EZWJ1Z2dlck1hbmFnZXIuYWxsTGlzdGVuZXJzQnJlYWtwb2ludCk7CisgICAgICAgIFdJLmRv
bURlYnVnZ2VyTWFuYWdlci5yZW1vdmVFdmVudEJyZWFrcG9pbnQoV0kuZG9tRGVidWdnZXJNYW5h
Z2VyLmFsbFRpbWVvdXRzQnJlYWtwb2ludCk7CisKKyAgICAgICAgZm9yIChsZXQgYnJlYWtwb2lu
dCBvZiBXSS5kb21EZWJ1Z2dlck1hbmFnZXIubGlzdGVuZXJCcmVha3BvaW50cykKICAgICAgICAg
ICAgIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5yZW1vdmVFdmVudEJyZWFrcG9pbnQoYnJlYWtwb2lu
dCk7CiAKICAgICAgICAgcmVzb2x2ZSgpOwpAQCAtMTcsNyArMjEsOCBAQCBUZXN0UGFnZS5yZWdp
c3RlckluaXRpYWxpemVyKCgpID0+IHsKIAogICAgICAgICAgICAgbGV0IHRhcmdldERhdGEgPSBX
SS5kZWJ1Z2dlck1hbmFnZXIuZGF0YUZvclRhcmdldChXSS5kZWJ1Z2dlck1hbmFnZXIuYWN0aXZl
Q2FsbEZyYW1lLnRhcmdldCk7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0YXJn
ZXREYXRhLnBhdXNlUmVhc29uID09PSBwYXVzZVJlYXNvbiwgYFBhdXNlIHJlYXNvbiBzaG91bGQg
YmUgIiR7cGF1c2VSZWFzb259Ii5gKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0
KHRhcmdldERhdGEucGF1c2VEYXRhLmV2ZW50TmFtZSA9PT0gZXZlbnROYW1lLCBgUGF1c2UgZGF0
YSBldmVudE5hbWUgc2hvdWxkIGJlICIke2V2ZW50TmFtZX0iLmApOworICAgICAgICAgICAgaWYg
KHRhcmdldERhdGEucGF1c2VEYXRhLmV2ZW50TmFtZSkKKyAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmFzc2VydCh0YXJnZXREYXRhLnBhdXNlRGF0YS5ldmVudE5hbWUgPT09IGV2ZW50TmFt
ZSwgYFBhdXNlIGRhdGEgZXZlbnROYW1lIHNob3VsZCBiZSAiJHtldmVudE5hbWV9Ii5gKTsKIAog
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5mYWlsKG1lc3NhZ2UpOwogICAgICAgICAgICAgbG9n
QWN0aXZlU3RhY2tUcmFjZSgpOwpAQCAtMzcsMTYgKzQyLDE5IEBAIFRlc3RQYWdlLnJlZ2lzdGVy
SW5pdGlhbGl6ZXIoKCkgPT4gewogICAgICAgICB9KTsKICAgICB9OwogCi0gICAgSW5zcGVjdG9y
VGVzdC5FdmVudEJyZWFrcG9pbnQuYWRkQnJlYWtwb2ludCA9IGZ1bmN0aW9uKHR5cGUsIGV2ZW50
TmFtZSkgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZyhgQWRkaW5nICIke2V2ZW50TmFtZX0i
IEV2ZW50IEJyZWFrcG9pbnQuLi5gKTsKKyAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2lu
dC5jcmVhdGVCcmVha3BvaW50ID0gZnVuY3Rpb24odHlwZSwgZXZlbnROYW1lKSB7CisgICAgICAg
IEluc3BlY3RvclRlc3QubG9nKGBDcmVhdGluZyAiJHtldmVudE5hbWV9IiBFdmVudCBCcmVha3Bv
aW50Li4uYCk7CisgICAgICAgIHJldHVybiBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5h
ZGRCcmVha3BvaW50KG5ldyBXSS5FdmVudEJyZWFrcG9pbnQodHlwZSwge2V2ZW50TmFtZX0pKTsK
KyAgICB9OwogCisgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYWRkQnJlYWtwb2lu
dCA9IGZ1bmN0aW9uKGJyZWFrcG9pbnQpIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coYEFk
ZGluZyAiJHticmVha3BvaW50LnR5cGUgKyAoYnJlYWtwb2ludC5ldmVudE5hbWUgPyAiOiIgKyBi
cmVha3BvaW50LmV2ZW50TmFtZSA6ICIiKX0iIEV2ZW50IEJyZWFrcG9pbnQuLi5gKTsKKworICAg
ICAgICBicmVha3BvaW50LmRpc2FibGVkID0gZmFsc2U7CiAgICAgICAgIHJldHVybiBuZXcgUHJv
bWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7Ci0gICAgICAgICAgICBsZXQgYnJlYWtwb2ludCA9
IG5ldyBXSS5FdmVudEJyZWFrcG9pbnQodHlwZSwgZXZlbnROYW1lKTsKLQogICAgICAgICAgICAg
V0kuZG9tRGVidWdnZXJNYW5hZ2VyLmF3YWl0RXZlbnQoV0kuRE9NRGVidWdnZXJNYW5hZ2VyLkV2
ZW50LkV2ZW50QnJlYWtwb2ludEFkZGVkKQogICAgICAgICAgICAgLnRoZW4oKGV2ZW50KSA9PiB7
Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoZXZlbnQuZGF0YS5icmVha3Bv
aW50LnR5cGUgPT09IHR5cGUsIGBCcmVha3BvaW50IHNob3VsZCBiZSBmb3IgZXhwZWN0ZWQgdHlw
ZSAiJHt0eXBlfSIuYCk7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoZXZl
bnQuZGF0YS5icmVha3BvaW50LmV2ZW50TmFtZSA9PT0gZXZlbnROYW1lLCBgQnJlYWtwb2ludCBz
aG91bGQgYmUgZm9yIGV4cGVjdGVkIGV2ZW50IG5hbWUgIiR7ZXZlbnROYW1lfSIuYCk7CisgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoZXZlbnQuZGF0YS5icmVha3BvaW50ID09
PSBicmVha3BvaW50LCAiQWRkZWQgQnJlYWtwb2ludCBzaG91bGQgYmUgZXhwZWN0ZWQgb2JqZWN0
LiIpOwogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCFldmVudC5kYXRhLmJy
ZWFrcG9pbnQuZGlzYWJsZWQsICJCcmVha3BvaW50IHNob3VsZCBub3QgYmUgZGlzYWJsZWQgaW5p
dGlhbGx5LiIpOwogICAgICAgICAgICAgICAgIHJlc29sdmUoYnJlYWtwb2ludCk7CiAgICAgICAg
ICAgICB9KTsKQEAgLTU2LDEzICs2NCwxMyBAQCBUZXN0UGFnZS5yZWdpc3RlckluaXRpYWxpemVy
KCgpID0+IHsKICAgICB9OwogCiAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQucmVt
b3ZlQnJlYWtwb2ludCA9IGZ1bmN0aW9uKGJyZWFrcG9pbnQpIHsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5sb2coYFJlbW92aW5nICIke2JyZWFrcG9pbnQuZXZlbnROYW1lfSIgRXZlbnQgQnJlYWtw
b2ludC4uLmApOworICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZyhgUmVtb3ZpbmcgIiR7YnJlYWtw
b2ludC50eXBlICsgKGJyZWFrcG9pbnQuZXZlbnROYW1lID8gIjoiICsgYnJlYWtwb2ludC5ldmVu
dE5hbWUgOiAiIil9IiBFdmVudCBCcmVha3BvaW50Li4uYCk7CiAKICAgICAgICAgcmV0dXJuIG5l
dyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKICAgICAgICAgICAgIFdJLmRvbURlYnVn
Z2VyTWFuYWdlci5hd2FpdEV2ZW50KFdJLkRPTURlYnVnZ2VyTWFuYWdlci5FdmVudC5FdmVudEJy
ZWFrcG9pbnRSZW1vdmVkKQogICAgICAgICAgICAgLnRoZW4oKGV2ZW50KSA9PiB7CiAgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoZXZlbnQuZGF0YS5icmVha3BvaW50ID09PSBi
cmVha3BvaW50LCAiUmVtb3ZlZCBCcmVha3BvaW50IHNob3VsZCBiZSBleHBlY3RlZCBvYmplY3Qu
Iik7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoIVdJLmRvbURlYnVnZ2Vy
TWFuYWdlci5ldmVudEJyZWFrcG9pbnRzLmluY2x1ZGVzKGJyZWFrcG9pbnQpLCAiQnJlYWtwb2lu
dCBzaG91bGQgbm90IGJlIGluIHRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzLiIpOworICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCFXSS5kb21EZWJ1Z2dlck1hbmFnZXIubGlzdGVu
ZXJCcmVha3BvaW50cy5pbmNsdWRlcyhicmVha3BvaW50KSwgIkJyZWFrcG9pbnQgc2hvdWxkIG5v
dCBiZSBpbiB0aGUgbGlzdCBvZiBicmVha3BvaW50cy4iKTsKICAgICAgICAgICAgICAgICByZXNv
bHZlKGJyZWFrcG9pbnQpOwogICAgICAgICAgICAgfSk7CiAKQEAgLTcxLDcgKzc5LDcgQEAgVGVz
dFBhZ2UucmVnaXN0ZXJJbml0aWFsaXplcigoKSA9PiB7CiAgICAgfTsKIAogICAgIEluc3BlY3Rv
clRlc3QuRXZlbnRCcmVha3BvaW50LmRpc2FibGVCcmVha3BvaW50ID0gZnVuY3Rpb24oYnJlYWtw
b2ludCkgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZyhgRGlzYWJsaW5nICIke2JyZWFrcG9p
bnQuZXZlbnROYW1lfSIgRXZlbnQgQnJlYWtwb2ludC4uLmApOworICAgICAgICBJbnNwZWN0b3JU
ZXN0LmxvZyhgRGlzYWJsaW5nICIke2JyZWFrcG9pbnQudHlwZSArIChicmVha3BvaW50LmV2ZW50
TmFtZSA/ICI6IiArIGJyZWFrcG9pbnQuZXZlbnROYW1lIDogIiIpfSIgRXZlbnQgQnJlYWtwb2lu
dC4uLmApOwogCiAgICAgICAgIGJyZWFrcG9pbnQuZGlzYWJsZWQgPSB0cnVlOwogICAgICAgICBy
ZXR1cm4gYnJlYWtwb2ludDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20v
YnJlYWtwb2ludC1mb3ItZXZlbnQtbGlzdGVuZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2RvbS9icmVha3BvaW50LWZvci1ldmVudC1saXN0ZW5lci1leHBlY3RlZC50eHQK
aW5kZXggNGM1NzQ2YjhmZDAyMzYzMzcxOGVkOGNiMzBkZmJiNTQ0OTY3MmU5Ny4uZGUyYzhkMDll
NjRjNjdmMzA2MWRiOTc1NjRiMzM5YmNmYzI2MmViMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2RvbS9icmVha3BvaW50LWZvci1ldmVudC1saXN0ZW5lci1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9icmVha3BvaW50LWZvci1ldmVudC1saXN0
ZW5lci1leHBlY3RlZC50eHQKQEAgLTksNyArOSw3IEBAIENsaWNraW5nIGJ1dHRvbjIuLi4KIFBB
U1M6IFNob3VsZCBub3QgcGF1c2UgYmVmb3JlIGJ1dHRvbjIgZXZlbnQgaGFuZGxlciBpcyBydW4u
CiBDbGlja2luZyBidXR0b24xLi4uCiBQQVNTOiBTaG91bGQgcGF1c2UgYmVmb3JlIGJ1dHRvbjEg
ZXZlbnQgaGFuZGxlciBpcyBydW4uCi1QQVNTOiBQYXVzZSByZWFzb24gc2hvdWxkIGJlIEV2ZW50
TGlzdGVuZXIuCitQQVNTOiBQYXVzZSByZWFzb24gc2hvdWxkIGJlIExpc3RlbmVyLgogUEFTUzog
UGF1c2UgZGF0YSBldmVudE5hbWUgc2hvdWxkIGJlICJjbGljayIuCiAKIC0tIFJ1bm5pbmcgdGVz
dCBjYXNlOiBET00ucmVtb3ZlQnJlYWtwb2ludEZvckV2ZW50TGlzdGVuZXIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vYnJlYWtwb2ludC1mb3ItZXZlbnQtbGlzdGVuZXIu
aHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vYnJlYWtwb2ludC1mb3ItZXZlbnQtbGlz
dGVuZXIuaHRtbAppbmRleCA4NjJjYTUzMTE5MjE1YmIwNzY5Y2Q1ZDE4MmIwMWFkY2ZhNWU5NjQ0
Li4zMjQ4MTExMzI2NDk1NDNkYThjYmI3MTcyYTk1Zjg1MjkzMjljYzI1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL2JyZWFrcG9pbnQtZm9yLWV2ZW50LWxpc3RlbmVyLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9icmVha3BvaW50LWZvci1ldmVudC1s
aXN0ZW5lci5odG1sCkBAIC00Niw3ICs0Niw3IEBAIGZ1bmN0aW9uIHRlc3QoKSB7CiAgICAgICAg
ICAgICAgICAgcGF1c2VkID0gdHJ1ZTsKIAogICAgICAgICAgICAgICAgIGxldCB0YXJnZXREYXRh
ID0gV0kuZGVidWdnZXJNYW5hZ2VyLmRhdGFGb3JUYXJnZXQoV0kuZGVidWdnZXJNYW5hZ2VyLmFj
dGl2ZUNhbGxGcmFtZS50YXJnZXQpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhw
ZWN0RXF1YWwodGFyZ2V0RGF0YS5wYXVzZVJlYXNvbiwgV0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNl
UmVhc29uLkV2ZW50TGlzdGVuZXIsIGBQYXVzZSByZWFzb24gc2hvdWxkIGJlIEV2ZW50TGlzdGVu
ZXIuYCk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbCh0YXJnZXRE
YXRhLnBhdXNlUmVhc29uLCBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uTGlzdGVuZXIs
IGBQYXVzZSByZWFzb24gc2hvdWxkIGJlIExpc3RlbmVyLmApOwogICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuZXhwZWN0RXF1YWwodGFyZ2V0RGF0YS5wYXVzZURhdGEuZXZlbnROYW1lLCAi
Y2xpY2siLCBgUGF1c2UgZGF0YSBldmVudE5hbWUgc2hvdWxkIGJlICJjbGljayIuYCk7CiAKICAg
ICAgICAgICAgICAgICBhd2FpdEdldENsaWNrRXZlbnRMaXN0ZW5lcihidXR0b24xTm9kZS5pZCkK
QEAgLTEwOCw3ICsxMDgsNyBAQCBmdW5jdGlvbiB0ZXN0KCkgewogICAgICAgICAgICAgICAgIHBh
dXNlZCA9IHRydWU7CiAKICAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0RGF0YSA9IFdJLmRlYnVn
Z2VyTWFuYWdlci5kYXRhRm9yVGFyZ2V0KFdJLmRlYnVnZ2VyTWFuYWdlci5hY3RpdmVDYWxsRnJh
bWUudGFyZ2V0KTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0YXJnZXRE
YXRhLnBhdXNlUmVhc29uLCBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uRXZlbnRMaXN0
ZW5lciwgYFBhdXNlIHJlYXNvbiBzaG91bGQgYmUgRXZlbnRMaXN0ZW5lci5gKTsKKyAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCh0YXJnZXREYXRhLnBhdXNlUmVhc29uLCBXSS5E
ZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uTGlzdGVuZXIsIGBQYXVzZSByZWFzb24gc2hvdWxk
IGJlIExpc3RlbmVyLmApOwogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHRh
cmdldERhdGEucGF1c2VEYXRhLmV2ZW50TmFtZSwgImNsaWNrIiwgYFBhdXNlIGRhdGEgZXZlbnRO
YW1lIHNob3VsZCBiZSAiY2xpY2siLmApOwogCiAgICAgICAgICAgICAgICAgYXdhaXRHZXRDbGlj
a0V2ZW50TGlzdGVuZXIoYnV0dG9uMU5vZGUuaWQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375487</attachid>
            <date>2019-08-03 10:54:34 -0700</date>
            <delta_ts>2019-08-03 12:00:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200285-20190803105433.patch</filename>
            <type>text/plain</type>
            <size>165984</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGFhZjE2NWEyNTA2ZTA5NGMwNTYwNzQ3NGRhZWM0
YmVlM2M2MWE3ODMuLjQ0ZmFjNGYyODY3ZGQwMjg3NTUxMjUyMDVhODE5MTczYTQ4YTQ1MmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE5LTA4LTAzICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBE
T006IGFkZCBhIHNwZWNpYWwgYnJlYWtwb2ludCBmb3IgIkFsbCBFdmVudHMiCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDAyODUKKworICAgICAgICBS
ZXZpZXdlZCBieSBKb3NlcGggUGVjb3Jhcm8uCisKKyAgICAgICAgU2ltaWxhciB0byB0aGUgZXhp
c3RpbmcgIkFsbCBSZXF1ZXN0cyIgYnJlYWtwb2ludCwgdGhlcmUgc2hvdWxkIGJlIGEgd2F5IHRv
IHNldCBhIGJyZWFrcG9pbnQKKyAgICAgICAgdGhhdCB3b3VsZCBwYXVzZSBmb3IgYW55IERPTSBl
dmVudCwgcmVnYXJkbGVzcyBvZiB0aGUgZXZlbnQncyBuYW1lLiBUaGlzIGlzIHVzZWZ1bCBmb3IK
KyAgICAgICAgc2l0dWF0aW9ucyB3aGVyZSB0aGUgZXZlbnQgbmFtZSBpc24ndCBrbm93biwgb3Ig
d2hlcmUgb25lIHNpbXBseSB3YW50cyB0byBwYXVzZSBvbiB0aGUgbmV4dAorICAgICAgICBlbnRy
eSB0byB0aGUgZXZlbnQgbG9vcC4KKworICAgICAgICBBbG9uZyB0aGVzZSBsaW5lcywgbWFrZSB0
aGUgInJlcXVlc3RBbmltYXRpb25GcmFtZSIsICJzZXRUaW1lb3V0IiwgYW5kICJzZXRJbnRlcnZh
bCIKKyAgICAgICAgZXZlbnQgYnJlYWtwb2ludHMgaW50byBzcGVjaWFsIGJyZWFrcG9pbnRzIHRo
YXQgY2FuIGJlIGFkZGVkL3JlbW92ZWQgdmlhIHRoZSBjcmVhdGUKKyAgICAgICAgYnJlYWtwb2lu
dCBjb250ZXh0IG1lbnUuIFRoaXMgc2ltcGxpZmllcyB0aGUgcHJvY2VzcyBmb3Igc2V0dGluZyB0
aGVzZSBicmVha3BvaW50cywgYW5kIGFsc28KKyAgICAgICAgbWFrZXMgdGhlbSBtb3JlIGRpc2Nv
dmVyYWJsZSAobW9zdCBwZW9wbGUgd291bGRuJ3QgY29uc2lkZXIgdGhlbSB0byBiZSAiZXZlbnRz
IikuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvdG9jb2wvRGVidWdnZXIuanNvbjoKKyAgICAg
ICAgIC0gUmVuYW1lIHRoZSBgRXZlbnRMaXN0ZW5lcmAgcGF1c2UgcmVhc29uIHRvIGBMaXN0ZW5l
cmAuCisgICAgICAgICAtIFNwbGl0IHRoZSBgVGltZXJgIHBhdXNlIHJlYXNvbiBpbnRvIGBJbnRl
cnZhbGAgYW5kIGBUaW1lb3V0YC4KKworICAgICAgICAqIGluc3BlY3Rvci9wcm90b2NvbC9ET01E
ZWJ1Z2dlci5qc29uOgorICAgICAgICAgLSBTcGxpdCB0aGUgYHRpbWVyYCB0eXBlIGludG8gYGlu
dGVydmFsYCBhbmQgYHRpbWVvdXRgLgorICAgICAgICAgLSBNYWtlIGBldmVudE5hbWVgIG9wdGlv
bmFsIGZvciBgYWRkRXZlbnRCcmVha3BvaW50YC9gcmVtb3ZlRXZlbnRCcmVha3BvaW50YC4gV2hl
biBvbWl0dGVkLAorICAgICAgICAgICB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHRoYXQg
aXMgYWRkZWQvcmVtb3ZlZCBpcyB0cmVhdGVkIGFzIGEgZ2xvYmFsIGJyZWFrcG9pbnQgdGhhdAor
ICAgICAgICAgICBhcHBsaWVzIHRvIGFsbCBldmVudHMgb2YgdGhhdCB0eXBlIChlLmcuIGEgZ2xv
YmFsIGBsaXN0ZW5lcmAgYnJlYWtwb2ludCB3b3VsZCBwYXVzZSBmb3IKKyAgICAgICAgICAgYW55
IGV2ZW50IHRoYXQgaXMgZmlyZWQpLgorCiAyMDE5LTA4LTAyICBLZWl0aCBNaWxsZXIgIDxrZWl0
aF9taWxsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZHJlc3MgY29tbWVudHMgb24gcjI0ODE3
OApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IDJjMzVlMDljOTE0NjdlNWVhNjNhYjU4N2NjNjQ2MDU0NzI0YjA1NmQu
LjBkYWY0MGFiYjIwY2I5MGFkZWNmNjk4NjQzNDE1NDk2YzE2NWQ5NmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSw0MiBAQAorMjAxOS0wOC0wMyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5j
b20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogRE9NOiBhZGQgYSBzcGVjaWFsIGJyZWFrcG9p
bnQgZm9yICJBbGwgRXZlbnRzIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjAwMjg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSm9zZXBoIFBlY29yYXJv
LgorCisgICAgICAgIFNpbWlsYXIgdG8gdGhlIGV4aXN0aW5nICJBbGwgUmVxdWVzdHMiIGJyZWFr
cG9pbnQsIHRoZXJlIHNob3VsZCBiZSBhIHdheSB0byBzZXQgYSBicmVha3BvaW50CisgICAgICAg
IHRoYXQgd291bGQgcGF1c2UgZm9yIGFueSBET00gZXZlbnQsIHJlZ2FyZGxlc3Mgb2YgdGhlIGV2
ZW50J3MgbmFtZS4gVGhpcyBpcyB1c2VmdWwgZm9yCisgICAgICAgIHNpdHVhdGlvbnMgd2hlcmUg
dGhlIGV2ZW50IG5hbWUgaXNuJ3Qga25vd24sIG9yIHdoZXJlIG9uZSBzaW1wbHkgd2FudCdzIHRv
IHBhdXNlIG9uIHRoZSBuZXh0CisgICAgICAgIGVudHJ5IHRvIHRoZSBldmVudCBsb29wLgorCisg
ICAgICAgIEFsb25nIHRoZXNlIGxpbmVzLCBtYWtlIHRoZSAicmVxdWVzdEFuaW1hdGlvbkZyYW1l
IiwgInNldFRpbWVvdXQiLCBhbmQgInNldEludGVydmFsIgorICAgICAgICBldmVudCBicmVha3Bv
aW50cyBpbnRvIHNwZWNpYWwgYnJlYWtwb2ludHMgdGhhdCBjYW4gYmUgYWRkZWQvcmVtb3ZlZCB2
aWEgdGhlIGNyZWF0ZQorICAgICAgICBicmVha3BvaW50IGNvbnRleHQgbWVudS4gVGhpcyBzaW1w
bGlmaWVzIHRoZSBwcm9jZXNzIGZvciBzZXR0aW5nIHRoZXNlIGJyZWFrcG9pbnRzLCBhbmQgYWxz
bworICAgICAgICBtYWtlcyB0aGVtIG1vcmUgZGlzY292ZXJhYmxlIChtb3N0IHBlb3BsZSB3b3Vs
ZG4ndCBjb25zaWRlciB0aGVtIHRvIGJlICJldmVudHMiKS4KKworICAgICAgICBUZXN0czogaW5z
cGVjdG9yL2RvbS9icmVha3BvaW50LWZvci1ldmVudC1saXN0ZW5lci5odG1sCisgICAgICAgICAg
ICAgICBpbnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWFuaW1hdGlvbi1mcmFtZS1icmVha3Bv
aW50cy5odG1sCisgICAgICAgICAgICAgICBpbnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWJy
ZWFrcG9pbnQtd2l0aC1uYXZpZ2F0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGluc3BlY3Rvci9k
b20tZGVidWdnZXIvZXZlbnQtaW50ZXJ2YWwtYnJlYWtwb2ludHMuaHRtbAorICAgICAgICAgICAg
ICAgaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC1saXN0ZW5lci1icmVha3BvaW50cy5odG1s
CisgICAgICAgICAgICAgICBpbnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LXRpbWVvdXQtYnJl
YWtwb2ludHMuaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01E
ZWJ1Z2dlckFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01E
ZWJ1Z2dlckFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTURlYnVnZ2Vy
QWdlbnQ6OmRpc2FibGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NRGVidWdnZXJB
Z2VudDo6ZnJhbWVEb2N1bWVudFVwZGF0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
RE9NRGVidWdnZXJBZ2VudDo6c2V0RXZlbnRCcmVha3BvaW50KToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQ6OnJlbW92ZUV2ZW50QnJlYWtwb2ludCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50Ojp3aWxsSGFuZGxlRXZlbnQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudDo6d2lsbEZpcmVU
aW1lcik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50Ojp3aWxs
RmlyZUFuaW1hdGlvbkZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTURlYnVn
Z2VyQWdlbnQ6OmRpc2NhcmRCaW5kaW5ncyk6IERlbGV0ZWQuCisgICAgICAgIE1ha2UgYGV2ZW50
TmFtZWAgb3B0aW9uYWwgZm9yIGBhZGRFdmVudEJyZWFrcG9pbnRgL2ByZW1vdmVFdmVudEJyZWFr
cG9pbnRgLiBXaGVuIG9taXR0ZWQsCisgICAgICAgIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9p
bnQgdGhhdCBpcyBhZGRlZC9yZW1vdmVkIGlzIHRyZWF0ZWQgYXMgYSBnbG9iYWwgYnJlYWtwb2lu
dCB0aGF0CisgICAgICAgIGFwcGxpZXMgdG8gYWxsIGV2ZW50cyBvZiB0aGF0IHR5cGUgKGUuZy4g
YSBnbG9iYWwgYGxpc3RlbmVyYCBicmVha3BvaW50IHdvdWxkIHBhdXNlIGZvciBhbnkKKyAgICAg
ICAgZXZlbnQgdGhhdCBpcyBmaXJlZCkuCisKIDIwMTktMDgtMDMgIFphbGFuIEJ1anRhcyAgPHph
bGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXSBSZW1vdmUgZm9ybWF0dGluZyBjb250ZXh0
IHR5cGUgbGVhZiBjbGFzc2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAzY2Q1YWM3ZmNj
NDZlMTE5MTc2NGEwODZlZTJiZDc4ZjZkYTZjYjg5Li40NWRiZDgxZDkwMDAyZWVhZWIxYjc5YWVm
NDQ0OGE2Njk4MjlkNGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMDcg
QEAKKzIwMTktMDgtMDMgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IERPTTogYWRkIGEgc3BlY2lhbCBicmVha3BvaW50IGZvciAiQWxs
IEV2ZW50cyIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwMDI4NQorCisgICAgICAgIFJldmlld2VkIGJ5IEpvc2VwaCBQZWNvcmFyby4KKworICAgICAg
ICBTaW1pbGFyIHRvIHRoZSBleGlzdGluZyAiQWxsIFJlcXVlc3RzIiBicmVha3BvaW50LCB0aGVy
ZSBzaG91bGQgYmUgYSB3YXkgdG8gc2V0IGEgYnJlYWtwb2ludAorICAgICAgICB0aGF0IHdvdWxk
IHBhdXNlIGZvciBhbnkgRE9NIGV2ZW50LCByZWdhcmRsZXNzIG9mIHRoZSBldmVudCdzIG5hbWUu
IFRoaXMgaXMgdXNlZnVsIGZvcgorICAgICAgICBzaXR1YXRpb25zIHdoZXJlIHRoZSBldmVudCBu
YW1lIGlzbid0IGtub3duLCBvciB3aGVyZSBvbmUgc2ltcGx5IHdhbnQncyB0byBwYXVzZSBvbiB0
aGUgbmV4dAorICAgICAgICBlbnRyeSB0byB0aGUgZXZlbnQgbG9vcC4KKworICAgICAgICBBbG9u
ZyB0aGVzZSBsaW5lcywgbWFrZSB0aGUgInJlcXVlc3RBbmltYXRpb25GcmFtZSIsICJzZXRUaW1l
b3V0IiwgYW5kICJzZXRJbnRlcnZhbCIKKyAgICAgICAgZXZlbnQgYnJlYWtwb2ludHMgaW50byBz
cGVjaWFsIGJyZWFrcG9pbnRzIHRoYXQgY2FuIGJlIGFkZGVkL3JlbW92ZWQgdmlhIHRoZSBjcmVh
dGUKKyAgICAgICAgYnJlYWtwb2ludCBjb250ZXh0IG1lbnUuIFRoaXMgc2ltcGxpZmllcyB0aGUg
cHJvY2VzcyBmb3Igc2V0dGluZyB0aGVzZSBicmVha3BvaW50cywgYW5kIGFsc28KKyAgICAgICAg
bWFrZXMgdGhlbSBtb3JlIGRpc2NvdmVyYWJsZSAobW9zdCBwZW9wbGUgd291bGRuJ3QgY29uc2lk
ZXIgdGhlbSB0byBiZSAiZXZlbnRzIikuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVs
cy9FdmVudEJyZWFrcG9pbnQuanM6CisgICAgICAgIChXSS5FdmVudEJyZWFrcG9pbnQpOgorICAg
ICAgICAoV0kuRXZlbnRCcmVha3BvaW50LmRlc2VyaWFsaXplKToKKyAgICAgICAgKFdJLkV2ZW50
QnJlYWtwb2ludC5wcm90b3R5cGUuc2F2ZUlkZW50aXR5VG9Db29raWUpOgorICAgICAgICAoV0ku
RXZlbnRCcmVha3BvaW50LnByb3RvdHlwZS50b0pTT04pOgorCisgICAgICAgICogVXNlckludGVy
ZmFjZS9Db250cm9sbGVycy9EZWJ1Z2dlck1hbmFnZXIuanM6CisgICAgICAgIChXSS5EZWJ1Z2dl
ck1hbmFnZXIucHJvdG90eXBlLl9wYXVzZVJlYXNvbkZyb21QYXlsb2FkKToKKworICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRE9NRGVidWdnZXJNYW5hZ2VyLmpzOgorICAgICAg
ICAoV0kuRE9NRGVidWdnZXJNYW5hZ2VyKToKKyAgICAgICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdl
ci5wcm90b3R5cGUuaW5pdGlhbGl6ZVRhcmdldCk6CisgICAgICAgIChXSS5ET01EZWJ1Z2dlck1h
bmFnZXIuc3VwcG9ydHNET01CcmVha3BvaW50cyk6IEFkZGVkLgorICAgICAgICAoV0kuRE9NRGVi
dWdnZXJNYW5hZ2VyLnN1cHBvcnRzRXZlbnRCcmVha3BvaW50cyk6CisgICAgICAgIChXSS5ET01E
ZWJ1Z2dlck1hbmFnZXIuc3VwcG9ydHNFdmVudExpc3RlbmVyQnJlYWtwb2ludHMpOiBBZGRlZC4K
KyAgICAgICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5zdXBwb3J0c1VSTEJyZWFrcG9pbnRzKToK
KyAgICAgICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5zdXBwb3J0c1hIUkJyZWFrcG9pbnRzKTog
QWRkZWQuCisgICAgICAgIChXSS5ET01EZWJ1Z2dlck1hbmFnZXIuc3VwcG9ydHNBbGxMaXN0ZW5l
cnNCcmVha3BvaW50KTogQWRkZWQuCisgICAgICAgIChXSS5ET01EZWJ1Z2dlck1hbmFnZXIucHJv
dG90eXBlLmdldCBhbGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50KTogQWRkZWQuCisgICAgICAg
IChXSS5ET01EZWJ1Z2dlck1hbmFnZXIucHJvdG90eXBlLmdldCBhbGxJbnRlcnZhbHNCcmVha3Bv
aW50KTogQWRkZWQuCisgICAgICAgIChXSS5ET01EZWJ1Z2dlck1hbmFnZXIucHJvdG90eXBlLmdl
dCBhbGxMaXN0ZW5lcnNCcmVha3BvaW50KTogQWRkZWQuCisgICAgICAgIChXSS5ET01EZWJ1Z2dl
ck1hbmFnZXIucHJvdG90eXBlLmdldCBhbGxUaW1lb3V0c0JyZWFrcG9pbnQpOiBBZGRlZC4KKyAg
ICAgICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5wcm90b3R5cGUuZ2V0IGxpc3RlbmVyQnJlYWtw
b2ludHMpOiBBZGRlZC4KKyAgICAgICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5wcm90b3R5cGUu
aXNCcmVha3BvaW50U3BlY2lhbCk6CisgICAgICAgIChXSS5ET01EZWJ1Z2dlck1hbmFnZXIucHJv
dG90eXBlLmxpc3RlbmVyQnJlYWtwb2ludEZvckV2ZW50TmFtZSk6IEFkZGVkLgorICAgICAgICAo
V0kuRE9NRGVidWdnZXJNYW5hZ2VyLnByb3RvdHlwZS5hZGRFdmVudEJyZWFrcG9pbnQpOgorICAg
ICAgICAoV0kuRE9NRGVidWdnZXJNYW5hZ2VyLnByb3RvdHlwZS5yZW1vdmVFdmVudEJyZWFrcG9p
bnQpOgorICAgICAgICAoV0kuRE9NRGVidWdnZXJNYW5hZ2VyLnByb3RvdHlwZS5hZGRVUkxCcmVh
a3BvaW50KToKKyAgICAgICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5wcm90b3R5cGUuX3Jlc29s
dmVET01CcmVha3BvaW50KToKKyAgICAgICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5wcm90b3R5
cGUuX3VwZGF0ZURPTUJyZWFrcG9pbnQpOgorICAgICAgICAoV0kuRE9NRGVidWdnZXJNYW5hZ2Vy
LnByb3RvdHlwZS5fdXBkYXRlRXZlbnRCcmVha3BvaW50KToKKyAgICAgICAgKFdJLkRPTURlYnVn
Z2VyTWFuYWdlci5wcm90b3R5cGUuX3VwZGF0ZVVSTEJyZWFrcG9pbnQpOgorICAgICAgICAoV0ku
RE9NRGVidWdnZXJNYW5hZ2VyLnByb3RvdHlwZS5faGFuZGxlRE9NQnJlYWtwb2ludERpc2FibGVk
U3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5wcm90b3R5cGUu
X2hhbmRsZUV2ZW50QnJlYWtwb2ludERpc2FibGVkU3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKFdJ
LkRPTURlYnVnZ2VyTWFuYWdlci5wcm90b3R5cGUuX2hhbmRsZVVSTEJyZWFrcG9pbnREaXNhYmxl
ZFN0YXRlQ2hhbmdlZCk6CisgICAgICAgIChXSS5ET01EZWJ1Z2dlck1hbmFnZXIucHJvdG90eXBl
LmdldCBldmVudEJyZWFrcG9pbnRzKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkRPTURlYnVnZ2Vy
TWFuYWdlci5wcm90b3R5cGUuZXZlbnRCcmVha3BvaW50Rm9yVHlwZUFuZEV2ZW50TmFtZSk6IERl
bGV0ZWQuCisgICAgICAgIEFkZCBhZGRpdGlvbmFsIHRhcmdldCBjb21wYXRpYmlsaXR5IGNoZWNr
cy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRXZlbnRCcmVha3BvaW50UG9wb3Zl
ci5qczoKKyAgICAgICAgKFdJLkV2ZW50QnJlYWtwb2ludFBvcG92ZXIucHJvdG90eXBlLnNob3cp
OgorICAgICAgICAoV0kuRXZlbnRCcmVha3BvaW50UG9wb3Zlci5wcm90b3R5cGUuZGlzbWlzcyk6
CisgICAgICAgIChXSS5FdmVudEJyZWFrcG9pbnRQb3BvdmVyLnByb3RvdHlwZS5faGFuZGxlVHlw
ZVNlbGVjdENoYW5nZSk6IERlbGV0ZWQuCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9F
dmVudEJyZWFrcG9pbnRQb3BvdmVyLmNzczoKKyAgICAgICAgKC5wb3BvdmVyIC5ldmVudC1icmVh
a3BvaW50LWNvbnRlbnQgPiBpbnB1dCk6IEFkZGVkLgorICAgICAgICAoLnBvcG92ZXIgLmV2ZW50
LWJyZWFrcG9pbnQtY29udGVudCA+IGlucHV0OjpwbGFjZWhvbGRlcik6IEFkZGVkLgorICAgICAg
ICAoLnBvcG92ZXIgLmV2ZW50LWJyZWFrcG9pbnQtY29udGVudCA+IC5ldmVudC10eXBlKTogRGVs
ZXRlZC4KKyAgICAgICAgKC5wb3BvdmVyIC5ldmVudC1icmVha3BvaW50LWNvbnRlbnQgPiAuZXZl
bnQtdHlwZSA+IGlucHV0KTogRGVsZXRlZC4KKyAgICAgICAgKC5wb3BvdmVyIC5ldmVudC1icmVh
a3BvaW50LWNvbnRlbnQgPiAuZXZlbnQtdHlwZSA+IGlucHV0OjpwbGFjZWhvbGRlcik6IERlbGV0
ZWQuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50QnJlYWtwb2ludFRyZWVF
bGVtZW50LmNzczoKKyAgICAgICAgKC5icmVha3BvaW50LmV2ZW50LmJyZWFrcG9pbnQtZm9yLWlu
dGVydmFsOm5vdCguYnJlYWtwb2ludC1wYXVzZWQtaWNvbikgLmljb24pOiBBZGRlZC4KKyAgICAg
ICAgKC5icmVha3BvaW50LmV2ZW50LmJyZWFrcG9pbnQtZm9yLXRpbWVvdXQ6bm90KC5icmVha3Bv
aW50LXBhdXNlZC1pY29uKSAuaWNvbik6IEFkZGVkLgorICAgICAgICAoLmJyZWFrcG9pbnQuZXZl
bnQuYnJlYWtwb2ludC1mb3ItdGltZXI6bm90KC5icmVha3BvaW50LXBhdXNlZC1pY29uKSAuaWNv
bik6IERlbGV0ZWQuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lk
ZWJhclBhbmVsLmpzOgorICAgICAgICAoV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwpOgorICAgICAg
ICAoV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwucHJvdG90eXBlLnNhdmVTdGF0ZVRvQ29va2llKToK
KyAgICAgICAgKFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsLnByb3RvdHlwZS5yZXN0b3JlU3RhdGVG
cm9tQ29va2llKToKKyAgICAgICAgKFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsLnByb3RvdHlwZS5f
YWRkQnJlYWtwb2ludCk6CisgICAgICAgIChXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbC5wcm90b3R5
cGUuX2FkZFRyZWVFbGVtZW50KToKKyAgICAgICAgKFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsLnBy
b3RvdHlwZS5fdXBkYXRlUGF1c2VSZWFzb25TZWN0aW9uKToKKyAgICAgICAgKFdJLkRlYnVnZ2Vy
U2lkZWJhclBhbmVsLnByb3RvdHlwZS5faGFuZGxlQnJlYWtwb2ludEVsZW1lbnRBZGRlZE9yUmVt
b3ZlZCk6CisgICAgICAgIChXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbC5wcm90b3R5cGUuX3BvcHVs
YXRlQ3JlYXRlQnJlYWtwb2ludENvbnRleHRNZW51LmFkZFRvZ2dsZUZvclNwZWNpYWxFdmVudEJy
ZWFrcG9pbnQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsLnByb3Rv
dHlwZS5fcG9wdWxhdGVDcmVhdGVCcmVha3BvaW50Q29udGV4dE1lbnUpOgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvVmlld3MvU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanM6CisgICAg
ICAgIChXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbCk6CisgICAgICAgIChXSS5Tb3Vy
Y2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbC5wcm90b3R5cGUuX2luc2VydERlYnVnZ2VyVHJlZUVs
ZW1lbnQpOgorICAgICAgICAoV0kuU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwucHJvdG90
eXBlLl9hZGRCcmVha3BvaW50KToKKyAgICAgICAgKFdJLlNvdXJjZXNOYXZpZ2F0aW9uU2lkZWJh
clBhbmVsLnByb3RvdHlwZS5fdXBkYXRlUGF1c2VSZWFzb25TZWN0aW9uKToKKyAgICAgICAgKFdJ
LlNvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsLnByb3RvdHlwZS5faGFuZGxlQnJlYWtwb2lu
dEVsZW1lbnRBZGRlZE9yUmVtb3ZlZCk6CisgICAgICAgIChXSS5Tb3VyY2VzTmF2aWdhdGlvblNp
ZGViYXJQYW5lbC5wcm90b3R5cGUuX3BvcHVsYXRlQ3JlYXRlQnJlYWtwb2ludENvbnRleHRNZW51
LmFkZFRvZ2dsZUZvclNwZWNpYWxFdmVudEJyZWFrcG9pbnQpOiBBZGRlZC4KKyAgICAgICAgKFdJ
LlNvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fcG9wdWxhdGVDcmVhdGVC
cmVha3BvaW50Q29udGV4dE1lbnUpOgorICAgICAgICBBZGQgY3JlYXRlIGJyZWFrcG9pbnQgY29u
dGV4dCBtZW51IGl0ZW1zIChhbHNvIHNvcnQgdGhlIGJyZWFrcG9pbnRzIGluIHRoaXMgb3JkZXIp
OgorICAgICAgICAgLSAiQWxsIEFuaW1hdGlvbiBGcmFtZXMiICA9PiAgW0FdIEFsbCBBbmltYXRp
b24gRnJhbWVzCisgICAgICAgICAtICJBbGwgVGltZW91dHMiICAgICAgICAgID0+ICBbVF0gQWxs
IFRpbWVvdXRzCisgICAgICAgICAtICJBbGwgSW50ZXJ2YWxzIiAgICAgICAgID0+ICBbSV0gQWxs
IEludGVydmFscworICAgICAgICAgLSAiQWxsIEV2ZW50cyIgICAgICAgICAgICA9PiAgW0VdIEFs
bCBFdmVudHMKKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvSmF2YVNjcmlw
dFJ1bnRpbWVDb21wbGV0aW9uUHJvdmlkZXIuanM6CisgICAgICAgIChXSS5KYXZhU2NyaXB0UnVu
dGltZUNvbXBsZXRpb25Qcm92aWRlci5jb21wbGV0aW9uQ29udHJvbGxlckNvbXBsZXRpb25zTmVl
ZGVkLnJlY2VpdmVkUHJvcGVydHlOYW1lcyk6CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Jh
c2UvU2V0dGluZy5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0ltYWdlcy9FdmVudEJyZWFr
cG9pbnRJbnRlcnZhbC5zdmc6IEFkZGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvSW1hZ2Vz
L0V2ZW50QnJlYWtwb2ludFRpbWVvdXQuc3ZnOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvSW1hZ2VzL0V2ZW50QnJlYWtwb2ludFRpbWVyLnN2Zy4KKyAg
ICAgICAgKiBMb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanM6CisKIDIw
MTktMDgtMDMgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFdl
YiBJbnNwZWN0b3I6IEhlYXAgU25hcHNob3QgVmlld3Mgc2hvdWxkIGJlIHNlYXJjaGFibGUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NRGVi
dWdnZXIuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9N
RGVidWdnZXIuanNvbgppbmRleCBiNDRjN2YwYjVlYWJhN2MwOTAyNmI1YWY5YjMwMzA4NjAyNDIw
NzczLi44NmNkNmM3YTc0ZDk2MmYyMmYxYmY2NmRjMjczMDk4YzNlZmY1YTY4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0RPTURlYnVnZ2VyLmpz
b24KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9ET01EZWJ1
Z2dlci5qc29uCkBAIC0xMiw3ICsxMiw3IEBACiAgICAgICAgIHsKICAgICAgICAgICAgICJpZCI6
ICJFdmVudEJyZWFrcG9pbnRUeXBlIiwKICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCi0g
ICAgICAgICAgICAiZW51bSI6IFsiYW5pbWF0aW9uLWZyYW1lIiwgImxpc3RlbmVyIiwgInRpbWVy
Il0sCisgICAgICAgICAgICAiZW51bSI6IFsiYW5pbWF0aW9uLWZyYW1lIiwgImludGVydmFsIiwg
Imxpc3RlbmVyIiwgInRpbWVvdXQiXSwKICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJFdmVu
dCBicmVha3BvaW50IHR5cGUuIgogICAgICAgICB9CiAgICAgXSwKQEAgLTM4LDcgKzM4LDcgQEAK
ICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTZXRzIGJyZWFrcG9pbnQgb24gcGFydGljdWxh
ciBldmVudCBvZiBnaXZlbiB0eXBlLiIsCiAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKICAg
ICAgICAgICAgICAgICB7ICJuYW1lIjogImJyZWFrcG9pbnRUeXBlIiwgIiRyZWYiOiAiRXZlbnRC
cmVha3BvaW50VHlwZSIgfSwKLSAgICAgICAgICAgICAgICB7ICJuYW1lIjogImV2ZW50TmFtZSIs
ICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJUaGUgbmFtZSBvZiB0aGUgZXZlbnQg
dG8gc3RvcCBvbi4iIH0KKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogImV2ZW50TmFtZSIsICJ0
eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJUaGUgbmFt
ZSBvZiB0aGUgc3BlY2lmaWMgZXZlbnQgdG8gc3RvcCBvbi4iIH0KICAgICAgICAgICAgIF0KICAg
ICAgICAgfSwKICAgICAgICAgewpAQCAtNDYsNyArNDYsNyBAQAogICAgICAgICAgICAgImRlc2Ny
aXB0aW9uIjogIlJlbW92ZXMgYnJlYWtwb2ludCBvbiBwYXJ0aWN1bGFyIGV2ZW50IG9mIGdpdmVu
IHR5cGUuIiwKICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwogICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAiYnJlYWtwb2ludFR5cGUiLCAiJHJlZiI6ICJFdmVudEJyZWFrcG9pbnRUeXBlIiB9
LAotICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZXZlbnROYW1lIiwgInR5cGUiOiAic3RyaW5n
IiwgImRlc2NyaXB0aW9uIjogIlRoZSBuYW1lIG9mIHRoZSBldmVudCB0byBzdG9wIG9uLiIgfQor
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZXZlbnROYW1lIiwgInR5cGUiOiAic3RyaW5nIiwg
Im9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRoZSBuYW1lIG9mIHRoZSBzcGVjaWZp
YyBldmVudCB0byBzdG9wIG9uLiIgfQogICAgICAgICAgICAgXQogICAgICAgICB9LAogICAgICAg
ICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29s
L0RlYnVnZ2VyLmpzb24gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29s
L0RlYnVnZ2VyLmpzb24KaW5kZXggNjFiNTdjZDdmZTcwZGEzNmZkNGYzMDAyYjk0ZWU5NTRjY2Q1
NjM1Yi4uMGYwYmI5YTY3MjFlNjczMjA5MzczODc5NTBhZTY4Mjk5ZWQxZDY5MCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9EZWJ1Z2dlci5qc29u
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRGVidWdnZXIu
anNvbgpAQCAtMzM0LDcgKzMzNCw3IEBACiAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRmly
ZWQgd2hlbiB0aGUgdmlydHVhbCBtYWNoaW5lIHN0b3BwZWQgb24gYnJlYWtwb2ludCBvciBleGNl
cHRpb24gb3IgYW55IG90aGVyIHN0b3AgY3JpdGVyaWEuIiwKICAgICAgICAgICAgICJwYXJhbWV0
ZXJzIjogWwogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiY2FsbEZyYW1lcyIsICJ0eXBlIjog
ImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJDYWxsRnJhbWUiIH0sICJkZXNjcmlwdGlvbiI6
ICJDYWxsIHN0YWNrIHRoZSB2aXJ0dWFsIG1hY2hpbmUgc3RvcHBlZCBvbi4iIH0sCi0gICAgICAg
ICAgICAgICAgeyAibmFtZSI6ICJyZWFzb24iLCAidHlwZSI6ICJzdHJpbmciLCAiZW51bSI6IFsi
WEhSIiwgIkZldGNoIiwgIkRPTSIsICJBbmltYXRpb25GcmFtZSIsICJFdmVudExpc3RlbmVyIiwg
IlRpbWVyIiwgImV4Y2VwdGlvbiIsICJhc3NlcnQiLCAiQ1NQVmlvbGF0aW9uIiwgIkRlYnVnZ2Vy
U3RhdGVtZW50IiwgIkJyZWFrcG9pbnQiLCAiUGF1c2VPbk5leHRTdGF0ZW1lbnQiLCAib3RoZXIi
XSwgImRlc2NyaXB0aW9uIjogIlBhdXNlIHJlYXNvbi4iIH0sCisgICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJyZWFzb24iLCAidHlwZSI6ICJzdHJpbmciLCAiZW51bSI6IFsiWEhSIiwgIkZldGNo
IiwgIkRPTSIsICJBbmltYXRpb25GcmFtZSIsICJJbnRlcnZhbCIsICJMaXN0ZW5lciIsICJUaW1l
b3V0IiwgImV4Y2VwdGlvbiIsICJhc3NlcnQiLCAiQ1NQVmlvbGF0aW9uIiwgIkRlYnVnZ2VyU3Rh
dGVtZW50IiwgIkJyZWFrcG9pbnQiLCAiUGF1c2VPbk5leHRTdGF0ZW1lbnQiLCAib3RoZXIiXSwg
ImRlc2NyaXB0aW9uIjogIlBhdXNlIHJlYXNvbi4iIH0sCiAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJkYXRhIiwgInR5cGUiOiAib2JqZWN0IiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0
aW9uIjogIk9iamVjdCBjb250YWluaW5nIGJyZWFrLXNwZWNpZmljIGF1eGlsaWFyeSBwcm9wZXJ0
aWVzLiIgfSwKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImFzeW5jU3RhY2tUcmFjZSIsICIk
cmVmIjogIkNvbnNvbGUuU3RhY2tUcmFjZSIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlv
biI6ICJMaW5rZWQgbGlzdCBvZiBhc3luY2hyb25vdXMgU3RhY2tUcmFjZXMuIiB9CiAgICAgICAg
ICAgICBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvckRPTURlYnVnZ2VyQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50
cy9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmNwcAppbmRleCA1NDQ3NWRkNTZmMTk1MzkyOTNl
YmFmNTI1MWQwYmJhZmI2ZmQxZDA1Li40NWUyZmE5YThkYTEyMDg2N2I4N2UxOGQzODFjMmFmYjUz
OWMxOTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvckRPTURlYnVnZ2VyQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5jcHAKQEAgLTk0LDkgKzk0LDEzIEBAIHZv
aWQgSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudDo6ZGVidWdnZXJXYXNEaXNhYmxlZCgpCiB2b2lk
IEluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQ6OmRpc2FibGUoKQogewogICAgIG1faW5zdHJ1bWVu
dGluZ0FnZW50cy5zZXRJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50KG51bGxwdHIpOwotICAgIGRp
c2NhcmRCaW5kaW5ncygpOwotICAgIG1fZXZlbnRCcmVha3BvaW50cy5jbGVhcigpOworICAgIG1f
ZG9tQnJlYWtwb2ludHMuY2xlYXIoKTsKKyAgICBtX2xpc3RlbmVyQnJlYWtwb2ludHMuY2xlYXIo
KTsKICAgICBtX3VybEJyZWFrcG9pbnRzLmNsZWFyKCk7CisgICAgbV9wYXVzZU9uQWxsQW5pbWF0
aW9uRnJhbWVzRW5hYmxlZCA9IGZhbHNlOworICAgIG1fcGF1c2VPbkFsbEludGVydmFsc0VuYWJs
ZWQgPSBmYWxzZTsKKyAgICBtX3BhdXNlT25BbGxMaXN0ZW5lcnNFbmFibGVkID0gZmFsc2U7Cisg
ICAgbV9wYXVzZU9uQWxsVGltZW91dHNFbmFibGVkID0gZmFsc2U7CiAgICAgbV9wYXVzZU9uQWxs
VVJMc0VuYWJsZWQgPSBmYWxzZTsKIH0KIApAQCAtMTIwLDU0ICsxMjQsMTA5IEBAIHZvaWQgSW5z
cGVjdG9yRE9NRGVidWdnZXJBZ2VudDo6ZnJhbWVEb2N1bWVudFVwZGF0ZWQoRnJhbWUmIGZyYW1l
KQogICAgIGlmICghZnJhbWUuaXNNYWluRnJhbWUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
ZGlzY2FyZEJpbmRpbmdzKCk7Ci19Ci0KLXZvaWQgSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudDo6
ZGlzY2FyZEJpbmRpbmdzKCkKLXsKICAgICBtX2RvbUJyZWFrcG9pbnRzLmNsZWFyKCk7CiB9CiAK
LXZvaWQgSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudDo6c2V0RXZlbnRCcmVha3BvaW50KEVycm9y
U3RyaW5nJiBlcnJvciwgY29uc3QgU3RyaW5nJiBicmVha3BvaW50VHlwZVN0cmluZywgY29uc3Qg
U3RyaW5nJiBldmVudE5hbWUpCit2b2lkIEluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQ6OnNldEV2
ZW50QnJlYWtwb2ludChFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluZyYgYnJl
YWtwb2ludFR5cGVTdHJpbmcsIGNvbnN0IFN0cmluZyogZXZlbnROYW1lKQogewogICAgIGlmIChi
cmVha3BvaW50VHlwZVN0cmluZy5pc0VtcHR5KCkpIHsKLSAgICAgICAgZXJyb3IgPSAiRXZlbnQg
YnJlYWtwb2ludCB0eXBlIGlzIGVtcHR5Il9zOworICAgICAgICBlcnJvclN0cmluZyA9ICJFdmVu
dCBicmVha3BvaW50IHR5cGUgaXMgZW1wdHkiX3M7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
ICAgICBhdXRvIGJyZWFrcG9pbnRUeXBlID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6SW5zcGVjdG9y
SGVscGVyczo6cGFyc2VFbnVtVmFsdWVGcm9tU3RyaW5nPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRP
TURlYnVnZ2VyOjpFdmVudEJyZWFrcG9pbnRUeXBlPihicmVha3BvaW50VHlwZVN0cmluZyk7CiAg
ICAgaWYgKCFicmVha3BvaW50VHlwZSkgewotICAgICAgICBlcnJvciA9IG1ha2VTdHJpbmcoIlVu
a25vd24gZXZlbnQgYnJlYWtwb2ludCB0eXBlOiAiX3MsIGJyZWFrcG9pbnRUeXBlU3RyaW5nKTsK
KyAgICAgICAgZXJyb3JTdHJpbmcgPSBtYWtlU3RyaW5nKCJVbmtub3duIGV2ZW50IGJyZWFrcG9p
bnQgdHlwZTogIl9zLCBicmVha3BvaW50VHlwZVN0cmluZyk7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKLSAgICBpZiAoZXZlbnROYW1lLmlzRW1wdHkoKSkgewotICAgICAgICBlcnJvciA9ICJF
dmVudCBuYW1lIGlzIGVtcHR5Il9zOworICAgIGlmIChldmVudE5hbWUgJiYgIWV2ZW50TmFtZS0+
aXNFbXB0eSgpKSB7CisgICAgICAgIGlmIChicmVha3BvaW50VHlwZS52YWx1ZSgpID09IEluc3Bl
Y3Rvcjo6UHJvdG9jb2w6OkRPTURlYnVnZ2VyOjpFdmVudEJyZWFrcG9pbnRUeXBlOjpMaXN0ZW5l
cikgeworICAgICAgICAgICAgaWYgKCFtX2xpc3RlbmVyQnJlYWtwb2ludHMuYWRkKCpldmVudE5h
bWUpKQorICAgICAgICAgICAgICAgIGVycm9yU3RyaW5nID0gIkJyZWFrcG9pbnQgd2l0aCBldmVu
dE5hbWUgYWxyZWFkeSBleGlzdHMiX3M7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KworICAgICAgICBlcnJvclN0cmluZyA9ICJVbmV4cGVjdGVkIGV2ZW50TmFtZSBhcmd1bWVudCJf
czsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1fZXZlbnRCcmVha3BvaW50cy5hZGQo
c3RkOjptYWtlX3BhaXIoKmJyZWFrcG9pbnRUeXBlLCBldmVudE5hbWUpKTsKKyAgICBzd2l0Y2gg
KGJyZWFrcG9pbnRUeXBlLnZhbHVlKCkpIHsKKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6
OkRPTURlYnVnZ2VyOjpFdmVudEJyZWFrcG9pbnRUeXBlOjpBbmltYXRpb25GcmFtZToKKyAgICAg
ICAgaWYgKG1fcGF1c2VPbkFsbEFuaW1hdGlvbkZyYW1lc0VuYWJsZWQpCisgICAgICAgICAgICBl
cnJvclN0cmluZyA9ICJBbHJlYWR5IGhhdmUgYnJlYWtwb2ludCBmb3IgYWxsIGFuaW1hdGlvbiBm
cmFtZXMiX3M7CisgICAgICAgIG1fcGF1c2VPbkFsbEFuaW1hdGlvbkZyYW1lc0VuYWJsZWQgPSB0
cnVlOworICAgICAgICBicmVhazsKKworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6RE9N
RGVidWdnZXI6OkV2ZW50QnJlYWtwb2ludFR5cGU6OkludGVydmFsOgorICAgICAgICBpZiAobV9w
YXVzZU9uQWxsSW50ZXJ2YWxzRW5hYmxlZCkKKyAgICAgICAgICAgIGVycm9yU3RyaW5nID0gIkFs
cmVhZHkgaGF2ZSBicmVha3BvaW50IGZvciBhbGwgaW50ZXJ2YWxzIl9zOworICAgICAgICBtX3Bh
dXNlT25BbGxJbnRlcnZhbHNFbmFibGVkID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBj
YXNlIEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRPTURlYnVnZ2VyOjpFdmVudEJyZWFrcG9pbnRUeXBl
OjpMaXN0ZW5lcjoKKyAgICAgICAgaWYgKG1fcGF1c2VPbkFsbExpc3RlbmVyc0VuYWJsZWQpCisg
ICAgICAgICAgICBlcnJvclN0cmluZyA9ICJBbHJlYWR5IGhhdmUgYnJlYWtwb2ludCBmb3IgYWxs
IGxpc3RlbmVycyJfczsKKyAgICAgICAgbV9wYXVzZU9uQWxsTGlzdGVuZXJzRW5hYmxlZCA9IHRy
dWU7CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpET01E
ZWJ1Z2dlcjo6RXZlbnRCcmVha3BvaW50VHlwZTo6VGltZW91dDoKKyAgICAgICAgaWYgKG1fcGF1
c2VPbkFsbFRpbWVvdXRzRW5hYmxlZCkKKyAgICAgICAgICAgIGVycm9yU3RyaW5nID0gIkFscmVh
ZHkgaGF2ZSBicmVha3BvaW50IGZvciBhbGwgdGltZW91dHMiX3M7CisgICAgICAgIG1fcGF1c2VP
bkFsbFRpbWVvdXRzRW5hYmxlZCA9IHRydWU7CisgICAgICAgIGJyZWFrOworICAgIH0KIH0KIAot
dm9pZCBJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50OjpyZW1vdmVFdmVudEJyZWFrcG9pbnQoRXJy
b3JTdHJpbmcmIGVycm9yLCBjb25zdCBTdHJpbmcmIGJyZWFrcG9pbnRUeXBlU3RyaW5nLCBjb25z
dCBTdHJpbmcmIGV2ZW50TmFtZSkKK3ZvaWQgSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudDo6cmVt
b3ZlRXZlbnRCcmVha3BvaW50KEVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5n
JiBicmVha3BvaW50VHlwZVN0cmluZywgY29uc3QgU3RyaW5nKiBldmVudE5hbWUpCiB7CiAgICAg
aWYgKGJyZWFrcG9pbnRUeXBlU3RyaW5nLmlzRW1wdHkoKSkgewotICAgICAgICBlcnJvciA9ICJF
dmVudCBicmVha3BvaW50IHR5cGUgaXMgZW1wdHkiX3M7CisgICAgICAgIGVycm9yU3RyaW5nID0g
IkV2ZW50IGJyZWFrcG9pbnQgdHlwZSBpcyBlbXB0eSJfczsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAogICAgIGF1dG8gYnJlYWtwb2ludFR5cGUgPSBJbnNwZWN0b3I6OlByb3RvY29sOjpJbnNw
ZWN0b3JIZWxwZXJzOjpwYXJzZUVudW1WYWx1ZUZyb21TdHJpbmc8SW5zcGVjdG9yOjpQcm90b2Nv
bDo6RE9NRGVidWdnZXI6OkV2ZW50QnJlYWtwb2ludFR5cGU+KGJyZWFrcG9pbnRUeXBlU3RyaW5n
KTsKICAgICBpZiAoIWJyZWFrcG9pbnRUeXBlKSB7Ci0gICAgICAgIGVycm9yID0gbWFrZVN0cmlu
ZygiVW5rbm93biBldmVudCBicmVha3BvaW50IHR5cGU6ICJfcywgYnJlYWtwb2ludFR5cGVTdHJp
bmcpOworICAgICAgICBlcnJvclN0cmluZyA9IG1ha2VTdHJpbmcoIlVua25vd24gZXZlbnQgYnJl
YWtwb2ludCB0eXBlOiAiX3MsIGJyZWFrcG9pbnRUeXBlU3RyaW5nKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAotICAgIGlmIChldmVudE5hbWUuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGVycm9y
ID0gIkV2ZW50IG5hbWUgaXMgZW1wdHkiX3M7CisgICAgaWYgKGV2ZW50TmFtZSAmJiAhZXZlbnRO
YW1lLT5pc0VtcHR5KCkpIHsKKyAgICAgICAgaWYgKGJyZWFrcG9pbnRUeXBlLnZhbHVlKCkgPT0g
SW5zcGVjdG9yOjpQcm90b2NvbDo6RE9NRGVidWdnZXI6OkV2ZW50QnJlYWtwb2ludFR5cGU6Okxp
c3RlbmVyKSB7CisgICAgICAgICAgICBpZiAoIW1fbGlzdGVuZXJCcmVha3BvaW50cy5yZW1vdmUo
KmV2ZW50TmFtZSkpCisgICAgICAgICAgICAgICAgZXJyb3JTdHJpbmcgPSAiTWlzc2luZyBicmVh
a3BvaW50IGZvciBldmVudE5hbWUiX3M7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KworICAgICAgICBlcnJvclN0cmluZyA9ICJVbmV4cGVjdGVkIGV2ZW50TmFtZSBhcmd1bWVudCJf
czsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1fZXZlbnRCcmVha3BvaW50cy5yZW1v
dmUoc3RkOjptYWtlX3BhaXIoKmJyZWFrcG9pbnRUeXBlLCBldmVudE5hbWUpKTsKKyAgICBzd2l0
Y2ggKGJyZWFrcG9pbnRUeXBlLnZhbHVlKCkpIHsKKyAgICBjYXNlIEluc3BlY3Rvcjo6UHJvdG9j
b2w6OkRPTURlYnVnZ2VyOjpFdmVudEJyZWFrcG9pbnRUeXBlOjpBbmltYXRpb25GcmFtZToKKyAg
ICAgICAgaWYgKCFtX3BhdXNlT25BbGxBbmltYXRpb25GcmFtZXNFbmFibGVkKQorICAgICAgICAg
ICAgZXJyb3JTdHJpbmcgPSAiTWlzc2luZyBicmVha3BvaW50IGZvciBhbGwgYW5pbWF0aW9uIGZy
YW1lcyJfczsKKyAgICAgICAgbV9wYXVzZU9uQWxsQW5pbWF0aW9uRnJhbWVzRW5hYmxlZCA9IGZh
bHNlOworICAgICAgICBicmVhazsKKworICAgIGNhc2UgSW5zcGVjdG9yOjpQcm90b2NvbDo6RE9N
RGVidWdnZXI6OkV2ZW50QnJlYWtwb2ludFR5cGU6OkludGVydmFsOgorICAgICAgICBpZiAoIW1f
cGF1c2VPbkFsbEludGVydmFsc0VuYWJsZWQpCisgICAgICAgICAgICBlcnJvclN0cmluZyA9ICJN
aXNzaW5nIGJyZWFrcG9pbnQgZm9yIGFsbCBpbnRlcnZhbHMiX3M7CisgICAgICAgIG1fcGF1c2VP
bkFsbEludGVydmFsc0VuYWJsZWQgPSBmYWxzZTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNl
IEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRPTURlYnVnZ2VyOjpFdmVudEJyZWFrcG9pbnRUeXBlOjpM
aXN0ZW5lcjoKKyAgICAgICAgaWYgKCFtX3BhdXNlT25BbGxMaXN0ZW5lcnNFbmFibGVkKQorICAg
ICAgICAgICAgZXJyb3JTdHJpbmcgPSAiTWlzc2luZyBicmVha3BvaW50IGZvciBhbGwgbGlzdGVu
ZXJzIl9zOworICAgICAgICBtX3BhdXNlT25BbGxMaXN0ZW5lcnNFbmFibGVkID0gZmFsc2U7Cisg
ICAgICAgIGJyZWFrOworCisgICAgY2FzZSBJbnNwZWN0b3I6OlByb3RvY29sOjpET01EZWJ1Z2dl
cjo6RXZlbnRCcmVha3BvaW50VHlwZTo6VGltZW91dDoKKyAgICAgICAgaWYgKCFtX3BhdXNlT25B
bGxUaW1lb3V0c0VuYWJsZWQpCisgICAgICAgICAgICBlcnJvclN0cmluZyA9ICJNaXNzaW5nIGJy
ZWFrcG9pbnQgZm9yIGFsbCB0aW1lb3V0cyJfczsKKyAgICAgICAgbV9wYXVzZU9uQWxsVGltZW91
dHNFbmFibGVkID0gZmFsc2U7CisgICAgICAgIGJyZWFrOworICAgIH0KIH0KIAogdm9pZCBJbnNw
ZWN0b3JET01EZWJ1Z2dlckFnZW50Ojp3aWxsSW52YWxpZGF0ZVN0eWxlQXR0cihFbGVtZW50JiBl
bGVtZW50KQpAQCAtNDA4LDExICs0NjcsOSBAQCB2b2lkIEluc3BlY3RvckRPTURlYnVnZ2VyQWdl
bnQ6OndpbGxIYW5kbGVFdmVudChFdmVudCYgZXZlbnQsIGNvbnN0IFJlZ2lzdGVyZWRFdgogCiAg
ICAgYXV0byogZG9tQWdlbnQgPSBtX2luc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yRE9NQWdl
bnQoKTsKIAotICAgIGJvb2wgc2hvdWxkUGF1c2UgPSBtX2RlYnVnZ2VyQWdlbnQtPnBhdXNlT25O
ZXh0U3RhdGVtZW50RW5hYmxlZCgpIHx8IG1fZXZlbnRCcmVha3BvaW50cy5jb250YWlucyhzdGQ6
Om1ha2VfcGFpcihJbnNwZWN0b3I6OlByb3RvY29sOjpET01EZWJ1Z2dlcjo6RXZlbnRCcmVha3Bv
aW50VHlwZTo6TGlzdGVuZXIsIGV2ZW50LnR5cGUoKSkpOwotCisgICAgYm9vbCBzaG91bGRQYXVz
ZSA9IG1fZGVidWdnZXJBZ2VudC0+cGF1c2VPbk5leHRTdGF0ZW1lbnRFbmFibGVkKCkgfHwgbV9w
YXVzZU9uQWxsTGlzdGVuZXJzRW5hYmxlZCB8fCBtX2xpc3RlbmVyQnJlYWtwb2ludHMuY29udGFp
bnMoZXZlbnQudHlwZSgpKTsKICAgICBpZiAoIXNob3VsZFBhdXNlICYmIGRvbUFnZW50KQogICAg
ICAgICBzaG91bGRQYXVzZSA9IGRvbUFnZW50LT5oYXNCcmVha3BvaW50Rm9yRXZlbnRMaXN0ZW5l
cigqZXZlbnQuY3VycmVudFRhcmdldCgpLCBldmVudC50eXBlKCksIHJlZ2lzdGVyZWRFdmVudExp
c3RlbmVyLmNhbGxiYWNrKCksIHJlZ2lzdGVyZWRFdmVudExpc3RlbmVyLnVzZUNhcHR1cmUoKSk7
Ci0KICAgICBpZiAoIXNob3VsZFBhdXNlKQogICAgICAgICByZXR1cm47CiAKQEAgLTQyNCw3ICs0
ODEsNyBAQCB2b2lkIEluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQ6OndpbGxIYW5kbGVFdmVudChF
dmVudCYgZXZlbnQsIGNvbnN0IFJlZ2lzdGVyZWRFdgogICAgICAgICAgICAgZXZlbnREYXRhLT5z
ZXRJbnRlZ2VyKCJldmVudExpc3RlbmVySWQiX3MsIGV2ZW50TGlzdGVuZXJJZCk7CiAgICAgfQog
Ci0gICAgbV9kZWJ1Z2dlckFnZW50LT5zY2hlZHVsZVBhdXNlT25OZXh0U3RhdGVtZW50KEluc3Bl
Y3Rvcjo6RGVidWdnZXJGcm9udGVuZERpc3BhdGNoZXI6OlJlYXNvbjo6RXZlbnRMaXN0ZW5lciwg
V1RGTW92ZShldmVudERhdGEpKTsKKyAgICBtX2RlYnVnZ2VyQWdlbnQtPnNjaGVkdWxlUGF1c2VP
bk5leHRTdGF0ZW1lbnQoSW5zcGVjdG9yOjpEZWJ1Z2dlckZyb250ZW5kRGlzcGF0Y2hlcjo6UmVh
c29uOjpMaXN0ZW5lciwgV1RGTW92ZShldmVudERhdGEpKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JE
T01EZWJ1Z2dlckFnZW50OjpkaWRIYW5kbGVFdmVudCgpCkBAIC00MzcsMTQgKzQ5NCwxMiBAQCB2
b2lkIEluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQ6OndpbGxGaXJlVGltZXIoYm9vbCBvbmVTaG90
KQogICAgIGlmICghbV9kZWJ1Z2dlckFnZW50LT5icmVha3BvaW50c0FjdGl2ZSgpKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBTdHJpbmcgZXZlbnROYW1lID0gb25lU2hvdCA/ICJzZXRUaW1lb3V0
Il9zIDogInNldEludGVydmFsIl9zOwotICAgIGJvb2wgc2hvdWxkUGF1c2UgPSBtX2RlYnVnZ2Vy
QWdlbnQtPnBhdXNlT25OZXh0U3RhdGVtZW50RW5hYmxlZCgpIHx8IG1fZXZlbnRCcmVha3BvaW50
cy5jb250YWlucyhzdGQ6Om1ha2VfcGFpcihJbnNwZWN0b3I6OlByb3RvY29sOjpET01EZWJ1Z2dl
cjo6RXZlbnRCcmVha3BvaW50VHlwZTo6VGltZXIsIGV2ZW50TmFtZSkpOworICAgIGJvb2wgc2hv
dWxkUGF1c2UgPSBtX2RlYnVnZ2VyQWdlbnQtPnBhdXNlT25OZXh0U3RhdGVtZW50RW5hYmxlZCgp
IHx8IChvbmVTaG90ID8gbV9wYXVzZU9uQWxsVGltZW91dHNFbmFibGVkIDogbV9wYXVzZU9uQWxs
SW50ZXJ2YWxzRW5hYmxlZCk7CiAgICAgaWYgKCFzaG91bGRQYXVzZSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgUmVmPEpTT046Ok9iamVjdD4gZXZlbnREYXRhID0gSlNPTjo6T2JqZWN0OjpjcmVh
dGUoKTsKLSAgICBldmVudERhdGEtPnNldFN0cmluZygiZXZlbnROYW1lIl9zLCBldmVudE5hbWUp
OwotICAgIG1fZGVidWdnZXJBZ2VudC0+c2NoZWR1bGVQYXVzZU9uTmV4dFN0YXRlbWVudChJbnNw
ZWN0b3I6OkRlYnVnZ2VyRnJvbnRlbmREaXNwYXRjaGVyOjpSZWFzb246OlRpbWVyLCBXVEZNb3Zl
KGV2ZW50RGF0YSkpOworICAgIGF1dG8gYnJlYWtSZWFzb24gPSBvbmVTaG90ID8gSW5zcGVjdG9y
OjpEZWJ1Z2dlckZyb250ZW5kRGlzcGF0Y2hlcjo6UmVhc29uOjpUaW1lb3V0IDogSW5zcGVjdG9y
OjpEZWJ1Z2dlckZyb250ZW5kRGlzcGF0Y2hlcjo6UmVhc29uOjpJbnRlcnZhbDsKKyAgICBtX2Rl
YnVnZ2VyQWdlbnQtPnNjaGVkdWxlUGF1c2VPbk5leHRTdGF0ZW1lbnQoYnJlYWtSZWFzb24sIG51
bGxwdHIpOwogfQogCiB2b2lkIEluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQ6OndpbGxGaXJlQW5p
bWF0aW9uRnJhbWUoKQpAQCAtNDUyLDE0ICs1MDcsMTEgQEAgdm9pZCBJbnNwZWN0b3JET01EZWJ1
Z2dlckFnZW50Ojp3aWxsRmlyZUFuaW1hdGlvbkZyYW1lKCkKICAgICBpZiAoIW1fZGVidWdnZXJB
Z2VudC0+YnJlYWtwb2ludHNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgU3RyaW5n
IGV2ZW50TmFtZSA9ICJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiX3M7Ci0gICAgYm9vbCBzaG91bGRQ
YXVzZSA9IG1fZGVidWdnZXJBZ2VudC0+cGF1c2VPbk5leHRTdGF0ZW1lbnRFbmFibGVkKCkgfHwg
bV9ldmVudEJyZWFrcG9pbnRzLmNvbnRhaW5zKHN0ZDo6bWFrZV9wYWlyKEluc3BlY3Rvcjo6UHJv
dG9jb2w6OkRPTURlYnVnZ2VyOjpFdmVudEJyZWFrcG9pbnRUeXBlOjpBbmltYXRpb25GcmFtZSwg
ZXZlbnROYW1lKSk7CisgICAgYm9vbCBzaG91bGRQYXVzZSA9IG1fZGVidWdnZXJBZ2VudC0+cGF1
c2VPbk5leHRTdGF0ZW1lbnRFbmFibGVkKCkgfHwgbV9wYXVzZU9uQWxsQW5pbWF0aW9uRnJhbWVz
RW5hYmxlZDsKICAgICBpZiAoIXNob3VsZFBhdXNlKQogICAgICAgICByZXR1cm47CiAKLSAgICBS
ZWY8SlNPTjo6T2JqZWN0PiBldmVudERhdGEgPSBKU09OOjpPYmplY3Q6OmNyZWF0ZSgpOwotICAg
IGV2ZW50RGF0YS0+c2V0U3RyaW5nKCJldmVudE5hbWUiX3MsIGV2ZW50TmFtZSk7Ci0gICAgbV9k
ZWJ1Z2dlckFnZW50LT5zY2hlZHVsZVBhdXNlT25OZXh0U3RhdGVtZW50KEluc3BlY3Rvcjo6RGVi
dWdnZXJGcm9udGVuZERpc3BhdGNoZXI6OlJlYXNvbjo6QW5pbWF0aW9uRnJhbWUsIFdURk1vdmUo
ZXZlbnREYXRhKSk7CisgICAgbV9kZWJ1Z2dlckFnZW50LT5zY2hlZHVsZVBhdXNlT25OZXh0U3Rh
dGVtZW50KEluc3BlY3Rvcjo6RGVidWdnZXJGcm9udGVuZERpc3BhdGNoZXI6OlJlYXNvbjo6QW5p
bWF0aW9uRnJhbWUsIG51bGxwdHIpOwogfQogCiB2b2lkIEluc3BlY3RvckRPTURlYnVnZ2VyQWdl
bnQ6OnNldFVSTEJyZWFrcG9pbnQoRXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmIHVybCwgY29u
c3QgYm9vbCogb3B0aW9uYWxJc1JlZ2V4KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuaAppbmRleCBkZGE3
MzBlYWMzYjk4MDgzYjY3MDYxZTI1YTQ2MjRiOTk2NmM4OWJlLi5kMjhlNDdkNGM4NTY4YWQ2MDkx
OTJlMmFkZjBhMDk1MDdjMWUzYTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvYWdlbnRzL0luc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuaApAQCAtNjIsOCAr
NjIsOCBAQCBwdWJsaWM6CiAgICAgLy8gRE9NRGVidWdnZXIgQVBJCiAgICAgdm9pZCBzZXRVUkxC
cmVha3BvaW50KEVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IGJvb2wqIG9w
dGlvbmFsSXNSZWdleCkgZmluYWw7CiAgICAgdm9pZCByZW1vdmVVUkxCcmVha3BvaW50KEVycm9y
U3RyaW5nJiwgY29uc3QgU3RyaW5nJiB1cmwpIGZpbmFsOwotICAgIHZvaWQgc2V0RXZlbnRCcmVh
a3BvaW50KEVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBicmVha3BvaW50VHlwZSwgY29uc3Qg
U3RyaW5nJiBldmVudE5hbWUpIGZpbmFsOwotICAgIHZvaWQgcmVtb3ZlRXZlbnRCcmVha3BvaW50
KEVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBicmVha3BvaW50VHlwZSwgY29uc3QgU3RyaW5n
JiBldmVudE5hbWUpIGZpbmFsOworICAgIHZvaWQgc2V0RXZlbnRCcmVha3BvaW50KEVycm9yU3Ry
aW5nJiwgY29uc3QgU3RyaW5nJiBicmVha3BvaW50VHlwZSwgY29uc3QgU3RyaW5nKiBldmVudE5h
bWUpIGZpbmFsOworICAgIHZvaWQgcmVtb3ZlRXZlbnRCcmVha3BvaW50KEVycm9yU3RyaW5nJiwg
Y29uc3QgU3RyaW5nJiBicmVha3BvaW50VHlwZSwgY29uc3QgU3RyaW5nKiBldmVudE5hbWUpIGZp
bmFsOwogICAgIHZvaWQgc2V0RE9NQnJlYWtwb2ludChFcnJvclN0cmluZyYsIGludCBub2RlSWQs
IGNvbnN0IFN0cmluZyYgdHlwZSkgZmluYWw7CiAgICAgdm9pZCByZW1vdmVET01CcmVha3BvaW50
KEVycm9yU3RyaW5nJiwgaW50IG5vZGVJZCwgY29uc3QgU3RyaW5nJiB0eXBlKSBmaW5hbDsKIApA
QCAtOTksNyArOTksNiBAQCBwcml2YXRlOgogICAgIHZvaWQgZGVzY3JpcHRpb25Gb3JET01FdmVu
dChOb2RlJiB0YXJnZXQsIGludCBicmVha3BvaW50VHlwZSwgYm9vbCBpbnNlcnRpb24sIEpTT046
Ok9iamVjdCYgZGVzY3JpcHRpb24pOwogICAgIHZvaWQgdXBkYXRlU3VidHJlZUJyZWFrcG9pbnRz
KE5vZGUqLCB1aW50MzJfdCByb290TWFzaywgYm9vbCBzZXQpOwogICAgIGJvb2wgaGFzQnJlYWtw
b2ludChOb2RlKiwgaW50IHR5cGUpOwotICAgIHZvaWQgZGlzY2FyZEJpbmRpbmdzKCk7CiAKICAg
ICBSZWZQdHI8SW5zcGVjdG9yOjpET01EZWJ1Z2dlckJhY2tlbmREaXNwYXRjaGVyPiBtX2JhY2tl
bmREaXNwYXRjaGVyOwogICAgIEluc3BlY3Rvcjo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyJiBtX2lu
amVjdGVkU2NyaXB0TWFuYWdlcjsKQEAgLTEwNywxNSArMTA2LDE1IEBAIHByaXZhdGU6CiAgICAg
SW5zcGVjdG9yOjpJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KiBtX2RlYnVnZ2VyQWdlbnQgeyBudWxs
cHRyIH07CiAKICAgICBIYXNoTWFwPE5vZGUqLCB1aW50MzJfdD4gbV9kb21CcmVha3BvaW50czsK
LQotICAgIHVzaW5nIEV2ZW50QnJlYWtwb2ludFR5cGUgPSBJbnNwZWN0b3I6OlByb3RvY29sOjpE
T01EZWJ1Z2dlcjo6RXZlbnRCcmVha3BvaW50VHlwZTsKLSAgICBIYXNoU2V0PHN0ZDo6cGFpcjxF
dmVudEJyZWFrcG9pbnRUeXBlLCBTdHJpbmc+LAotICAgICAgICBXVEY6OlBhaXJIYXNoPEV2ZW50
QnJlYWtwb2ludFR5cGUsIFN0cmluZz4sCi0gICAgICAgIFdURjo6UGFpckhhc2hUcmFpdHM8V1RG
OjpTdHJvbmdFbnVtSGFzaFRyYWl0czxFdmVudEJyZWFrcG9pbnRUeXBlPiwgV1RGOjpIYXNoVHJh
aXRzPFN0cmluZz4+Ci0gICAgPiBtX2V2ZW50QnJlYWtwb2ludHM7CisgICAgSGFzaFNldDxTdHJp
bmc+IG1fbGlzdGVuZXJCcmVha3BvaW50czsKIAogICAgIGVudW0gY2xhc3MgVVJMQnJlYWtwb2lu
dFR5cGUgeyBSZWd1bGFyRXhwcmVzc2lvbiwgVGV4dCB9OwogICAgIEhhc2hNYXA8U3RyaW5nLCBV
UkxCcmVha3BvaW50VHlwZT4gbV91cmxCcmVha3BvaW50czsKKworICAgIGJvb2wgbV9wYXVzZU9u
QWxsQW5pbWF0aW9uRnJhbWVzRW5hYmxlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX3BhdXNlT25B
bGxJbnRlcnZhbHNFbmFibGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1fcGF1c2VPbkFsbExpc3Rl
bmVyc0VuYWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9wYXVzZU9uQWxsVGltZW91dHNFbmFi
bGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fcGF1c2VPbkFsbFVSTHNFbmFibGVkIHsgZmFsc2Ug
fTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25z
L2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9j
YWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IGExM2FlZTE3YzQ2
M2I2ZTJhYTgwYTFlMzc2ZjY2MjZmMmI2Nzc3YTQuLjgzYzc2MjNiN2Q2MTFlMGJiZTE2NDJmODEw
YzM4ZmY0ZTQyOTM4ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6
YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwpAQCAtOTcs
MTQgKzk3LDE4IEBAIGxvY2FsaXplZFN0cmluZ3NbIkFkZCB3YXRjaCBleHByZXNzaW9uIl0gPSAi
QWRkIHdhdGNoIGV4cHJlc3Npb24iOwogbG9jYWxpemVkU3RyaW5nc1siQWRkaXRpb25zIl0gPSAi
QWRkaXRpb25zIjsKIGxvY2FsaXplZFN0cmluZ3NbIkFkZHJlc3MiXSA9ICJBZGRyZXNzIjsKIGxv
Y2FsaXplZFN0cmluZ3NbIkFsbCJdID0gIkFsbCI7Citsb2NhbGl6ZWRTdHJpbmdzWyJBbGwgQW5p
bWF0aW9uIEZyYW1lcyJdID0gIkFsbCBBbmltYXRpb24gRnJhbWVzIjsKIGxvY2FsaXplZFN0cmlu
Z3NbIkFsbCBDaGFuZ2VzIl0gPSAiQWxsIENoYW5nZXMiOworbG9jYWxpemVkU3RyaW5nc1siQWxs
IEV2ZW50cyJdID0gIkFsbCBFdmVudHMiOwogLyogQnJlYWsgKHBhdXNlKSBvbiBhbGwgZXhjZXB0
aW9ucyAqLwogbG9jYWxpemVkU3RyaW5nc1siQWxsIEV4Y2VwdGlvbnMiXSA9ICJBbGwgRXhjZXB0
aW9ucyI7Citsb2NhbGl6ZWRTdHJpbmdzWyJBbGwgSW50ZXJ2YWxzIl0gPSAiQWxsIEludGVydmFs
cyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJBbGwgTGF5ZXJzIl0gPSAiQWxsIExheWVycyI7CiAvKiBB
IHN1Ym1lbnUgaXRlbSBvZiAnQnJlYWsgb24nIHRoYXQgYnJlYWtzIChwYXVzZXMpIGJlZm9yZSBh
bGwgbmV0d29yayByZXF1ZXN0cyAqLwogbG9jYWxpemVkU3RyaW5nc1siQWxsIFJlcXVlc3RzIl0g
PSAiQWxsIFJlcXVlc3RzIjsKIGxvY2FsaXplZFN0cmluZ3NbIkFsbCBSZXNvdXJjZXMiXSA9ICJB
bGwgUmVzb3VyY2VzIjsKIGxvY2FsaXplZFN0cmluZ3NbIkFsbCBTdG9yYWdlIl0gPSAiQWxsIFN0
b3JhZ2UiOworbG9jYWxpemVkU3RyaW5nc1siQWxsIFRpbWVvdXRzIl0gPSAiQWxsIFRpbWVvdXRz
IjsKIGxvY2FsaXplZFN0cmluZ3NbIkFsbCBpdGVtcyBpbiBcdTAwMjIlc1x1MDAyMiBtdXN0IGJl
IGVycm9yIG9iamVjdHMiXSA9ICJBbGwgaXRlbXMgaW4gXHUwMDIyJXNcdTAwMjIgbXVzdCBiZSBl
cnJvciBvYmplY3RzIjsKIGxvY2FsaXplZFN0cmluZ3NbIkFsbCBpdGVtcyBpbiBcdTAwMjIlc1x1
MDAyMiBtdXN0IGJlIG5vbi1lbXB0eSBzdHJpbmdzIl0gPSAiQWxsIGl0ZW1zIGluIFx1MDAyMiVz
XHUwMDIyIG11c3QgYmUgbm9uLWVtcHR5IHN0cmluZ3MiOwogbG9jYWxpemVkU3RyaW5nc1siQWxs
IGl0ZW1zIGluIFx1MDAyMiVzXHUwMDIyIG11c3QgYmUgdmFsaWQgRE9NIG5vZGVzIl0gPSAiQWxs
IGl0ZW1zIGluIFx1MDAyMiVzXHUwMDIyIG11c3QgYmUgdmFsaWQgRE9NIG5vZGVzIjsKQEAgLTMw
MSw3ICszMDUsNiBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJDdXN0b20iXSA9ICJDdXN0b20iOwogbG9j
YWxpemVkU3RyaW5nc1siRE5TIl0gPSAiRE5TIjsKIGxvY2FsaXplZFN0cmluZ3NbIkRPTSJdID0g
IkRPTSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJET00gQ29udGVudCBMb2FkZWQgXHUyMDE0ICVzIl0g
PSAiRE9NIENvbnRlbnQgTG9hZGVkIFx1MjAxNCAlcyI7Ci1sb2NhbGl6ZWRTdHJpbmdzWyJET00g
RXZlbnQiXSA9ICJET00gRXZlbnQiOwogbG9jYWxpemVkU3RyaW5nc1siRE9NIEV2ZW50cyJdID0g
IkRPTSBFdmVudHMiOwogbG9jYWxpemVkU3RyaW5nc1siRE9NIE5vZGVzOiJdID0gIkRPTSBOb2Rl
czoiOwogbG9jYWxpemVkU3RyaW5nc1siRGFtcGluZyJdID0gIkRhbXBpbmciOwpAQCAtMTI1OSw2
ICsxMjYyLDkgQEAgbG9jYWxpemVkU3RyaW5nc1sibm9uLXN0cmluZyAlcyJdID0gIm5vbi1zdHJp
bmcgJXMiOwogbG9jYWxpemVkU3RyaW5nc1sib3JpZ2luYWxseSAlcyJdID0gIm9yaWdpbmFsbHkg
JXMiOwogbG9jYWxpemVkU3RyaW5nc1sicG9wdXAiXSA9ICJwb3B1cCI7CiBsb2NhbGl6ZWRTdHJp
bmdzWyJwb3B1cCwgdG9nZ2xlIl0gPSAicG9wdXAsIHRvZ2dsZSI7Citsb2NhbGl6ZWRTdHJpbmdz
WyJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUgRmlyZWQiXSA9ICJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUg
RmlyZWQiOworbG9jYWxpemVkU3RyaW5nc1sic2V0SW50ZXJ2YWwgRmlyZWQiXSA9ICJzZXRJbnRl
cnZhbCBGaXJlZCI7Citsb2NhbGl6ZWRTdHJpbmdzWyJzZXRUaW1lb3V0IEZpcmVkIl0gPSAic2V0
VGltZW91dCBGaXJlZCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJzcGFjZSJdID0gInNwYWNlIjsKIGxv
Y2FsaXplZFN0cmluZ3NbInNwYWNlcyJdID0gInNwYWNlcyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJ0
aW1lIGJlZm9yZSBzdG9wcGluZyJdID0gInRpbWUgYmVmb3JlIHN0b3BwaW5nIjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvU2V0dGluZy5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvU2V0dGluZy5qcwppbmRl
eCBkODc3ZGQzODdiMDliOTI1MDI1NjgzYjkzZDdhMWMwYmM0NjRiZTY3Li4wZGQ1MTYxOGIyOGQ2
Y2YwYWU4NGZhNTQyMTcyMWU3NWM3YjJhOTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9CYXNlL1NldHRpbmcuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9TZXR0aW5nLmpzCkBAIC0xNTgsNyArMTU4LDExIEBA
IFdJLnNldHRpbmdzID0gewogICAgIHNlYXJjaFJlZ3VsYXJFeHByZXNzaW9uOiBuZXcgV0kuU2V0
dGluZygic2VhcmNoLXJlZ3VsYXItZXhwcmVzc2lvbiIsIGZhbHNlKSwKICAgICBzZWxlY3RlZE5l
dHdvcmtEZXRhaWxDb250ZW50Vmlld0lkZW50aWZpZXI6IG5ldyBXSS5TZXR0aW5nKCJuZXR3b3Jr
LWRldGFpbC1jb250ZW50LXZpZXctaWRlbnRpZmllciIsICJwcmV2aWV3IiksCiAgICAgc291cmNl
TWFwc0VuYWJsZWQ6IG5ldyBXSS5TZXR0aW5nKCJzb3VyY2UtbWFwcy1lbmFibGVkIiwgdHJ1ZSks
CisgICAgc2hvd0FsbEFuaW1hdGlvbkZyYW1lc0JyZWFrcG9pbnQ6IG5ldyBXSS5TZXR0aW5nKCJz
aG93LWFsbC1hbmltYXRpb24tZnJhbWVzLWJyZWFrcG9pbnQiLCBmYWxzZSksCisgICAgc2hvd0Fs
bEludGVydmFsc0JyZWFrcG9pbnQ6IG5ldyBXSS5TZXR0aW5nKCJzaG93LWFsbC1pbnRldmVyYWxz
LWJyZWFrcG9pbnQiLCBmYWxzZSksCisgICAgc2hvd0FsbExpc3RlbmVyc0JyZWFrcG9pbnQ6IG5l
dyBXSS5TZXR0aW5nKCJzaG93LWFsbC1saXN0ZW5lcnMtYnJlYWtwb2ludCIsIGZhbHNlKSwKICAg
ICBzaG93QWxsUmVxdWVzdHNCcmVha3BvaW50OiBuZXcgV0kuU2V0dGluZygic2hvdy1hbGwtcmVx
dWVzdHMtYnJlYWtwb2ludCIsIHRydWUpLAorICAgIHNob3dBbGxUaW1lb3V0c0JyZWFrcG9pbnQ6
IG5ldyBXSS5TZXR0aW5nKCJzaG93LWFsbC10aW1lb3V0cy1icmVha3BvaW50IiwgZmFsc2UpLAog
ICAgIHNob3dBc3NlcnRpb25GYWlsdXJlc0JyZWFrcG9pbnQ6IG5ldyBXSS5TZXR0aW5nKCJzaG93
LWFzc2VydGlvbi1mYWlsdXJlcy1icmVha3BvaW50IiwgdHJ1ZSksCiAgICAgc2hvd0NhbnZhc1Bh
dGg6IG5ldyBXSS5TZXR0aW5nKCJzaG93LWNhbnZhcy1wYXRoIiwgZmFsc2UpLAogICAgIHNob3dJ
bWFnZUdyaWQ6IG5ldyBXSS5TZXR0aW5nKCJzaG93LWltYWdlLWdyaWQiLCBmYWxzZSksCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9E
T01EZWJ1Z2dlck1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9Db250cm9sbGVycy9ET01EZWJ1Z2dlck1hbmFnZXIuanMKaW5kZXggY2JlODhhZjY4NWZhYzgw
YTNiM2Q2MzVkNzFjNWE4Y2ExM2Y3MWIwNC4uN2Q1NDQ3MWQ2OTNjYmRhMjU5YjEzZjUzN2M5OGYw
YzE0OTAyMGY2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvQ29udHJvbGxlcnMvRE9NRGVidWdnZXJNYW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTURlYnVnZ2VyTWFuYWdlci5qcwpA
QCAtMzIsMTEgKzMyLDMwIEBAIFdJLkRPTURlYnVnZ2VyTWFuYWdlciA9IGNsYXNzIERPTURlYnVn
Z2VyTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICB0aGlzLl9kb21CcmVha3BvaW50
VVJMTWFwID0gbmV3IE11bHRpbWFwOwogICAgICAgICB0aGlzLl9kb21CcmVha3BvaW50RnJhbWVJ
ZGVudGlmaWVyTWFwID0gbmV3IE1hcDsKIAotICAgICAgICB0aGlzLl9ldmVudEJyZWFrcG9pbnRz
ID0gW107Ci0KKyAgICAgICAgdGhpcy5fbGlzdGVuZXJCcmVha3BvaW50cyA9IFtdOwogICAgICAg
ICB0aGlzLl91cmxCcmVha3BvaW50cyA9IFtdOwotICAgICAgICB0aGlzLl9hbGxSZXF1ZXN0c0Jy
ZWFrcG9pbnRFbmFibGVkU2V0dGluZyA9IG5ldyBXSS5TZXR0aW5nKCJicmVhay1vbi1hbGwtcmVx
dWVzdHMiLCBmYWxzZSk7CiAKKyAgICAgICAgdGhpcy5fYWxsQW5pbWF0aW9uRnJhbWVzQnJlYWtw
b2ludEVuYWJsZWRTZXR0aW5nID0gbmV3IFdJLlNldHRpbmcoImJyZWFrLW9uLWFsbC1hbmltYXRp
b24tZnJhbWVzIiwgZmFsc2UpOworICAgICAgICB0aGlzLl9hbGxBbmltYXRpb25GcmFtZXNCcmVh
a3BvaW50ID0gbmV3IFdJLkV2ZW50QnJlYWtwb2ludChXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5B
bmltYXRpb25GcmFtZSwgeworICAgICAgICAgICAgZGlzYWJsZWQ6ICF0aGlzLl9hbGxBbmltYXRp
b25GcmFtZXNCcmVha3BvaW50RW5hYmxlZFNldHRpbmcudmFsdWUsCisgICAgICAgIH0pOworCisg
ICAgICAgIHRoaXMuX2FsbEludGVydmFsc0JyZWFrcG9pbnRFbmFibGVkU2V0dGluZyA9IG5ldyBX
SS5TZXR0aW5nKCJicmVhay1vbi1hbGwtaW50ZXJ2YWxzIiwgZmFsc2UpOworICAgICAgICB0aGlz
Ll9hbGxJbnRlcnZhbHNCcmVha3BvaW50ID0gbmV3IFdJLkV2ZW50QnJlYWtwb2ludChXSS5FdmVu
dEJyZWFrcG9pbnQuVHlwZS5JbnRlcnZhbCwgeworICAgICAgICAgICAgZGlzYWJsZWQ6ICF0aGlz
Ll9hbGxJbnRlcnZhbHNCcmVha3BvaW50RW5hYmxlZFNldHRpbmcudmFsdWUsCisgICAgICAgIH0p
OworCisgICAgICAgIHRoaXMuX2FsbExpc3RlbmVyc0JyZWFrcG9pbnRFbmFibGVkU2V0dGluZyA9
IG5ldyBXSS5TZXR0aW5nKCJicmVhay1vbi1hbGwtbGlzdGVuZXJzIiwgZmFsc2UpOworICAgICAg
ICB0aGlzLl9hbGxMaXN0ZW5lcnNCcmVha3BvaW50ID0gbmV3IFdJLkV2ZW50QnJlYWtwb2ludChX
SS5FdmVudEJyZWFrcG9pbnQuVHlwZS5MaXN0ZW5lciwgeworICAgICAgICAgICAgZGlzYWJsZWQ6
ICF0aGlzLl9hbGxMaXN0ZW5lcnNCcmVha3BvaW50RW5hYmxlZFNldHRpbmcudmFsdWUsCisgICAg
ICAgIH0pOworCisgICAgICAgIHRoaXMuX2FsbFRpbWVvdXRzQnJlYWtwb2ludEVuYWJsZWRTZXR0
aW5nID0gbmV3IFdJLlNldHRpbmcoImJyZWFrLW9uLWFsbC10aW1lb3V0cyIsIGZhbHNlKTsKKyAg
ICAgICAgdGhpcy5fYWxsVGltZW91dHNCcmVha3BvaW50ID0gbmV3IFdJLkV2ZW50QnJlYWtwb2lu
dChXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5UaW1lb3V0LCB7CisgICAgICAgICAgICBkaXNhYmxl
ZDogIXRoaXMuX2FsbFRpbWVvdXRzQnJlYWtwb2ludEVuYWJsZWRTZXR0aW5nLnZhbHVlLAorICAg
ICAgICB9KTsKKworICAgICAgICB0aGlzLl9hbGxSZXF1ZXN0c0JyZWFrcG9pbnRFbmFibGVkU2V0
dGluZyA9IG5ldyBXSS5TZXR0aW5nKCJicmVhay1vbi1hbGwtcmVxdWVzdHMiLCBmYWxzZSk7CiAg
ICAgICAgIHRoaXMuX2FsbFJlcXVlc3RzQnJlYWtwb2ludCA9IG5ldyBXSS5VUkxCcmVha3BvaW50
KFdJLlVSTEJyZWFrcG9pbnQuVHlwZS5UZXh0LCAiIiwgewogICAgICAgICAgICAgZGlzYWJsZWQ6
ICF0aGlzLl9hbGxSZXF1ZXN0c0JyZWFrcG9pbnRFbmFibGVkU2V0dGluZy52YWx1ZSwKICAgICAg
ICAgfSk7CkBAIC03OCwxNSArOTcsNTMgQEAgV0kuRE9NRGVidWdnZXJNYW5hZ2VyID0gY2xhc3Mg
RE9NRGVidWdnZXJNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICB9KSgpKTsK
ICAgICAgICAgfTsKIAotICAgICAgICBpZiAodGhpcy5zdXBwb3J0ZWQpIHsKKyAgICAgICAgaWYg
KERPTURlYnVnZ2VyTWFuYWdlci5zdXBwb3J0c0RPTUJyZWFrcG9pbnRzKCkpIHsKICAgICAgICAg
ICAgIGxvYWRCcmVha3BvaW50cyhXSS5ET01CcmVha3BvaW50LCBXSS5vYmplY3RTdG9yZXMuZG9t
QnJlYWtwb2ludHMsIFsiZG9tLWJyZWFrcG9pbnRzIl0sIChicmVha3BvaW50KSA9PiB7CiAgICAg
ICAgICAgICAgICAgdGhpcy5hZGRET01CcmVha3BvaW50KGJyZWFrcG9pbnQpOwogICAgICAgICAg
ICAgfSk7CisgICAgICAgIH0KIAorICAgICAgICBpZiAoRE9NRGVidWdnZXJNYW5hZ2VyLnN1cHBv
cnRzRXZlbnRCcmVha3BvaW50cygpIHx8IERPTURlYnVnZ2VyTWFuYWdlci5zdXBwb3J0c0V2ZW50
TGlzdGVuZXJCcmVha3BvaW50cygpKSB7CiAgICAgICAgICAgICBsb2FkQnJlYWtwb2ludHMoV0ku
RXZlbnRCcmVha3BvaW50LCBXSS5vYmplY3RTdG9yZXMuZXZlbnRCcmVha3BvaW50cywgWyJldmVu
dC1icmVha3BvaW50cyJdLCAoYnJlYWtwb2ludCkgPT4geworICAgICAgICAgICAgICAgIC8vIE1p
Z3JhdGUgYHJlcXVlc3RBbmltYXRpb25GcmFtZWAsIGBzZXRUaW1lb3V0YCwgYW5kIGBzZXRJbnRl
cnZhbGAgZ2xvYmFsIGJyZWFrcG9pbnRzLgorICAgICAgICAgICAgICAgIHN3aXRjaCAoYnJlYWtw
b2ludC50eXBlKSB7CisgICAgICAgICAgICAgICAgY2FzZSBXSS5FdmVudEJyZWFrcG9pbnQuVHlw
ZS5BbmltYXRpb25GcmFtZToKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWxsQW5pbWF0aW9u
RnJhbWVzQnJlYWtwb2ludC5kaXNhYmxlZCA9IGJyZWFrcG9pbnQuZGlzYWJsZWQ7CisgICAgICAg
ICAgICAgICAgICAgIGlmICghV0kuc2V0dGluZ3Muc2hvd0FsbEFuaW1hdGlvbkZyYW1lc0JyZWFr
cG9pbnQudmFsdWUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFdJLnNldHRpbmdzLnNob3dB
bGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50LnZhbHVlID0gdHJ1ZTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHRoaXMuYWRkRXZlbnRCcmVha3BvaW50KHRoaXMuX2FsbEFuaW1hdGlvbkZyYW1l
c0JyZWFrcG9pbnQpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAg
IFdJLm9iamVjdFN0b3Jlcy5ldmVudEJyZWFrcG9pbnRzLmRlbGV0ZU9iamVjdChicmVha3BvaW50
KTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICAgICAgY2FzZSBX
SS5FdmVudEJyZWFrcG9pbnQuVHlwZS5UaW1lcjoKKyAgICAgICAgICAgICAgICAgICAgc3dpdGNo
IChicmVha3BvaW50LmV2ZW50TmFtZSkgeworICAgICAgICAgICAgICAgICAgICBjYXNlICJzZXRU
aW1lb3V0IjoKKyAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2FsbFRpbWVvdXRzQnJlYWtw
b2ludC5kaXNhYmxlZCA9IGJyZWFrcG9pbnQuZGlzYWJsZWQ7CisgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoIVdJLnNldHRpbmdzLnNob3dBbGxUaW1lb3V0c0JyZWFrcG9pbnQudmFsdWUpIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBXSS5zZXR0aW5ncy5zaG93QWxsVGltZW91dHNC
cmVha3BvaW50LnZhbHVlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlz
LmFkZEV2ZW50QnJlYWtwb2ludCh0aGlzLl9hbGxUaW1lb3V0c0JyZWFrcG9pbnQpOworICAgICAg
ICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAg
ICAgICAgICAgICAgICAgICAgY2FzZSAic2V0SW50ZXJ2YWwiOgorICAgICAgICAgICAgICAgICAg
ICAgICAgdGhpcy5fYWxsSW50ZXJ2YWxzQnJlYWtwb2ludC5kaXNhYmxlZCA9IGJyZWFrcG9pbnQu
ZGlzYWJsZWQ7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIVdJLnNldHRpbmdzLnNob3dB
bGxJbnRlcnZhbHNCcmVha3BvaW50LnZhbHVlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgV0kuc2V0dGluZ3Muc2hvd0FsbEludGVydmFsc0JyZWFrcG9pbnQudmFsdWUgPSB0cnVlOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkRXZlbnRCcmVha3BvaW50KHRoaXMu
X2FsbEludGVydmFsc0JyZWFrcG9pbnQpOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgICAgICAgICBXSS5vYmplY3RTdG9yZXMuZXZlbnRCcmVha3BvaW50cy5kZWxldGVP
YmplY3QoYnJlYWtwb2ludCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgICAgICB9CisKICAgICAgICAgICAgICAgICB0aGlzLmFkZEV2ZW50QnJlYWtwb2ludChicmVh
a3BvaW50KTsKICAgICAgICAgICAgIH0pOworICAgICAgICB9CiAKKyAgICAgICAgaWYgKERPTURl
YnVnZ2VyTWFuYWdlci5zdXBwb3J0c1VSTEJyZWFrcG9pbnRzKCkgfHwgRE9NRGVidWdnZXJNYW5h
Z2VyLnN1cHBvcnRzWEhSQnJlYWtwb2ludHMoKSkgewogICAgICAgICAgICAgbG9hZEJyZWFrcG9p
bnRzKFdJLlVSTEJyZWFrcG9pbnQsIFdJLm9iamVjdFN0b3Jlcy51cmxCcmVha3BvaW50cywgWyJ4
aHItYnJlYWtwb2ludHMiLCAidXJsLWJyZWFrcG9pbnRzIl0sIChicmVha3BvaW50KSA9PiB7CiAg
ICAgICAgICAgICAgICAgdGhpcy5hZGRVUkxCcmVha3BvaW50KGJyZWFrcG9pbnQpOwogICAgICAg
ICAgICAgfSk7CkBAIC0xMDEsNyArMTU4LDIyIEBAIFdJLkRPTURlYnVnZ2VyTWFuYWdlciA9IGNs
YXNzIERPTURlYnVnZ2VyTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAgICAgaWYg
KHRhcmdldCA9PT0gV0kuYXNzdW1pbmdNYWluVGFyZ2V0KCkgJiYgdGFyZ2V0Lm1haW5SZXNvdXJj
ZSkKICAgICAgICAgICAgICAgICB0aGlzLl9zcGVjdWxhdGl2ZWx5UmVzb2x2ZURPTUJyZWFrcG9p
bnRzRm9yVVJMKHRhcmdldC5tYWluUmVzb3VyY2UudXJsKTsKIAotICAgICAgICAgICAgZm9yIChs
ZXQgYnJlYWtwb2ludCBvZiB0aGlzLl9ldmVudEJyZWFrcG9pbnRzKSB7CisgICAgICAgICAgICBp
ZiAoIXRoaXMuX2FsbEFuaW1hdGlvbkZyYW1lc0JyZWFrcG9pbnQuZGlzYWJsZWQpCisgICAgICAg
ICAgICAgICAgdGhpcy5fdXBkYXRlRXZlbnRCcmVha3BvaW50KHRoaXMuX2FsbEFuaW1hdGlvbkZy
YW1lc0JyZWFrcG9pbnQsIHRhcmdldCk7CisKKyAgICAgICAgICAgIGlmICghdGhpcy5fYWxsSW50
ZXJ2YWxzQnJlYWtwb2ludC5kaXNhYmxlZCkKKyAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVF
dmVudEJyZWFrcG9pbnQodGhpcy5fYWxsSW50ZXJ2YWxzQnJlYWtwb2ludCwgdGFyZ2V0KTsKKwor
ICAgICAgICAgICAgaWYgKCF0aGlzLl9hbGxMaXN0ZW5lcnNCcmVha3BvaW50LmRpc2FibGVkKQor
ICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUV2ZW50QnJlYWtwb2ludCh0aGlzLl9hbGxMaXN0
ZW5lcnNCcmVha3BvaW50LCB0YXJnZXQpOworCisgICAgICAgICAgICBpZiAoIXRoaXMuX2FsbFRp
bWVvdXRzQnJlYWtwb2ludC5kaXNhYmxlZCkKKyAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVF
dmVudEJyZWFrcG9pbnQodGhpcy5fYWxsVGltZW91dHNCcmVha3BvaW50LCB0YXJnZXQpOworCisg
ICAgICAgICAgICBpZiAoIXRoaXMuX2FsbFJlcXVlc3RzQnJlYWtwb2ludC5kaXNhYmxlZCkKKyAg
ICAgICAgICAgICAgICB0aGlzLl91cGRhdGVVUkxCcmVha3BvaW50KHRoaXMuX2FsbFJlcXVlc3Rz
QnJlYWtwb2ludCwgdGFyZ2V0KTsKKworICAgICAgICAgICAgZm9yIChsZXQgYnJlYWtwb2ludCBv
ZiB0aGlzLl9saXN0ZW5lckJyZWFrcG9pbnRzKSB7CiAgICAgICAgICAgICAgICAgaWYgKCFicmVh
a3BvaW50LmRpc2FibGVkKQogICAgICAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVFdmVudEJy
ZWFrcG9pbnQoYnJlYWtwb2ludCwgdGFyZ2V0KTsKICAgICAgICAgICAgIH0KQEAgLTExMCwyMiAr
MTgyLDQ1IEBAIFdJLkRPTURlYnVnZ2VyTWFuYWdlciA9IGNsYXNzIERPTURlYnVnZ2VyTWFuYWdl
ciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAgICAgICAgIGlmICghYnJlYWtwb2ludC5kaXNh
YmxlZCkKICAgICAgICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlVVJMQnJlYWtwb2ludChicmVh
a3BvaW50LCB0YXJnZXQpOwogICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAoIXRoaXMu
X2FsbFJlcXVlc3RzQnJlYWtwb2ludC5kaXNhYmxlZCkKLSAgICAgICAgICAgICAgICB0aGlzLl91
cGRhdGVVUkxCcmVha3BvaW50KHRoaXMuX2FsbFJlcXVlc3RzQnJlYWtwb2ludCwgdGFyZ2V0KTsK
ICAgICAgICAgfQogICAgIH0KIAogICAgIC8vIFN0YXRpYwogCisgICAgc3RhdGljIHN1cHBvcnRz
RE9NQnJlYWtwb2ludHMoKQorICAgIHsKKyAgICAgICAgLy8gQ09NUEFUSUJJTElUWSAoaU9TIDEw
LjMpOiBET01EZWJ1Z2dlci5zZXRET01CcmVha3BvaW50IGFuZCBET01EZWJ1Z2dlci5yZW1vdmVE
T01CcmVha3BvaW50IGRpZCBub3QgZXhpc3QgeWV0LgorICAgICAgICByZXR1cm4gSW5zcGVjdG9y
QmFja2VuZC5kb21haW5zLkRPTURlYnVnZ2VyICYmIEluc3BlY3RvckJhY2tlbmQuZG9tYWlucy5E
T01EZWJ1Z2dlci5zZXRET01CcmVha3BvaW50ICYmIEluc3BlY3RvckJhY2tlbmQuZG9tYWlucy5E
T01EZWJ1Z2dlci5yZW1vdmVET01CcmVha3BvaW50OworICAgIH0KKwogICAgIHN0YXRpYyBzdXBw
b3J0c0V2ZW50QnJlYWtwb2ludHMoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIEluc3BlY3RvckJh
Y2tlbmQuZG9tYWlucy5ET01EZWJ1Z2dlci5zZXRFdmVudEJyZWFrcG9pbnQgJiYgSW5zcGVjdG9y
QmFja2VuZC5kb21haW5zLkRPTURlYnVnZ2VyLnJlbW92ZUV2ZW50QnJlYWtwb2ludDsKKyAgICAg
ICAgLy8gQ09NUEFUSUJJTElUWSAoaU9TIDEzKTogRE9NRGVidWdnZXIuc2V0RXZlbnRCcmVha3Bv
aW50IGFuZCBET01EZWJ1Z2dlci5yZW1vdmVFdmVudEJyZWFrcG9pbnQgZGlkIG5vdCBleGlzdCB5
ZXQuCisgICAgICAgIHJldHVybiBJbnNwZWN0b3JCYWNrZW5kLmRvbWFpbnMuRE9NRGVidWdnZXIg
JiYgSW5zcGVjdG9yQmFja2VuZC5kb21haW5zLkRPTURlYnVnZ2VyLnNldEV2ZW50QnJlYWtwb2lu
dCAmJiBJbnNwZWN0b3JCYWNrZW5kLmRvbWFpbnMuRE9NRGVidWdnZXIucmVtb3ZlRXZlbnRCcmVh
a3BvaW50OworICAgIH0KKworICAgIHN0YXRpYyBzdXBwb3J0c0V2ZW50TGlzdGVuZXJCcmVha3Bv
aW50cygpCisgICAgeworICAgICAgICAvLyBDT01QQVRJQklMSVRZIChpT1MgMTIuMik6IFJlcGxh
Y2VkIGJ5IERPTURlYnVnZ2VyLnNldEV2ZW50QnJlYWtwb2ludCBhbmQgRE9NRGVidWdnZXIucmVt
b3ZlRXZlbnRCcmVha3BvaW50LgorICAgICAgICByZXR1cm4gSW5zcGVjdG9yQmFja2VuZC5kb21h
aW5zLkRPTURlYnVnZ2VyICYmIEluc3BlY3RvckJhY2tlbmQuZG9tYWlucy5ET01EZWJ1Z2dlci5z
ZXRFdmVudExpc3RlbmVyQnJlYWtwb2ludCAmJiBJbnNwZWN0b3JCYWNrZW5kLmRvbWFpbnMuRE9N
RGVidWdnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lckJyZWFrcG9pbnQ7CiAgICAgfQogCiAgICAgc3Rh
dGljIHN1cHBvcnRzVVJMQnJlYWtwb2ludHMoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIEluc3Bl
Y3RvckJhY2tlbmQuZG9tYWlucy5ET01EZWJ1Z2dlci5zZXRVUkxCcmVha3BvaW50ICYmIEluc3Bl
Y3RvckJhY2tlbmQuZG9tYWlucy5ET01EZWJ1Z2dlci5yZW1vdmVVUkxCcmVha3BvaW50OworICAg
ICAgICAvLyBDT01QQVRJQklMSVRZIChpT1MgMTMpOiBET01EZWJ1Z2dlci5zZXRVUkxCcmVha3Bv
aW50IGFuZCBET01EZWJ1Z2dlci5yZW1vdmVVUkxCcmVha3BvaW50IGRpZCBub3QgZXhpc3QgeWV0
LgorICAgICAgICByZXR1cm4gSW5zcGVjdG9yQmFja2VuZC5kb21haW5zLkRPTURlYnVnZ2VyICYm
IEluc3BlY3RvckJhY2tlbmQuZG9tYWlucy5ET01EZWJ1Z2dlci5zZXRVUkxCcmVha3BvaW50ICYm
IEluc3BlY3RvckJhY2tlbmQuZG9tYWlucy5ET01EZWJ1Z2dlci5yZW1vdmVVUkxCcmVha3BvaW50
OworICAgIH0KKworICAgIHN0YXRpYyBzdXBwb3J0c1hIUkJyZWFrcG9pbnRzKCkKKyAgICB7Cisg
ICAgICAgIC8vIENPTVBBVElCSUxJVFkgKGlPUyAxMyk6IFJlcGxhY2VkIGJ5IERPTURlYnVnZ2Vy
LnNldFVSTEJyZWFrcG9pbnQgYW5kIERPTURlYnVnZ2VyLnJlbW92ZVVSTEJyZWFrcG9pbnQuCisg
ICAgICAgIHJldHVybiBJbnNwZWN0b3JCYWNrZW5kLmRvbWFpbnMuRE9NRGVidWdnZXIgJiYgSW5z
cGVjdG9yQmFja2VuZC5kb21haW5zLkRPTURlYnVnZ2VyLnNldFhIUkJyZWFrcG9pbnQgJiYgSW5z
cGVjdG9yQmFja2VuZC5kb21haW5zLkRPTURlYnVnZ2VyLnJlbW92ZVhIUkJyZWFrcG9pbnQ7Cisg
ICAgfQorCisgICAgc3RhdGljIHN1cHBvcnRzQWxsTGlzdGVuZXJzQnJlYWtwb2ludCgpCisgICAg
eworICAgICAgICAvLyBDT01QQVRJQklMSVRZIChpT1MgMTMpOiBET01EZWJ1Z2dlci5FdmVudEJy
ZWFrcG9pbnRUeXBlLkludGVydmFsIGFuZCBET01EZWJ1Z2dlci5FdmVudEJyZWFrcG9pbnRUeXBl
LlRpbWVvdXQgZGlkIG5vdCBleGlzdCB5ZXQuCisgICAgICAgIHJldHVybiBET01EZWJ1Z2dlck1h
bmFnZXIuc3VwcG9ydHNFdmVudEJyZWFrcG9pbnRzKCkgJiYgSW5zcGVjdG9yQmFja2VuZC5kb21h
aW5zLkRPTURlYnVnZ2VyLkV2ZW50QnJlYWtwb2ludFR5cGUuSW50ZXJ2YWwgJiYgSW5zcGVjdG9y
QmFja2VuZC5kb21haW5zLkRPTURlYnVnZ2VyLkV2ZW50QnJlYWtwb2ludFR5cGUuVGltZW91dDsK
ICAgICB9CiAKICAgICAvLyBQdWJsaWMKQEAgLTEzNSw2ICsyMzAsMTAgQEAgV0kuRE9NRGVidWdn
ZXJNYW5hZ2VyID0gY2xhc3MgRE9NRGVidWdnZXJNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAg
ICAgICAgIHJldHVybiAhIUluc3BlY3RvckJhY2tlbmQuZG9tYWlucy5ET01EZWJ1Z2dlcjsKICAg
ICB9CiAKKyAgICBnZXQgYWxsQW5pbWF0aW9uRnJhbWVzQnJlYWtwb2ludCgpIHsgcmV0dXJuIHRo
aXMuX2FsbEFuaW1hdGlvbkZyYW1lc0JyZWFrcG9pbnQ7IH0KKyAgICBnZXQgYWxsSW50ZXJ2YWxz
QnJlYWtwb2ludCgpIHsgcmV0dXJuIHRoaXMuX2FsbEludGVydmFsc0JyZWFrcG9pbnQ7IH0KKyAg
ICBnZXQgYWxsTGlzdGVuZXJzQnJlYWtwb2ludCgpIHsgcmV0dXJuIHRoaXMuX2FsbExpc3RlbmVy
c0JyZWFrcG9pbnQ7IH0KKyAgICBnZXQgYWxsVGltZW91dHNCcmVha3BvaW50KCkgeyByZXR1cm4g
dGhpcy5fYWxsVGltZW91dHNCcmVha3BvaW50OyB9CiAgICAgZ2V0IGFsbFJlcXVlc3RzQnJlYWtw
b2ludCgpIHsgcmV0dXJuIHRoaXMuX2FsbFJlcXVlc3RzQnJlYWtwb2ludDsgfQogCiAgICAgZ2V0
IGRvbUJyZWFrcG9pbnRzKCkKQEAgLTE1NywxMyArMjU2LDE2IEBAIFdJLkRPTURlYnVnZ2VyTWFu
YWdlciA9IGNsYXNzIERPTURlYnVnZ2VyTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAg
ICByZXR1cm4gcmVzb2x2ZWRCcmVha3BvaW50czsKICAgICB9CiAKLSAgICBnZXQgZXZlbnRCcmVh
a3BvaW50cygpIHsgcmV0dXJuIHRoaXMuX2V2ZW50QnJlYWtwb2ludHM7IH0KLQorICAgIGdldCBs
aXN0ZW5lckJyZWFrcG9pbnRzKCkgeyByZXR1cm4gdGhpcy5fbGlzdGVuZXJCcmVha3BvaW50czsg
fQogICAgIGdldCB1cmxCcmVha3BvaW50cygpIHsgcmV0dXJuIHRoaXMuX3VybEJyZWFrcG9pbnRz
OyB9CiAKICAgICBpc0JyZWFrcG9pbnRTcGVjaWFsKGJyZWFrcG9pbnQpCiAgICAgewotICAgICAg
ICByZXR1cm4gYnJlYWtwb2ludCA9PT0gdGhpcy5fYWxsUmVxdWVzdHNCcmVha3BvaW50OworICAg
ICAgICByZXR1cm4gYnJlYWtwb2ludCA9PT0gdGhpcy5fYWxsQW5pbWF0aW9uRnJhbWVzQnJlYWtw
b2ludAorICAgICAgICAgICAgfHwgYnJlYWtwb2ludCA9PT0gdGhpcy5fYWxsSW50ZXJ2YWxzQnJl
YWtwb2ludAorICAgICAgICAgICAgfHwgYnJlYWtwb2ludCA9PT0gdGhpcy5fYWxsTGlzdGVuZXJz
QnJlYWtwb2ludAorICAgICAgICAgICAgfHwgYnJlYWtwb2ludCA9PT0gdGhpcy5fYWxsVGltZW91
dHNCcmVha3BvaW50CisgICAgICAgICAgICB8fCBicmVha3BvaW50ID09PSB0aGlzLl9hbGxSZXF1
ZXN0c0JyZWFrcG9pbnQ7CiAgICAgfQogCiAgICAgZG9tQnJlYWtwb2ludHNGb3JOb2RlKG5vZGUp
CkBAIC0yNTcsOSArMzU5LDExIEBAIFdJLkRPTURlYnVnZ2VyTWFuYWdlciA9IGNsYXNzIERPTURl
YnVnZ2VyTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICB0aGlzLmRvbUJyZWFrcG9p
bnRzRm9yTm9kZShub2RlKS5mb3JFYWNoKHRoaXMucmVtb3ZlRE9NQnJlYWtwb2ludCwgdGhpcyk7
CiAgICAgfQogCi0gICAgZXZlbnRCcmVha3BvaW50Rm9yVHlwZUFuZEV2ZW50TmFtZSh0eXBlLCBl
dmVudE5hbWUpCisgICAgbGlzdGVuZXJCcmVha3BvaW50Rm9yRXZlbnROYW1lKGV2ZW50TmFtZSkK
ICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9ldmVudEJyZWFrcG9pbnRzLmZpbmQoKGJyZWFr
cG9pbnQpID0+IGJyZWFrcG9pbnQudHlwZSA9PT0gdHlwZSAmJiBicmVha3BvaW50LmV2ZW50TmFt
ZSA9PT0gZXZlbnROYW1lKSB8fCBudWxsOworICAgICAgICBpZiAoRE9NRGVidWdnZXJNYW5hZ2Vy
LnN1cHBvcnRzQWxsTGlzdGVuZXJzQnJlYWtwb2ludCgpICYmICF0aGlzLl9hbGxMaXN0ZW5lcnNC
cmVha3BvaW50LmRpc2FibGVkKQorICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2FsbExpc3RlbmVy
c0JyZWFrcG9pbnQ7CisgICAgICAgIHJldHVybiB0aGlzLl9saXN0ZW5lckJyZWFrcG9pbnRzLmZp
bmQoKGJyZWFrcG9pbnQpID0+IGJyZWFrcG9pbnQuZXZlbnROYW1lID09PSBldmVudE5hbWUpIHx8
IG51bGw7CiAgICAgfQogCiAgICAgYWRkRXZlbnRCcmVha3BvaW50KGJyZWFrcG9pbnQpCkBAIC0y
NzMsMTggKzM3NywxOCBAQCBXSS5ET01EZWJ1Z2dlck1hbmFnZXIgPSBjbGFzcyBET01EZWJ1Z2dl
ck1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
fQogCi0gICAgICAgIGlmICh0aGlzLmV2ZW50QnJlYWtwb2ludEZvclR5cGVBbmRFdmVudE5hbWUo
YnJlYWtwb2ludC50eXBlLCBicmVha3BvaW50LmV2ZW50TmFtZSkpCisgICAgICAgIGNvbnNvbGUu
YXNzZXJ0KGJyZWFrcG9pbnQudHlwZSA9PT0gV0kuRXZlbnRCcmVha3BvaW50LlR5cGUuTGlzdGVu
ZXIpOworCisgICAgICAgIGlmICh0aGlzLmxpc3RlbmVyQnJlYWtwb2ludEZvckV2ZW50TmFtZShi
cmVha3BvaW50LmV2ZW50TmFtZSkpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgdGhp
cy5fZXZlbnRCcmVha3BvaW50cy5wdXNoKGJyZWFrcG9pbnQpOworICAgICAgICB0aGlzLl9saXN0
ZW5lckJyZWFrcG9pbnRzLnB1c2goYnJlYWtwb2ludCk7CiAKICAgICAgICAgdGhpcy5kaXNwYXRj
aEV2ZW50VG9MaXN0ZW5lcnMoV0kuRE9NRGVidWdnZXJNYW5hZ2VyLkV2ZW50LkV2ZW50QnJlYWtw
b2ludEFkZGVkLCB7YnJlYWtwb2ludH0pOwogCiAgICAgICAgIGlmICghYnJlYWtwb2ludC5kaXNh
YmxlZCkgewotICAgICAgICAgICAgZm9yIChsZXQgdGFyZ2V0IG9mIFdJLnRhcmdldHMpIHsKLSAg
ICAgICAgICAgICAgICBpZiAodGFyZ2V0LkRPTURlYnVnZ2VyQWdlbnQpCi0gICAgICAgICAgICAg
ICAgICAgIHRoaXMuX3VwZGF0ZUV2ZW50QnJlYWtwb2ludChicmVha3BvaW50LCB0YXJnZXQpOwot
ICAgICAgICAgICAgfQorICAgICAgICAgICAgZm9yIChsZXQgdGFyZ2V0IG9mIFdJLnRhcmdldHMp
CisgICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlRXZlbnRCcmVha3BvaW50KGJyZWFrcG9pbnQs
IHRhcmdldCk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoIXRoaXMuX3Jlc3RvcmluZ0JyZWFr
cG9pbnRzKQpAQCAtMzAzLDEwICs0MDcsMTIgQEAgV0kuRE9NRGVidWdnZXJNYW5hZ2VyID0gY2xh
c3MgRE9NRGVidWdnZXJNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoIXRoaXMuX2V2ZW50QnJlYWtwb2ludHMuaW5j
bHVkZXMoYnJlYWtwb2ludCkpCisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGJyZWFrcG9pbnQudHlw
ZSA9PT0gV0kuRXZlbnRCcmVha3BvaW50LlR5cGUuTGlzdGVuZXIpOworCisgICAgICAgIGlmICgh
dGhpcy5fbGlzdGVuZXJCcmVha3BvaW50cy5pbmNsdWRlcyhicmVha3BvaW50KSkKICAgICAgICAg
ICAgIHJldHVybjsKIAotICAgICAgICB0aGlzLl9ldmVudEJyZWFrcG9pbnRzLnJlbW92ZShicmVh
a3BvaW50KTsKKyAgICAgICAgdGhpcy5fbGlzdGVuZXJCcmVha3BvaW50cy5yZW1vdmUoYnJlYWtw
b2ludCk7CiAKICAgICAgICAgaWYgKCF0aGlzLl9yZXN0b3JpbmdCcmVha3BvaW50cykKICAgICAg
ICAgICAgIFdJLm9iamVjdFN0b3Jlcy5ldmVudEJyZWFrcG9pbnRzLmRlbGV0ZU9iamVjdChicmVh
a3BvaW50KTsKQEAgLTMxNyw3ICs0MjMsNyBAQCBXSS5ET01EZWJ1Z2dlck1hbmFnZXIgPSBjbGFz
cyBET01EZWJ1Z2dlck1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgICAgIHJldHVy
bjsKIAogICAgICAgICBmb3IgKGxldCB0YXJnZXQgb2YgV0kudGFyZ2V0cykgewotICAgICAgICAg
ICAgaWYgKHRhcmdldC5ET01EZWJ1Z2dlckFnZW50KSB7CisgICAgICAgICAgICBpZiAodGFyZ2V0
LkRPTURlYnVnZ2VyQWdlbnQgJiYgKHRhcmdldC5ET01EZWJ1Z2dlckFnZW50LnJlbW92ZUV2ZW50
QnJlYWtwb2ludCB8fCB0YXJnZXQuRE9NRGVidWdnZXJBZ2VudC5yZW1vdmVFdmVudExpc3RlbmVy
QnJlYWtwb2ludCkpIHsKICAgICAgICAgICAgICAgICAvLyBDb21wYXRpYmlsaXR5IChpT1MgMTIp
OiBET01EZWJ1Z2dlckFnZW50LnJlbW92ZUV2ZW50QnJlYWtwb2ludCBkaWQgbm90IGV4aXN0Lgog
ICAgICAgICAgICAgICAgIGlmICghV0kuRE9NRGVidWdnZXJNYW5hZ2VyLnN1cHBvcnRzRXZlbnRC
cmVha3BvaW50cygpKSB7CiAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGJyZWFr
cG9pbnQudHlwZSA9PT0gV0kuRXZlbnRCcmVha3BvaW50LlR5cGUuTGlzdGVuZXIpOwpAQCAtMzU4
LDEwICs0NjQsOCBAQCBXSS5ET01EZWJ1Z2dlck1hbmFnZXIgPSBjbGFzcyBET01EZWJ1Z2dlck1h
bmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0
ZW5lcnMoV0kuRE9NRGVidWdnZXJNYW5hZ2VyLkV2ZW50LlVSTEJyZWFrcG9pbnRBZGRlZCwge2Jy
ZWFrcG9pbnR9KTsKIAogICAgICAgICBpZiAoIWJyZWFrcG9pbnQuZGlzYWJsZWQpIHsKLSAgICAg
ICAgICAgIGZvciAobGV0IHRhcmdldCBvZiBXSS50YXJnZXRzKSB7Ci0gICAgICAgICAgICAgICAg
aWYgKHRhcmdldC5ET01EZWJ1Z2dlckFnZW50KQotICAgICAgICAgICAgICAgICAgICB0aGlzLl91
cGRhdGVVUkxCcmVha3BvaW50KGJyZWFrcG9pbnQsIHRhcmdldCk7Ci0gICAgICAgICAgICB9Cisg
ICAgICAgICAgICBmb3IgKGxldCB0YXJnZXQgb2YgV0kudGFyZ2V0cykKKyAgICAgICAgICAgICAg
ICB0aGlzLl91cGRhdGVVUkxCcmVha3BvaW50KGJyZWFrcG9pbnQsIHRhcmdldCk7CiAgICAgICAg
IH0KIAogICAgICAgICBpZiAoIXRoaXMuX3Jlc3RvcmluZ0JyZWFrcG9pbnRzKQpAQCAtNDg0LDE0
ICs1ODgsMTUgQEAgV0kuRE9NRGVidWdnZXJNYW5hZ2VyID0gY2xhc3MgRE9NRGVidWdnZXJNYW5h
Z2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIGlmICghYnJlYWtwb2ludC5kaXNhYmxlZCkg
ewogICAgICAgICAgICAgLy8gV2Ugc2hvdWxkIGdldCB0aGUgdGFyZ2V0IGFzc29jaWF0ZWQgd2l0
aCB0aGUgbm9kZUlkZW50aWZpZXIgb2YgdGhpcyBicmVha3BvaW50LgogICAgICAgICAgICAgbGV0
IHRhcmdldCA9IFdJLmFzc3VtaW5nTWFpblRhcmdldCgpOwotICAgICAgICAgICAgaWYgKHRhcmdl
dCAmJiB0YXJnZXQuRE9NRGVidWdnZXJBZ2VudCkKKyAgICAgICAgICAgIGlmICh0YXJnZXQpCiAg
ICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlRE9NQnJlYWtwb2ludChicmVha3BvaW50LCB0YXJn
ZXQpOwogICAgICAgICB9CiAgICAgfQogCiAgICAgX3VwZGF0ZURPTUJyZWFrcG9pbnQoYnJlYWtw
b2ludCwgdGFyZ2V0KQogICAgIHsKLSAgICAgICAgY29uc29sZS5hc3NlcnQodGFyZ2V0LkRPTURl
YnVnZ2VyQWdlbnQpOworICAgICAgICBpZiAoIXRhcmdldC5ET01EZWJ1Z2dlckFnZW50IHx8ICF0
YXJnZXQuRE9NRGVidWdnZXJBZ2VudC5zZXRET01CcmVha3BvaW50IHx8ICF0YXJnZXQuRE9NRGVi
dWdnZXJBZ2VudC5yZW1vdmVET01CcmVha3BvaW50KQorICAgICAgICAgICAgcmV0dXJuOwogCiAg
ICAgICAgIGlmICghYnJlYWtwb2ludC5kb21Ob2RlSWRlbnRpZmllcikKICAgICAgICAgICAgIHJl
dHVybjsKQEAgLTUwOCwxMCArNjEzLDE0IEBAIFdJLkRPTURlYnVnZ2VyTWFuYWdlciA9IGNsYXNz
IERPTURlYnVnZ2VyTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgX3VwZGF0ZUV2ZW50
QnJlYWtwb2ludChicmVha3BvaW50LCB0YXJnZXQpCiAgICAgewotICAgICAgICBjb25zb2xlLmFz
c2VydCh0YXJnZXQuRE9NRGVidWdnZXJBZ2VudCk7CisgICAgICAgIGlmICghdGFyZ2V0LkRPTURl
YnVnZ2VyQWdlbnQpCisgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgLy8gQ29tcGF0aWJp
bGl0eSAoaU9TIDEyKTogRE9NRGVidWdnZXJBZ2VudC5yZW1vdmVFdmVudEJyZWFrcG9pbnQgZGlk
IG5vdCBleGlzdC4KICAgICAgICAgaWYgKCFXSS5ET01EZWJ1Z2dlck1hbmFnZXIuc3VwcG9ydHNF
dmVudEJyZWFrcG9pbnRzKCkpIHsKKyAgICAgICAgICAgIGlmICghdGFyZ2V0LkRPTURlYnVnZ2Vy
QWdlbnQuc2V0RXZlbnRMaXN0ZW5lckJyZWFrcG9pbnQgfHwgIXRhcmdldC5ET01EZWJ1Z2dlckFn
ZW50LnJlbW92ZUV2ZW50TGlzdGVuZXJCcmVha3BvaW50KQorICAgICAgICAgICAgICAgIHJldHVy
bjsKKwogICAgICAgICAgICAgY29uc29sZS5hc3NlcnQoYnJlYWtwb2ludC50eXBlID09PSBXSS5F
dmVudEJyZWFrcG9pbnQuVHlwZS5MaXN0ZW5lcik7CiAgICAgICAgICAgICBpZiAoYnJlYWtwb2lu
dC5kaXNhYmxlZCkKICAgICAgICAgICAgICAgICB0YXJnZXQuRE9NRGVidWdnZXJBZ2VudC5yZW1v
dmVFdmVudExpc3RlbmVyQnJlYWtwb2ludChicmVha3BvaW50LmV2ZW50TmFtZSk7CkBAIC01MjQs
MjIgKzYzMyw3MCBAQCBXSS5ET01EZWJ1Z2dlck1hbmFnZXIgPSBjbGFzcyBET01EZWJ1Z2dlck1h
bmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQog
CisgICAgICAgIGlmICghdGFyZ2V0LkRPTURlYnVnZ2VyQWdlbnQuc2V0RXZlbnRCcmVha3BvaW50
IHx8ICF0YXJnZXQuRE9NRGVidWdnZXJBZ2VudC5yZW1vdmVFdmVudEJyZWFrcG9pbnQpCisgICAg
ICAgICAgICByZXR1cm47CisKKyAgICAgICAgbGV0IGNvbW1hbmRBcmd1bWVudHMgPSB7fTsKKwor
ICAgICAgICBzd2l0Y2ggKGJyZWFrcG9pbnQpIHsKKyAgICAgICAgY2FzZSB0aGlzLl9hbGxBbmlt
YXRpb25GcmFtZXNCcmVha3BvaW50OgorICAgICAgICAgICAgY29tbWFuZEFyZ3VtZW50cy5icmVh
a3BvaW50VHlwZSA9IFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkFuaW1hdGlvbkZyYW1lOworICAg
ICAgICAgICAgaWYgKCFET01EZWJ1Z2dlck1hbmFnZXIuc3VwcG9ydHNBbGxMaXN0ZW5lcnNCcmVh
a3BvaW50KCkpCisgICAgICAgICAgICAgICAgY29tbWFuZEFyZ3VtZW50cy5ldmVudE5hbWUgPSAi
cmVxdWVzdEFuaW1hdGlvbkZyYW1lIjsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNh
c2UgdGhpcy5fYWxsSW50ZXJ2YWxzQnJlYWtwb2ludDoKKyAgICAgICAgICAgIGlmIChET01EZWJ1
Z2dlck1hbmFnZXIuc3VwcG9ydHNBbGxMaXN0ZW5lcnNCcmVha3BvaW50KCkpCisgICAgICAgICAg
ICAgICAgY29tbWFuZEFyZ3VtZW50cy5icmVha3BvaW50VHlwZSA9IFdJLkV2ZW50QnJlYWtwb2lu
dC5UeXBlLkludGVydmFsOworICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgY29t
bWFuZEFyZ3VtZW50cy5icmVha3BvaW50VHlwZSA9IFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLlRp
bWVyOworICAgICAgICAgICAgICAgIGNvbW1hbmRBcmd1bWVudHMuZXZlbnROYW1lID0gInNldElu
dGVydmFsIjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNh
c2UgdGhpcy5fYWxsTGlzdGVuZXJzQnJlYWtwb2ludDoKKyAgICAgICAgICAgIGlmICghRE9NRGVi
dWdnZXJNYW5hZ2VyLnN1cHBvcnRzQWxsTGlzdGVuZXJzQnJlYWtwb2ludCgpKQorICAgICAgICAg
ICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgY29tbWFuZEFyZ3VtZW50cy5icmVha3BvaW50
VHlwZSA9IFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkxpc3RlbmVyOworICAgICAgICAgICAgYnJl
YWs7CisKKyAgICAgICAgY2FzZSB0aGlzLl9hbGxUaW1lb3V0c0JyZWFrcG9pbnQ6CisgICAgICAg
ICAgICBpZiAoRE9NRGVidWdnZXJNYW5hZ2VyLnN1cHBvcnRzQWxsTGlzdGVuZXJzQnJlYWtwb2lu
dCgpKQorICAgICAgICAgICAgICAgIGNvbW1hbmRBcmd1bWVudHMuYnJlYWtwb2ludFR5cGUgPSBX
SS5FdmVudEJyZWFrcG9pbnQuVHlwZS5UaW1lb3V0OworICAgICAgICAgICAgZWxzZSB7CisgICAg
ICAgICAgICAgICAgY29tbWFuZEFyZ3VtZW50cy5icmVha3BvaW50VHlwZSA9IFdJLkV2ZW50QnJl
YWtwb2ludC5UeXBlLlRpbWVyOworICAgICAgICAgICAgICAgIGNvbW1hbmRBcmd1bWVudHMuZXZl
bnROYW1lID0gInNldFRpbWVvdXQiOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7
CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGNvbW1hbmRBcmd1bWVudHMuYnJlYWtw
b2ludFR5cGUgPSBicmVha3BvaW50LnR5cGU7CisgICAgICAgICAgICBjb21tYW5kQXJndW1lbnRz
LmV2ZW50TmFtZSA9IGJyZWFrcG9pbnQuZXZlbnROYW1lOworICAgICAgICAgICAgY29uc29sZS5h
c3NlcnQoY29tbWFuZEFyZ3VtZW50cy5ldmVudE5hbWUpOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIH0KKwogICAgICAgICBpZiAoYnJlYWtwb2ludC5kaXNhYmxlZCkKLSAgICAgICAgICAg
IHRhcmdldC5ET01EZWJ1Z2dlckFnZW50LnJlbW92ZUV2ZW50QnJlYWtwb2ludChicmVha3BvaW50
LnR5cGUsIGJyZWFrcG9pbnQuZXZlbnROYW1lKTsKKyAgICAgICAgICAgIHRhcmdldC5ET01EZWJ1
Z2dlckFnZW50LnJlbW92ZUV2ZW50QnJlYWtwb2ludC5pbnZva2UoY29tbWFuZEFyZ3VtZW50cyk7
CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgaWYgKCF0aGlzLl9yZXN0b3JpbmdCcmVha3Bv
aW50cyAmJiAhV0kuZGVidWdnZXJNYW5hZ2VyLmJyZWFrcG9pbnRzRGlzYWJsZWRUZW1wb3Jhcmls
eSkKICAgICAgICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIuYnJlYWtwb2ludHNFbmFibGVk
ID0gdHJ1ZTsKIAotICAgICAgICAgICAgdGFyZ2V0LkRPTURlYnVnZ2VyQWdlbnQuc2V0RXZlbnRC
cmVha3BvaW50KGJyZWFrcG9pbnQudHlwZSwgYnJlYWtwb2ludC5ldmVudE5hbWUpOworICAgICAg
ICAgICAgdGFyZ2V0LkRPTURlYnVnZ2VyQWdlbnQuc2V0RXZlbnRCcmVha3BvaW50Lmludm9rZShj
b21tYW5kQXJndW1lbnRzKTsKICAgICAgICAgfQogICAgIH0KIAogICAgIF91cGRhdGVVUkxCcmVh
a3BvaW50KGJyZWFrcG9pbnQsIHRhcmdldCkKICAgICB7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0
KHRhcmdldC5ET01EZWJ1Z2dlckFnZW50KTsKKyAgICAgICAgaWYgKCF0YXJnZXQuRE9NRGVidWdn
ZXJBZ2VudCkKKyAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICAvLyBDb21wYXRpYmlsaXR5
IChpT1MgMTIuMSk6IERPTURlYnVnZ2VyQWdlbnQucmVtb3ZlVVJMQnJlYWtwb2ludCBkaWQgbm90
IGV4aXN0LgogICAgICAgICBpZiAoIVdJLkRPTURlYnVnZ2VyTWFuYWdlci5zdXBwb3J0c1VSTEJy
ZWFrcG9pbnRzKCkpIHsKKyAgICAgICAgICAgIGlmICghdGFyZ2V0LkRPTURlYnVnZ2VyQWdlbnQu
c2V0WEhSQnJlYWtwb2ludCB8fCAhdGFyZ2V0LkRPTURlYnVnZ2VyQWdlbnQucmVtb3ZlWEhSQnJl
YWtwb2ludCkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKICAgICAgICAgICAgIGlmIChicmVh
a3BvaW50LmRpc2FibGVkKQogICAgICAgICAgICAgICAgIHRhcmdldC5ET01EZWJ1Z2dlckFnZW50
LnJlbW92ZVhIUkJyZWFrcG9pbnQoYnJlYWtwb2ludC51cmwpOwogICAgICAgICAgICAgZWxzZSB7
CkBAIC01NTIsNiArNzA5LDkgQEAgV0kuRE9NRGVidWdnZXJNYW5hZ2VyID0gY2xhc3MgRE9NRGVi
dWdnZXJNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIH0KIAorICAgICAgICBpZiAoIXRhcmdldC5ET01EZWJ1Z2dlckFnZW50LnNldFVSTEJyZWFr
cG9pbnQgfHwgIXRhcmdldC5ET01EZWJ1Z2dlckFnZW50LnJlbW92ZVVSTEJyZWFrcG9pbnQpCisg
ICAgICAgICAgICByZXR1cm47CisKICAgICAgICAgaWYgKGJyZWFrcG9pbnQuZGlzYWJsZWQpCiAg
ICAgICAgICAgICB0YXJnZXQuRE9NRGVidWdnZXJBZ2VudC5yZW1vdmVVUkxCcmVha3BvaW50KGJy
ZWFrcG9pbnQudXJsKTsKICAgICAgICAgZWxzZSB7CkBAIC01NjcsNyArNzI3LDcgQEAgV0kuRE9N
RGVidWdnZXJNYW5hZ2VyID0gY2xhc3MgRE9NRGVidWdnZXJNYW5hZ2VyIGV4dGVuZHMgV0kuT2Jq
ZWN0CiAgICAgewogICAgICAgICBsZXQgYnJlYWtwb2ludCA9IGV2ZW50LnRhcmdldDsKICAgICAg
ICAgbGV0IHRhcmdldCA9IFdJLmFzc3VtaW5nTWFpblRhcmdldCgpOwotICAgICAgICBpZiAodGFy
Z2V0ICYmIHRhcmdldC5ET01EZWJ1Z2dlckFnZW50KQorICAgICAgICBpZiAodGFyZ2V0KQogICAg
ICAgICAgICAgdGhpcy5fdXBkYXRlRE9NQnJlYWtwb2ludChicmVha3BvaW50LCB0YXJnZXQpOwog
CiAgICAgICAgIGlmICghdGhpcy5fcmVzdG9yaW5nQnJlYWtwb2ludHMpCkBAIC01ODIsOSArNzQy
LDI1IEBAIFdJLkRPTURlYnVnZ2VyTWFuYWdlciA9IGNsYXNzIERPTURlYnVnZ2VyTWFuYWdlciBl
eHRlbmRzIFdJLk9iamVjdAogICAgICAgICBpZiAoYnJlYWtwb2ludC5ldmVudExpc3RlbmVyKQog
ICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGZvciAobGV0IHRhcmdldCBvZiBXSS50YXJn
ZXRzKSB7Ci0gICAgICAgICAgICBpZiAodGFyZ2V0LkRPTURlYnVnZ2VyQWdlbnQpCi0gICAgICAg
ICAgICAgICAgdGhpcy5fdXBkYXRlRXZlbnRCcmVha3BvaW50KGJyZWFrcG9pbnQsIHRhcmdldCk7
CisgICAgICAgIGZvciAobGV0IHRhcmdldCBvZiBXSS50YXJnZXRzKQorICAgICAgICAgICAgdGhp
cy5fdXBkYXRlRXZlbnRCcmVha3BvaW50KGJyZWFrcG9pbnQsIHRhcmdldCk7CisKKyAgICAgICAg
c3dpdGNoIChicmVha3BvaW50KSB7CisgICAgICAgIGNhc2UgdGhpcy5fYWxsQW5pbWF0aW9uRnJh
bWVzQnJlYWtwb2ludDoKKyAgICAgICAgICAgIHRoaXMuX2FsbEFuaW1hdGlvbkZyYW1lc0JyZWFr
cG9pbnRFbmFibGVkU2V0dGluZy52YWx1ZSA9ICFicmVha3BvaW50LmRpc2FibGVkOworICAgICAg
ICAgICAgcmV0dXJuOworCisgICAgICAgIGNhc2UgdGhpcy5fYWxsSW50ZXJ2YWxzQnJlYWtwb2lu
dDoKKyAgICAgICAgICAgIHRoaXMuX2FsbEludGVydmFsc0JyZWFrcG9pbnRFbmFibGVkU2V0dGlu
Zy52YWx1ZSA9ICFicmVha3BvaW50LmRpc2FibGVkOworICAgICAgICAgICAgcmV0dXJuOworCisg
ICAgICAgIGNhc2UgdGhpcy5fYWxsTGlzdGVuZXJzQnJlYWtwb2ludDoKKyAgICAgICAgICAgIHRo
aXMuX2FsbExpc3RlbmVyc0JyZWFrcG9pbnRFbmFibGVkU2V0dGluZy52YWx1ZSA9ICFicmVha3Bv
aW50LmRpc2FibGVkOworICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGNhc2UgdGhpcy5f
YWxsVGltZW91dHNCcmVha3BvaW50OgorICAgICAgICAgICAgdGhpcy5fYWxsVGltZW91dHNCcmVh
a3BvaW50RW5hYmxlZFNldHRpbmcudmFsdWUgPSAhYnJlYWtwb2ludC5kaXNhYmxlZDsKKyAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQogCiAgICAgICAgIGlmICghdGhpcy5fcmVzdG9yaW5n
QnJlYWtwb2ludHMpCkBAIC01OTUsMTIgKzc3MSwxMiBAQCBXSS5ET01EZWJ1Z2dlck1hbmFnZXIg
PSBjbGFzcyBET01EZWJ1Z2dlck1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICB7CiAgICAg
ICAgIGxldCBicmVha3BvaW50ID0gZXZlbnQudGFyZ2V0OwogCi0gICAgICAgIGlmIChicmVha3Bv
aW50ID09PSB0aGlzLl9hbGxSZXF1ZXN0c0JyZWFrcG9pbnQpCi0gICAgICAgICAgICB0aGlzLl9h
bGxSZXF1ZXN0c0JyZWFrcG9pbnRFbmFibGVkU2V0dGluZy52YWx1ZSA9ICFicmVha3BvaW50LmRp
c2FibGVkOworICAgICAgICBmb3IgKGxldCB0YXJnZXQgb2YgV0kudGFyZ2V0cykKKyAgICAgICAg
ICAgIHRoaXMuX3VwZGF0ZVVSTEJyZWFrcG9pbnQoYnJlYWtwb2ludCwgdGFyZ2V0KTsKIAotICAg
ICAgICBmb3IgKGxldCB0YXJnZXQgb2YgV0kudGFyZ2V0cykgewotICAgICAgICAgICAgaWYgKHRh
cmdldC5ET01EZWJ1Z2dlckFnZW50KQotICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVVSTEJy
ZWFrcG9pbnQoYnJlYWtwb2ludCwgdGFyZ2V0KTsKKyAgICAgICAgaWYgKGJyZWFrcG9pbnQgPT09
IHRoaXMuX2FsbFJlcXVlc3RzQnJlYWtwb2ludCkgeworICAgICAgICAgICAgdGhpcy5fYWxsUmVx
dWVzdHNCcmVha3BvaW50RW5hYmxlZFNldHRpbmcudmFsdWUgPSAhYnJlYWtwb2ludC5kaXNhYmxl
ZDsKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCiAgICAgICAgIGlmICghdGhpcy5f
cmVzdG9yaW5nQnJlYWtwb2ludHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Db250cm9sbGVycy9EZWJ1Z2dlck1hbmFnZXIuanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9EZWJ1Z2dlck1hbmFnZXIuanMK
aW5kZXggYTk4NDZlNWI0NTYwZWU3NGY1MjY2OWQxZDA2ZWY3OTY4NGQ1NDg5NC4uMTA4MjlhZjZm
MDhkMjg5MTRhYWUyODBmOTdiMjMzN2RkMDFjMGM2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRGVidWdnZXJNYW5hZ2VyLmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RlYnVn
Z2VyTWFuYWdlci5qcwpAQCAtODYzLDggKzg2MywxNCBAQCBXSS5EZWJ1Z2dlck1hbmFnZXIgPSBj
bGFzcyBEZWJ1Z2dlck1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgICAgIHJldHVy
biBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uRXhjZXB0aW9uOwogICAgICAgICBjYXNl
IERlYnVnZ2VyQWdlbnQuUGF1c2VkUmVhc29uLkZldGNoOgogICAgICAgICAgICAgcmV0dXJuIFdJ
LkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5GZXRjaDsKKyAgICAgICAgY2FzZSBEZWJ1Z2dl
ckFnZW50LlBhdXNlZFJlYXNvbi5JbnRlcnZhbDoKKyAgICAgICAgICAgIHJldHVybiBXSS5EZWJ1
Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uSW50ZXJ2YWw7CisgICAgICAgIGNhc2UgRGVidWdnZXJB
Z2VudC5QYXVzZWRSZWFzb24uTGlzdGVuZXI6CisgICAgICAgICAgICByZXR1cm4gV0kuRGVidWdn
ZXJNYW5hZ2VyLlBhdXNlUmVhc29uLkxpc3RlbmVyOwogICAgICAgICBjYXNlIERlYnVnZ2VyQWdl
bnQuUGF1c2VkUmVhc29uLlBhdXNlT25OZXh0U3RhdGVtZW50OgogICAgICAgICAgICAgcmV0dXJu
IFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5QYXVzZU9uTmV4dFN0YXRlbWVudDsKKyAg
ICAgICAgY2FzZSBEZWJ1Z2dlckFnZW50LlBhdXNlZFJlYXNvbi5UaW1lb3V0OgorICAgICAgICAg
ICAgcmV0dXJuIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5UaW1lb3V0OwogICAgICAg
ICBjYXNlIERlYnVnZ2VyQWdlbnQuUGF1c2VkUmVhc29uLlRpbWVyOgogICAgICAgICAgICAgcmV0
dXJuIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5UaW1lcjsKICAgICAgICAgY2FzZSBE
ZWJ1Z2dlckFnZW50LlBhdXNlZFJlYXNvbi5YSFI6CkBAIC0xMzgzLDExICsxMzg5LDE4IEBAIFdJ
LkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbiA9IHsKICAgICBDU1BWaW9sYXRpb246ICJDU1At
dmlvbGF0aW9uIiwKICAgICBEZWJ1Z2dlclN0YXRlbWVudDogImRlYnVnZ2VyLXN0YXRlbWVudCIs
CiAgICAgRE9NOiAiRE9NIiwKLSAgICBFdmVudExpc3RlbmVyOiAiZXZlbnQtbGlzdGVuZXIiLAog
ICAgIEV4Y2VwdGlvbjogImV4Y2VwdGlvbiIsCiAgICAgRmV0Y2g6ICJmZXRjaCIsCisgICAgSW50
ZXJ2YWw6ICJpbnRlcnZhbCIsCisgICAgTGlzdGVuZXI6ICJsaXN0ZW5lciIsCiAgICAgUGF1c2VP
bk5leHRTdGF0ZW1lbnQ6ICJwYXVzZS1vbi1uZXh0LXN0YXRlbWVudCIsCi0gICAgVGltZXI6ICJ0
aW1lciIsCisgICAgVGltZW91dDogInRpbWVvdXQiLAogICAgIFhIUjogInhociIsCiAgICAgT3Ro
ZXI6ICJvdGhlciIsCisKKyAgICAvLyBDT01QQVRJQklMSVRZIChpT1MgMTMpOiBET01EZWJ1Z2dl
ci5FdmVudEJyZWFrcG9pbnRUeXBlLlRpbWVyIHdhcyByZXBsYWNlZCBieSBET01EZWJ1Z2dlci5F
dmVudEJyZWFrcG9pbnRUeXBlLkludGVydmFsIGFuZCBET01EZWJ1Z2dlci5FdmVudEJyZWFrcG9p
bnRUeXBlLlRpbWVvdXQuCisgICAgVGltZXI6ICJ0aW1lciIsCisKKyAgICAvLyBDT01QQVRJQklM
SVRZIChpT1MgMTMpOiBET01EZWJ1Z2dlci5FdmVudEJyZWFrcG9pbnRUeXBlLkV2ZW50TGlzdGVu
ZXIgd2FzIHJlcGxhY2VkIGJ5IERPTURlYnVnZ2VyLkV2ZW50QnJlYWtwb2ludFR5cGUuTGlzdGVu
ZXIuCisgICAgRXZlbnRMaXN0ZW5lcjogImV2ZW50LWxpc3RlbmVyIiwKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9KYXZhU2Ny
aXB0UnVudGltZUNvbXBsZXRpb25Qcm92aWRlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0phdmFTY3JpcHRSdW50aW1lQ29tcGxldGlvblByb3Zp
ZGVyLmpzCmluZGV4IDlmMjFhODhlNjU3NTYyZWJhNGMzYzE3Yjg1YzdlY2QyYzI0NWQ5NTkuLjIz
NWEwZGI5Y2I0ODFjY2Y3Mzg3MzQxYTg0ODYwMzg2YmRmNjZmODYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0phdmFTY3JpcHRSdW50
aW1lQ29tcGxldGlvblByb3ZpZGVyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL0NvbnRyb2xsZXJzL0phdmFTY3JpcHRSdW50aW1lQ29tcGxldGlvblByb3ZpZGVy
LmpzCkBAIC0yMjEsNyArMjIxLDcgQEAgV0kuSmF2YVNjcmlwdFJ1bnRpbWVDb21wbGV0aW9uUHJv
dmlkZXIgPSBjbGFzcyBKYXZhU2NyaXB0UnVudGltZUNvbXBsZXRpb25Qcm92aWQKICAgICAgICAg
ICAgICAgICBsZXQgY29tbWFuZExpbmVBUEkgPSBXSS5KYXZhU2NyaXB0UnVudGltZUNvbXBsZXRp
b25Qcm92aWRlci5fY29tbWFuZExpbmVBUEkuc2xpY2UoMCk7CiAgICAgICAgICAgICAgICAgaWYg
KFdJLmRlYnVnZ2VyTWFuYWdlci5wYXVzZWQpIHsKICAgICAgICAgICAgICAgICAgICAgbGV0IHRh
cmdldERhdGEgPSBXSS5kZWJ1Z2dlck1hbmFnZXIuZGF0YUZvclRhcmdldChXSS5ydW50aW1lTWFu
YWdlci5hY3RpdmVFeGVjdXRpb25Db250ZXh0LnRhcmdldCk7Ci0gICAgICAgICAgICAgICAgICAg
IGlmICh0YXJnZXREYXRhLnBhdXNlUmVhc29uID09PSBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VS
ZWFzb24uRXZlbnRMaXN0ZW5lcikKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldERhdGEu
cGF1c2VSZWFzb24gPT09IFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5MaXN0ZW5lciB8
fCB0YXJnZXREYXRhLnBhdXNlUmVhc29uID09PSBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFz
b24uRXZlbnRMaXN0ZW5lcikKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmRMaW5lQVBJ
LnB1c2goIiRldmVudCIpOwogICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0YXJnZXREYXRh
LnBhdXNlUmVhc29uID09PSBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uRXhjZXB0aW9u
KQogICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZExpbmVBUEkucHVzaCgiJGV4Y2VwdGlv
biIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW1h
Z2VzL0V2ZW50QnJlYWtwb2ludEludGVydmFsLnN2ZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL0ltYWdlcy9FdmVudEJyZWFrcG9pbnRJbnRlcnZhbC5zdmcKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTcxZjBiMzRhMDFkYjM1Yzc4NzgyYTEzMmE2M2M2ZDIwZDNiMDM5YQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0ltYWdlcy9FdmVudEJy
ZWFrcG9pbnRJbnRlcnZhbC5zdmcKQEAgLTAsMCArMSwxMCBAQAorPD94bWwgdmVyc2lvbj0iMS4w
IiBlbmNvZGluZz0idXRmLTgiPz4KKzwhLS0gQ29weXJpZ2h0IMKpIDIwMTkgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLiAtLT4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIw
MDAvc3ZnIiBpZD0icm9vdCIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMTYgMTYiPgorICAg
IDxwYXRoIGZpbGw9InJnYigxNDgsIDE4MywgMjE5KSIgZD0iTSAxMyAxIEwgMyAxIEMgMS44OTg0
MzggMSAxIDEuODk4NDM4IDEgMyBMIDEgMTMgQyAxIDE0LjEwMTU2MiAxLjg5ODQzOCAxNSAzIDE1
IEwgMTMgMTUgQyAxNC4xMDE1NjIgMTUgMTUgMTQuMTAxNTYyIDE1IDEzIEwgMTUgMyBDIDE1IDEu
ODk4NDM4IDE0LjEwMTU2MiAxIDEzIDEgWiIvPgorICAgIDxwYXRoIGZpbGw9InJnYigxMDYsIDEz
NiwgMTcwKSIgZD0iTSAxMyAxIEwgMyAxIEMgMS44OTg0MzggMSAxIDEuODk4NDM4IDEgMyBMIDEg
MTMgQyAxIDE0LjEwMTU2MiAxLjg5ODQzOCAxNSAzIDE1IEwgMTMgMTUgQyAxNC4xMDE1NjIgMTUg
MTUgMTQuMTAxNTYyIDE1IDEzIEwgMTUgMyBDIDE1IDEuODk4NDM4IDE0LjEwMTU2MiAxIDEzIDEg
TSAxMyAyIEMgMTMuNTUwNzgxIDIgMTQgMi40NDkyMTkgMTQgMyBMIDE0IDEzIEMgMTQgMTMuNTUw
NzgxIDEzLjU1MDc4MSAxNCAxMyAxNCBMIDMgMTQgQyAyLjQ0OTIxOSAxNCAyIDEzLjU1MDc4MSAy
IDEzIEwgMiAzIEMgMiAyLjQ0OTIxOSAyLjQ0OTIxOSAyIDMgMiBMIDEzIDIiLz4KKyAgICA8cGF0
aCBmaWxsPSJyZ2IoMTEzLCAxNDYsIDE4NCkiIGQ9Ik0gNS45ODA0NjkgNS44ODI4MTIgQyA1LjE0
MDYyNSA1Ljg4MjgxMiA0LjYzNjcxOSA1Ljg4MjgxMiA0LjYzNjcxOSA1Ljg4MjgxMiBDIDQuMTgy
MDMxIDUuODgyODEyIDMuNjM2NzE5IDUuNDM3NSAzLjYzNjcxOSA0Ljg4MjgxMiBMIDMuNjM2NzE5
IDMuNzkyOTY5IEMgMy42MzY3MTkgMy4yNDIxODggNC4xODIwMzEgMi43OTI5NjkgNC42MzY3MTkg
Mi43OTI5NjkgTCAxMC45ODgyODEgMi43OTI5NjkgQyAxMS41NDI5NjkgMi43OTI5NjkgMTEuOTg4
MjgxIDMuMjQyMTg4IDExLjk4ODI4MSAzLjc5Mjk2OSBMIDExLjk4ODI4MSA0Ljg4MjgxMiBDIDEx
Ljk4ODI4MSA1LjQzNzUgMTEuNTQyOTY5IDUuODgyODEyIDEwLjk4ODI4MSA1Ljg4MjgxMiIvPgor
ICAgIDxwYXRoIGZpbGw9InJnYigxMTMsIDE0NiwgMTg0KSIgZD0iTSA1Ljk4MDQ2OSAxMi43NDIx
ODggQyA1LjE0MDYyNSAxMi43NDIxODggNC42MzY3MTkgMTIuNzQyMTg4IDQuNjM2NzE5IDEyLjc0
MjE4OCBDIDQuMTgyMDMxIDEyLjc0MjE4OCAzLjYzNjcxOSAxMi4yOTY4NzYgMy42MzY3MTkgMTEu
NzQyMTg4IEwgMy42MzY3MTkgMTAuNjUyMzQ1IEMgMy42MzY3MTkgMTAuMTAxNTY0IDQuMTgyMDMx
IDkuNjUyMzQ1IDQuNjM2NzE5IDkuNjUyMzQ1IEwgMTAuOTg4MjgxIDkuNjUyMzQ1IEMgMTEuNTQy
OTY5IDkuNjUyMzQ1IDExLjk4ODI4MSAxMC4xMDE1NjQgMTEuOTg4MjgxIDEwLjY1MjM0NSBMIDEx
Ljk4ODI4MSAxMS43NDIxODggQyAxMS45ODgyODEgMTIuMjk2ODc2IDExLjU0Mjk2OSAxMi43NDIx
ODggMTAuOTg4MjgxIDEyLjc0MjE4OCIvPgorICAgIDxwYXRoIGZpbGw9InJnYigxMTMsIDE0Niwg
MTg0KSIgZD0iTSA1Ljk4MDQ2OSA1Ljg4MjgxMiBIIDkuNjQwNjI1IFYgOS42NTIzNDUgSCA1Ljk4
MDQ2OSBaIi8+CisgICAgPHBhdGggZmlsbD0id2hpdGUiIGQ9Ik0gNi45ODA0NjkgMTAuNjUyMzQ1
IEwgNi45ODA0NjkgNC44ODI4MTIgTCA0LjYzNjcxOSA0Ljg4MjgxMiBMIDQuNjM2NzE5IDMuNzky
OTY5IEwgMTAuOTg4MjgxIDMuNzkyOTY5IEwgMTAuOTg4MjgxIDQuODgyODEyIEwgOC42NDA2MjUg
NC44ODI4MTIgTCA4LjY0MDYyNSAxMC42NTIzNDUgTCAxMC45ODgyODEgMTAuNjUyMzQ1IEwgMTAu
OTg4MjgxIDExLjc0MjE4OCBMIDQuNjM2NzE5IDExLjc0MjE4OCBMIDQuNjM2NzE5IDEwLjY1MjM0
NSBaIi8+Cis8L3N2Zz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0ltYWdlcy9FdmVudEJyZWFrcG9pbnRUaW1lb3V0LnN2ZyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0ltYWdlcy9FdmVudEJyZWFrcG9pbnRUaW1lb3V0LnN2Zwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mOTRhYzYzZDAzYzJjNjNjYTFmMDVlNmY3ZTU5NTM1YzEwMzQ5ZDg3Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW1hZ2Vz
L0V2ZW50QnJlYWtwb2ludFRpbWVvdXQuc3ZnCkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lv
bj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzwhLS0gQ29weXJpZ2h0IMKpIDIwMTggQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAtLT4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMu
b3JnLzIwMDAvc3ZnIiBpZD0icm9vdCIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMTYgMTYi
PgorICAgIDxwYXRoIGZpbGw9InJnYigxNDgsIDE4MywgMjE5KSIgZD0iTSAxMyAxIEwgMyAxIEMg
MS44OTg0MzggMSAxIDEuODk4NDM4IDEgMyBMIDEgMTMgQyAxIDE0LjEwMTU2MiAxLjg5ODQzOCAx
NSAzIDE1IEwgMTMgMTUgQyAxNC4xMDE1NjIgMTUgMTUgMTQuMTAxNTYyIDE1IDEzIEwgMTUgMyBD
IDE1IDEuODk4NDM4IDE0LjEwMTU2MiAxIDEzIDEgWiIvPgorICAgIDxwYXRoIGZpbGw9InJnYigx
MDYsIDEzNiwgMTcwKSIgZD0iTSAxMyAxIEwgMyAxIEMgMS44OTg0MzggMSAxIDEuODk4NDM4IDEg
MyBMIDEgMTMgQyAxIDE0LjEwMTU2MiAxLjg5ODQzOCAxNSAzIDE1IEwgMTMgMTUgQyAxNC4xMDE1
NjIgMTUgMTUgMTQuMTAxNTYyIDE1IDEzIEwgMTUgMyBDIDE1IDEuODk4NDM4IDE0LjEwMTU2MiAx
IDEzIDEgTSAxMyAyIEMgMTMuNTUwNzgxIDIgMTQgMi40NDkyMTkgMTQgMyBMIDE0IDEzIEMgMTQg
MTMuNTUwNzgxIDEzLjU1MDc4MSAxNCAxMyAxNCBMIDMgMTQgQyAyLjQ0OTIxOSAxNCAyIDEzLjU1
MDc4MSAyIDEzIEwgMiAzIEMgMiAyLjQ0OTIxOSAyLjQ0OTIxOSAyIDMgMiBMIDEzIDIiLz4KKyAg
ICA8cGF0aCBmaWxsPSJyZ2IoMTEzLCAxNDYsIDE4NCkiIGQ9Ik0gNi45ODA0NjkgMTIuNzQyMTg4
IEMgNi40Mjk2ODggMTIuNzQyMTg4IDUuOTgwNDY5IDEyLjI5Mjk2OSA1Ljk4MDQ2OSAxMS43NDIx
ODggQyA1Ljk4MDQ2OSAxMS43NDIxODggNS45ODA0NjkgNy4zNDM3NSA1Ljk4MDQ2OSA1Ljg4Mjgx
MiBDIDUuMTQwNjI1IDUuODgyODEyIDQuMTM2NzE5IDUuODgyODEyIDQuMTM2NzE5IDUuODgyODEy
IEMgMy41ODIwMzEgNS44ODI4MTIgMy4xMzY3MTkgNS40Mzc1IDMuMTM2NzE5IDQuODgyODEyIEwg
My4xMzY3MTkgMy43OTI5NjkgQyAzLjEzNjcxOSAzLjI0MjE4OCAzLjU4MjAzMSAyLjc5Mjk2OSA0
LjEzNjcxOSAyLjc5Mjk2OSBMIDExLjQ4ODI4MSAyLjc5Mjk2OSBDIDEyLjA0Mjk2OSAyLjc5Mjk2
OSAxMi40ODgyODEgMy4yNDIxODggMTIuNDg4MjgxIDMuNzkyOTY5IEwgMTIuNDg4MjgxIDQuODgy
ODEyIEMgMTIuNDg4MjgxIDUuNDM3NSAxMi4wNDI5NjkgNS44ODI4MTIgMTEuNDg4MjgxIDUuODgy
ODEyIEMgMTEuNDg4MjgxIDUuODgyODEyIDEwLjQ4NDM3NSA1Ljg4MjgxMiA5LjY0MDYyNSA1Ljg4
MjgxMiBDIDkuNjQwNjI1IDcuMzQzNzUgOS42NDA2MjUgMTEuNzQyMTg4IDkuNjQwNjI1IDExLjc0
MjE4OCBDIDkuNjQwNjI1IDEyLjI5Mjk2OSA5LjE5NTMxMiAxMi43NDIxODggOC42NDA2MjUgMTIu
NzQyMTg4IEwgNi45ODA0NjkgMTIuNzQyMTg4Ii8+CisgICAgPHBhdGggZmlsbD0id2hpdGUiIGQ9
Ik0gNi45ODA0NjkgMTEuNzQyMTg4IEwgNi45ODA0NjkgNC44ODI4MTIgTCA0LjEzNjcxOSA0Ljg4
MjgxMiBMIDQuMTM2NzE5IDMuNzkyOTY5IEwgMTEuNDg4MjgxIDMuNzkyOTY5IEwgMTEuNDg4Mjgx
IDQuODgyODEyIEwgOC42NDA2MjUgNC44ODI4MTIgTCA4LjY0MDYyNSAxMS43NDIxODggWiIvPgor
PC9zdmc+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9J
bWFnZXMvRXZlbnRCcmVha3BvaW50VGltZXIuc3ZnIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvSW1hZ2VzL0V2ZW50QnJlYWtwb2ludFRpbWVyLnN2ZwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZjk0YWM2M2QwM2MyYzYzY2ExZjA1ZTZmN2U1OTUzNWMxMDM0OWQ4
Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbWFnZXMvRXZlbnRCcmVha3BvaW50VGltZXIu
c3ZnCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVu
Y29kaW5nPSJ1dGYtOCI/PgotPCEtLSBDb3B5cmlnaHQgwqkgMjAxOCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuIC0tPgotPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9z
dmciIGlkPSJyb290IiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAxNiAxNiI+Ci0gICAgPHBh
dGggZmlsbD0icmdiKDE0OCwgMTgzLCAyMTkpIiBkPSJNIDEzIDEgTCAzIDEgQyAxLjg5ODQzOCAx
IDEgMS44OTg0MzggMSAzIEwgMSAxMyBDIDEgMTQuMTAxNTYyIDEuODk4NDM4IDE1IDMgMTUgTCAx
MyAxNSBDIDE0LjEwMTU2MiAxNSAxNSAxNC4xMDE1NjIgMTUgMTMgTCAxNSAzIEMgMTUgMS44OTg0
MzggMTQuMTAxNTYyIDEgMTMgMSBaIi8+Ci0gICAgPHBhdGggZmlsbD0icmdiKDEwNiwgMTM2LCAx
NzApIiBkPSJNIDEzIDEgTCAzIDEgQyAxLjg5ODQzOCAxIDEgMS44OTg0MzggMSAzIEwgMSAxMyBD
IDEgMTQuMTAxNTYyIDEuODk4NDM4IDE1IDMgMTUgTCAxMyAxNSBDIDE0LjEwMTU2MiAxNSAxNSAx
NC4xMDE1NjIgMTUgMTMgTCAxNSAzIEMgMTUgMS44OTg0MzggMTQuMTAxNTYyIDEgMTMgMSBNIDEz
IDIgQyAxMy41NTA3ODEgMiAxNCAyLjQ0OTIxOSAxNCAzIEwgMTQgMTMgQyAxNCAxMy41NTA3ODEg
MTMuNTUwNzgxIDE0IDEzIDE0IEwgMyAxNCBDIDIuNDQ5MjE5IDE0IDIgMTMuNTUwNzgxIDIgMTMg
TCAyIDMgQyAyIDIuNDQ5MjE5IDIuNDQ5MjE5IDIgMyAyIEwgMTMgMiIvPgotICAgIDxwYXRoIGZp
bGw9InJnYigxMTMsIDE0NiwgMTg0KSIgZD0iTSA2Ljk4MDQ2OSAxMi43NDIxODggQyA2LjQyOTY4
OCAxMi43NDIxODggNS45ODA0NjkgMTIuMjkyOTY5IDUuOTgwNDY5IDExLjc0MjE4OCBDIDUuOTgw
NDY5IDExLjc0MjE4OCA1Ljk4MDQ2OSA3LjM0Mzc1IDUuOTgwNDY5IDUuODgyODEyIEMgNS4xNDA2
MjUgNS44ODI4MTIgNC4xMzY3MTkgNS44ODI4MTIgNC4xMzY3MTkgNS44ODI4MTIgQyAzLjU4MjAz
MSA1Ljg4MjgxMiAzLjEzNjcxOSA1LjQzNzUgMy4xMzY3MTkgNC44ODI4MTIgTCAzLjEzNjcxOSAz
Ljc5Mjk2OSBDIDMuMTM2NzE5IDMuMjQyMTg4IDMuNTgyMDMxIDIuNzkyOTY5IDQuMTM2NzE5IDIu
NzkyOTY5IEwgMTEuNDg4MjgxIDIuNzkyOTY5IEMgMTIuMDQyOTY5IDIuNzkyOTY5IDEyLjQ4ODI4
MSAzLjI0MjE4OCAxMi40ODgyODEgMy43OTI5NjkgTCAxMi40ODgyODEgNC44ODI4MTIgQyAxMi40
ODgyODEgNS40Mzc1IDEyLjA0Mjk2OSA1Ljg4MjgxMiAxMS40ODgyODEgNS44ODI4MTIgQyAxMS40
ODgyODEgNS44ODI4MTIgMTAuNDg0Mzc1IDUuODgyODEyIDkuNjQwNjI1IDUuODgyODEyIEMgOS42
NDA2MjUgNy4zNDM3NSA5LjY0MDYyNSAxMS43NDIxODggOS42NDA2MjUgMTEuNzQyMTg4IEMgOS42
NDA2MjUgMTIuMjkyOTY5IDkuMTk1MzEyIDEyLjc0MjE4OCA4LjY0MDYyNSAxMi43NDIxODggTCA2
Ljk4MDQ2OSAxMi43NDIxODgiLz4KLSAgICA8cGF0aCBmaWxsPSJ3aGl0ZSIgZD0iTSA2Ljk4MDQ2
OSAxMS43NDIxODggTCA2Ljk4MDQ2OSA0Ljg4MjgxMiBMIDQuMTM2NzE5IDQuODgyODEyIEwgNC4x
MzY3MTkgMy43OTI5NjkgTCAxMS40ODgyODEgMy43OTI5NjkgTCAxMS40ODgyODEgNC44ODI4MTIg
TCA4LjY0MDYyNSA0Ljg4MjgxMiBMIDguNjQwNjI1IDExLjc0MjE4OCBaIi8+Ci08L3N2Zz4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9FdmVu
dEJyZWFrcG9pbnQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2Rl
bHMvRXZlbnRCcmVha3BvaW50LmpzCmluZGV4IDMwOTBkZTljMDVmMjEwZmEyYjI2MTZhMTQzNTM0
ZjJjNTUzZGFiMjUuLmZmMWU3OWNmZTRkYmE1ZDZjNDQyOGFiNDdmY2FiNDkzNWZlYjAyYWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9FdmVu
dEJyZWFrcG9pbnQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
TW9kZWxzL0V2ZW50QnJlYWtwb2ludC5qcwpAQCAtMjUsMTUgKzI1LDE0IEBACiAKIFdJLkV2ZW50
QnJlYWtwb2ludCA9IGNsYXNzIEV2ZW50QnJlYWtwb2ludCBleHRlbmRzIFdJLk9iamVjdAogewot
ICAgIGNvbnN0cnVjdG9yKHR5cGUsIGV2ZW50TmFtZSwge2V2ZW50TGlzdGVuZXIsIGRpc2FibGVk
fSA9IHt9KQorICAgIGNvbnN0cnVjdG9yKHR5cGUsIHtldmVudE5hbWUsIGV2ZW50TGlzdGVuZXIs
IGRpc2FibGVkfSA9IHt9KQogICAgIHsKICAgICAgICAgc3VwZXIoKTsKIAogICAgICAgICBjb25z
b2xlLmFzc2VydChPYmplY3QudmFsdWVzKFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlKS5pbmNsdWRl
cyh0eXBlKSwgdHlwZSk7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KHR5cGVvZiBldmVudE5hbWUg
PT09ICJzdHJpbmciLCBldmVudE5hbWUpOwogCiAgICAgICAgIHRoaXMuX3R5cGUgPSB0eXBlOwot
ICAgICAgICB0aGlzLl9ldmVudE5hbWUgPSBldmVudE5hbWU7CisgICAgICAgIHRoaXMuX2V2ZW50
TmFtZSA9IGV2ZW50TmFtZSB8fCBudWxsOwogICAgICAgICB0aGlzLl9ldmVudExpc3RlbmVyID0g
ZXZlbnRMaXN0ZW5lciB8fCBudWxsOwogICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IGRpc2FibGVk
IHx8IGZhbHNlOwogICAgIH0KQEAgLTQyLDcgKzQxLDggQEAgV0kuRXZlbnRCcmVha3BvaW50ID0g
Y2xhc3MgRXZlbnRCcmVha3BvaW50IGV4dGVuZHMgV0kuT2JqZWN0CiAKICAgICBzdGF0aWMgZGVz
ZXJpYWxpemUoc2VyaWFsaXplZEluZm8pCiAgICAgewotICAgICAgICByZXR1cm4gbmV3IFdJLkV2
ZW50QnJlYWtwb2ludChzZXJpYWxpemVkSW5mby50eXBlLCBzZXJpYWxpemVkSW5mby5ldmVudE5h
bWUsIHsKKyAgICAgICAgcmV0dXJuIG5ldyBXSS5FdmVudEJyZWFrcG9pbnQoc2VyaWFsaXplZElu
Zm8udHlwZSwgeworICAgICAgICAgICAgZXZlbnROYW1lOiBzZXJpYWxpemVkSW5mby5ldmVudE5h
bWUsCiAgICAgICAgICAgICBkaXNhYmxlZDogISFzZXJpYWxpemVkSW5mby5kaXNhYmxlZCwKICAg
ICAgICAgfSk7CiAgICAgfQpAQCAtNzEsMjYgKzcxLDM2IEBAIFdJLkV2ZW50QnJlYWtwb2ludCA9
IGNsYXNzIEV2ZW50QnJlYWtwb2ludCBleHRlbmRzIFdJLk9iamVjdAogICAgIHNhdmVJZGVudGl0
eVRvQ29va2llKGNvb2tpZSkKICAgICB7CiAgICAgICAgIGNvb2tpZVsiZXZlbnQtYnJlYWtwb2lu
dC10eXBlIl0gPSB0aGlzLl90eXBlOwotICAgICAgICBjb29raWVbImV2ZW50LWJyZWFrcG9pbnQt
ZXZlbnQtbmFtZSJdID0gdGhpcy5fZXZlbnROYW1lOworICAgICAgICBpZiAodGhpcy5fZXZlbnRO
YW1lKQorICAgICAgICAgICAgY29va2llWyJldmVudC1icmVha3BvaW50LWV2ZW50LW5hbWUiXSA9
IHRoaXMuX2V2ZW50TmFtZTsKKyAgICAgICAgaWYgKHRoaXMuX2V2ZW50TGlzdGVuZXIpCisgICAg
ICAgICAgICBjb29raWVbImV2ZW50LWJyZWFrcG9pbnQtZXZlbnQtbGlzdGVuZXIiXSA9IHRoaXMu
X2V2ZW50TGlzdGVuZXIuZXZlbnRMaXN0ZW5lcklkOworICAgICAgICBpZiAodGhpcy5fZGlzYWJs
ZWQpCisgICAgICAgICAgICBjb29raWVbImV2ZW50LWJyZWFrcG9pbnQtZGlzYWJsZWQiXSA9IHRo
aXMuX2Rpc2FibGVkOwogICAgIH0KIAogICAgIHRvSlNPTihrZXkpCiAgICAgewogICAgICAgICBs
ZXQganNvbiA9IHsKICAgICAgICAgICAgIHR5cGU6IHRoaXMuX3R5cGUsCi0gICAgICAgICAgICBl
dmVudE5hbWU6IHRoaXMuX2V2ZW50TmFtZSwKICAgICAgICAgfTsKKyAgICAgICAgaWYgKHRoaXMu
X2V2ZW50TmFtZSkKKyAgICAgICAgICAgIGpzb24uZXZlbnROYW1lID0gdGhpcy5fZXZlbnROYW1l
OwogICAgICAgICBpZiAodGhpcy5fZGlzYWJsZWQpCiAgICAgICAgICAgICBqc29uLmRpc2FibGVk
ID0gdHJ1ZTsKICAgICAgICAgaWYgKGtleSA9PT0gV0kuT2JqZWN0U3RvcmUudG9KU09OU3ltYm9s
KQotICAgICAgICAgICAganNvbltXSS5vYmplY3RTdG9yZXMuZXZlbnRCcmVha3BvaW50cy5rZXlQ
YXRoXSA9IHRoaXMuX3R5cGUgKyAiOiIgKyB0aGlzLl9ldmVudE5hbWU7CisgICAgICAgICAgICBq
c29uW1dJLm9iamVjdFN0b3Jlcy5ldmVudEJyZWFrcG9pbnRzLmtleVBhdGhdID0gdGhpcy5fdHlw
ZSArICh0aGlzLl9ldmVudE5hbWUgPyAiOiIgKyB0aGlzLl9ldmVudE5hbWUgOiAiIik7CiAgICAg
ICAgIHJldHVybiBqc29uOwogICAgIH0KIH07CiAKIFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlID0g
ewogICAgIEFuaW1hdGlvbkZyYW1lOiAiYW5pbWF0aW9uLWZyYW1lIiwKKyAgICBJbnRlcnZhbDog
ImludGVydmFsIiwKICAgICBMaXN0ZW5lcjogImxpc3RlbmVyIiwKKyAgICBUaW1lb3V0OiAidGlt
ZW91dCIsCisKKyAgICAvLyBDT01QQVRJQklMSVRZIChpT1MgMTMpOiBET01EZWJ1Z2dlci5FdmVu
dEJyZWFrcG9pbnRUeXBlcy5UaW1lciB3YXMgcmVtb3ZlZC4KICAgICBUaW1lcjogInRpbWVyIiwK
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvRGVidWdnZXJTaWRlYmFyUGFuZWwuanMKaW5kZXggOGZmNjdmYWJiNjI1
ZjNhMDE5OGE4ZjM5MGQ1ZWY5NzFhZTFlMDk4Mi4uNzNlOGU2MTJhNWU5NWJkN2VmMmRmYzhlYzA5
ZGEwZWMwYjM4OTQxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvRGVidWdnZXJTaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGVidWdnZXJTaWRlYmFyUGFuZWwuanMKQEAgLTIy
NywxNyArMjI3LDI5IEBAIFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsID0gY2xhc3MgRGVidWdnZXJT
aWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5OYXZpZ2F0aW9uU2lkZWJhCiAgICAgICAgICAgICB0aGlz
Ll9hZGRTY3JpcHQoc2NyaXB0KTsKIAogICAgICAgICBpZiAoV0kuZG9tRGVidWdnZXJNYW5hZ2Vy
LnN1cHBvcnRlZCkgewotICAgICAgICAgICAgaWYgKFdJLnNldHRpbmdzLnNob3dBbGxSZXF1ZXN0
c0JyZWFrcG9pbnQudmFsdWUpCi0gICAgICAgICAgICAgICAgV0kuZG9tRGVidWdnZXJNYW5hZ2Vy
LmFkZFVSTEJyZWFrcG9pbnQoV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbFJlcXVlc3RzQnJlYWtw
b2ludCk7CisgICAgICAgICAgICBpZiAoV0kuc2V0dGluZ3Muc2hvd0FsbEFuaW1hdGlvbkZyYW1l
c0JyZWFrcG9pbnQudmFsdWUpCisgICAgICAgICAgICAgICAgV0kuZG9tRGVidWdnZXJNYW5hZ2Vy
LmFkZEV2ZW50QnJlYWtwb2ludChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsQW5pbWF0aW9uRnJh
bWVzQnJlYWtwb2ludCk7CiAKLSAgICAgICAgICAgIGZvciAobGV0IGV2ZW50QnJlYWtwb2ludCBv
ZiBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuZXZlbnRCcmVha3BvaW50cykKKyAgICAgICAgICAgIGlm
IChXSS5zZXR0aW5ncy5zaG93QWxsVGltZW91dHNCcmVha3BvaW50LnZhbHVlKQorICAgICAgICAg
ICAgICAgIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hZGRFdmVudEJyZWFrcG9pbnQoV0kuZG9tRGVi
dWdnZXJNYW5hZ2VyLmFsbFRpbWVvdXRzQnJlYWtwb2ludCk7CisKKyAgICAgICAgICAgIGlmIChX
SS5zZXR0aW5ncy5zaG93QWxsSW50ZXJ2YWxzQnJlYWtwb2ludC52YWx1ZSkKKyAgICAgICAgICAg
ICAgICBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRCcmVha3BvaW50KFdJLmRvbURlYnVn
Z2VyTWFuYWdlci5hbGxJbnRlcnZhbHNCcmVha3BvaW50KTsKKworICAgICAgICAgICAgaWYgKFdJ
LnNldHRpbmdzLnNob3dBbGxMaXN0ZW5lcnNCcmVha3BvaW50LnZhbHVlKQorICAgICAgICAgICAg
ICAgIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hZGRFdmVudEJyZWFrcG9pbnQoV0kuZG9tRGVidWdn
ZXJNYW5hZ2VyLmFsbExpc3RlbmVyc0JyZWFrcG9pbnQpOworCisgICAgICAgICAgICBmb3IgKGxl
dCBldmVudEJyZWFrcG9pbnQgb2YgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmxpc3RlbmVyQnJlYWtw
b2ludHMpCiAgICAgICAgICAgICAgICAgdGhpcy5fYWRkQnJlYWtwb2ludChldmVudEJyZWFrcG9p
bnQpOwogCisgICAgICAgICAgICBmb3IgKGxldCBldmVudExpc3RlbmVyQnJlYWtwb2ludCBvZiBX
SS5kb21NYW5hZ2VyLmV2ZW50TGlzdGVuZXJCcmVha3BvaW50cykKKyAgICAgICAgICAgICAgICB0
aGlzLl9hZGRCcmVha3BvaW50KGV2ZW50TGlzdGVuZXJCcmVha3BvaW50KTsKKwogICAgICAgICAg
ICAgZm9yIChsZXQgZG9tQnJlYWtwb2ludCBvZiBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuZG9tQnJl
YWtwb2ludHMpCiAgICAgICAgICAgICAgICAgdGhpcy5fYWRkQnJlYWtwb2ludChkb21CcmVha3Bv
aW50KTsKIAotICAgICAgICAgICAgZm9yIChsZXQgZXZlbnRMaXN0ZW5lckJyZWFrcG9pbnQgb2Yg
V0kuZG9tTWFuYWdlci5ldmVudExpc3RlbmVyQnJlYWtwb2ludHMpCi0gICAgICAgICAgICAgICAg
dGhpcy5fYWRkQnJlYWtwb2ludChldmVudExpc3RlbmVyQnJlYWtwb2ludCk7CisgICAgICAgICAg
ICBpZiAoV0kuc2V0dGluZ3Muc2hvd0FsbFJlcXVlc3RzQnJlYWtwb2ludC52YWx1ZSkKKyAgICAg
ICAgICAgICAgICBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWRkVVJMQnJlYWtwb2ludChXSS5kb21E
ZWJ1Z2dlck1hbmFnZXIuYWxsUmVxdWVzdHNCcmVha3BvaW50KTsKIAogICAgICAgICAgICAgZm9y
IChsZXQgdXJsQnJlYWtwb2ludHMgb2YgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLnVybEJyZWFrcG9p
bnRzKQogICAgICAgICAgICAgICAgIHRoaXMuX2FkZEJyZWFrcG9pbnQodXJsQnJlYWtwb2ludHMp
OwpAQCAtMzY0LDI1ICszNzYsMzcgQEAgV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwgPSBjbGFzcyBE
ZWJ1Z2dlclNpZGViYXJQYW5lbCBleHRlbmRzIFdJLk5hdmlnYXRpb25TaWRlYmEKICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIHZhciByZXByZXNlbnRlZE9iamVjdCA9
IHNlbGVjdGVkVHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3Q7Ci0KLSAgICAgICAgaWYgKHJl
cHJlc2VudGVkT2JqZWN0ID09PSBXSS5kZWJ1Z2dlck1hbmFnZXIuYWxsRXhjZXB0aW9uc0JyZWFr
cG9pbnQpIHsKLSAgICAgICAgICAgIGNvb2tpZVtXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxl
Y3RlZEFsbEV4Y2VwdGlvbnNDb29raWVLZXldID0gdHJ1ZTsKKyAgICAgICAgc3dpdGNoIChzZWxl
Y3RlZFRyZWVFbGVtZW50LnJlcHJlc2VudGVkT2JqZWN0KSB7CisgICAgICAgIGNhc2UgV0kuZGVi
dWdnZXJNYW5hZ2VyLmFsbEV4Y2VwdGlvbnNCcmVha3BvaW50OgorICAgICAgICAgICAgY29va2ll
W0RlYnVnZ2VyU2lkZWJhclBhbmVsLlNlbGVjdGVkQWxsRXhjZXB0aW9uc0Nvb2tpZUtleV0gPSB0
cnVlOwogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9CiAKLSAgICAgICAgaWYgKHJlcHJl
c2VudGVkT2JqZWN0ID09PSBXSS5kZWJ1Z2dlck1hbmFnZXIudW5jYXVnaHRFeGNlcHRpb25zQnJl
YWtwb2ludCkgewotICAgICAgICAgICAgY29va2llW1dJLkRlYnVnZ2VyU2lkZWJhclBhbmVsLlNl
bGVjdGVkVW5jYXVnaHRFeGNlcHRpb25zQ29va2llS2V5XSA9IHRydWU7CisgICAgICAgIGNhc2Ug
V0kuZGVidWdnZXJNYW5hZ2VyLnVuY2F1Z2h0RXhjZXB0aW9uc0JyZWFrcG9pbnQ6CisgICAgICAg
ICAgICBjb29raWVbRGVidWdnZXJTaWRlYmFyUGFuZWwuU2VsZWN0ZWRVbmNhdWdodEV4Y2VwdGlv
bnNDb29raWVLZXldID0gdHJ1ZTsKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQogCi0g
ICAgICAgIGlmIChyZXByZXNlbnRlZE9iamVjdCA9PT0gV0kuZGVidWdnZXJNYW5hZ2VyLmFzc2Vy
dGlvbkZhaWx1cmVzQnJlYWtwb2ludCkgewotICAgICAgICAgICAgY29va2llW1dJLkRlYnVnZ2Vy
U2lkZWJhclBhbmVsLlNlbGVjdGVkQXNzZXJ0aW9uRmFpbHVyZXNDb29raWVLZXldID0gdHJ1ZTsK
KyAgICAgICAgY2FzZSBXSS5kZWJ1Z2dlck1hbmFnZXIuYXNzZXJ0aW9uRmFpbHVyZXNCcmVha3Bv
aW50OgorICAgICAgICAgICAgY29va2llW0RlYnVnZ2VyU2lkZWJhclBhbmVsLlNlbGVjdGVkQXNz
ZXJ0aW9uRmFpbHVyZXNDb29raWVLZXldID0gdHJ1ZTsKICAgICAgICAgICAgIHJldHVybjsKLSAg
ICAgICAgfQogCi0gICAgICAgIGlmIChyZXByZXNlbnRlZE9iamVjdCA9PT0gV0kuZG9tRGVidWdn
ZXJNYW5hZ2VyLmFsbFJlcXVlc3RzQnJlYWtwb2ludCkgewotICAgICAgICAgICAgY29va2llW1dJ
LkRlYnVnZ2VyU2lkZWJhclBhbmVsLlNlbGVjdGVkQWxsUmVxdWVzdHNDb29raWVLZXldID0gdHJ1
ZTsKKyAgICAgICAgY2FzZSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsQW5pbWF0aW9uRnJhbWVz
QnJlYWtwb2ludDoKKyAgICAgICAgICAgIGNvb2tpZVtEZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxl
Y3RlZEFsbEFuaW1hdGlvbkZyYW1lc0JyZWFrcG9pbnRdID0gdHJ1ZTsKKyAgICAgICAgICAgIHJl
dHVybjsKKworICAgICAgICBjYXNlIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxJbnRlcnZhbHNC
cmVha3BvaW50OgorICAgICAgICAgICAgY29va2llW0RlYnVnZ2VyU2lkZWJhclBhbmVsLlNlbGVj
dGVkQWxsSW50ZXJ2YWxzQnJlYWtwb2ludF0gPSB0cnVlOworICAgICAgICAgICAgcmV0dXJuOwor
CisgICAgICAgIGNhc2UgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbExpc3RlbmVyc0JyZWFrcG9p
bnQ6CisgICAgICAgICAgICBjb29raWVbRGVidWdnZXJTaWRlYmFyUGFuZWwuU2VsZWN0ZWRBbGxM
aXN0ZW5lcnNCcmVha3BvaW50XSA9IHRydWU7CisgICAgICAgICAgICByZXR1cm47CisKKyAgICAg
ICAgY2FzZSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsVGltZW91dHNCcmVha3BvaW50OgorICAg
ICAgICAgICAgY29va2llW0RlYnVnZ2VyU2lkZWJhclBhbmVsLlNlbGVjdGVkQWxsVGltZW91dHNC
cmVha3BvaW50XSA9IHRydWU7CisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgY2FzZSBX
SS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsUmVxdWVzdHNCcmVha3BvaW50OgorICAgICAgICAgICAg
Y29va2llW0RlYnVnZ2VyU2lkZWJhclBhbmVsLlNlbGVjdGVkQWxsUmVxdWVzdHNDb29raWVLZXld
ID0gdHJ1ZTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCkBAIC00MDIsMTQgKzQy
NiwyMiBAQCBXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbCA9IGNsYXNzIERlYnVnZ2VyU2lkZWJhclBh
bmVsIGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYQogICAgICAgICB9CiAKICAgICAgICAgLy8g
RWFnZXJseSByZXNvbHZlIHRoZSBzcGVjaWFsIGJyZWFrcG9pbnRzOyBvdGhlcndpc2UsIHVzZSB0
aGUgZGVmYXVsdCBiZWhhdmlvci4KLSAgICAgICAgaWYgKGNvb2tpZVtXSS5EZWJ1Z2dlclNpZGVi
YXJQYW5lbC5TZWxlY3RlZEFsbEV4Y2VwdGlvbnNDb29raWVLZXldKQorICAgICAgICBpZiAoY29v
a2llW0RlYnVnZ2VyU2lkZWJhclBhbmVsLlNlbGVjdGVkQWxsRXhjZXB0aW9uc0Nvb2tpZUtleV0p
CiAgICAgICAgICAgICByZXZlYWxBbmRTZWxlY3QodGhpcy5fYnJlYWtwb2ludHNDb250ZW50VHJl
ZU91dGxpbmUsIFdJLmRlYnVnZ2VyTWFuYWdlci5hbGxFeGNlcHRpb25zQnJlYWtwb2ludCk7Ci0g
ICAgICAgIGVsc2UgaWYgKGNvb2tpZVtXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxlY3RlZFVu
Y2F1Z2h0RXhjZXB0aW9uc0Nvb2tpZUtleV0pCisgICAgICAgIGVsc2UgaWYgKGNvb2tpZVtEZWJ1
Z2dlclNpZGViYXJQYW5lbC5TZWxlY3RlZFVuY2F1Z2h0RXhjZXB0aW9uc0Nvb2tpZUtleV0pCiAg
ICAgICAgICAgICByZXZlYWxBbmRTZWxlY3QodGhpcy5fYnJlYWtwb2ludHNDb250ZW50VHJlZU91
dGxpbmUsIFdJLmRlYnVnZ2VyTWFuYWdlci51bmNhdWdodEV4Y2VwdGlvbnNCcmVha3BvaW50KTsK
LSAgICAgICAgZWxzZSBpZiAoY29va2llW1dJLkRlYnVnZ2VyU2lkZWJhclBhbmVsLlNlbGVjdGVk
QXNzZXJ0aW9uRmFpbHVyZXNDb29raWVLZXldKQorICAgICAgICBlbHNlIGlmIChjb29raWVbRGVi
dWdnZXJTaWRlYmFyUGFuZWwuU2VsZWN0ZWRBc3NlcnRpb25GYWlsdXJlc0Nvb2tpZUtleV0pCiAg
ICAgICAgICAgICByZXZlYWxBbmRTZWxlY3QodGhpcy5fYnJlYWtwb2ludHNDb250ZW50VHJlZU91
dGxpbmUsIFdJLmRlYnVnZ2VyTWFuYWdlci5hc3NlcnRpb25GYWlsdXJlc0JyZWFrcG9pbnQpOwot
ICAgICAgICBlbHNlIGlmIChjb29raWVbV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwuU2VsZWN0ZWRB
bGxSZXF1ZXN0c0Nvb2tpZUtleV0pCisgICAgICAgIGVsc2UgaWYgKGNvb2tpZVtEZWJ1Z2dlclNp
ZGViYXJQYW5lbC5TZWxlY3RlZEFsbEFuaW1hdGlvbkZyYW1lc0JyZWFrcG9pbnRdKQorICAgICAg
ICAgICAgcmV2ZWFsQW5kU2VsZWN0KHRoaXMuX2JyZWFrcG9pbnRzQ29udGVudFRyZWVPdXRsaW5l
LCBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsQW5pbWF0aW9uRnJhbWVzQnJlYWtwb2ludCk7Cisg
ICAgICAgIGVsc2UgaWYgKGNvb2tpZVtEZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxlY3RlZEFsbElu
dGVydmFsc0JyZWFrcG9pbnRdKQorICAgICAgICAgICAgcmV2ZWFsQW5kU2VsZWN0KHRoaXMuX2Jy
ZWFrcG9pbnRzQ29udGVudFRyZWVPdXRsaW5lLCBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsSW50
ZXJ2YWxzQnJlYWtwb2ludCk7CisgICAgICAgIGVsc2UgaWYgKGNvb2tpZVtEZWJ1Z2dlclNpZGVi
YXJQYW5lbC5TZWxlY3RlZEFsbExpc3RlbmVyc0JyZWFrcG9pbnRdKQorICAgICAgICAgICAgcmV2
ZWFsQW5kU2VsZWN0KHRoaXMuX2JyZWFrcG9pbnRzQ29udGVudFRyZWVPdXRsaW5lLCBXSS5kb21E
ZWJ1Z2dlck1hbmFnZXIuYWxsTGlzdGVuZXJzQnJlYWtwb2ludCk7CisgICAgICAgIGVsc2UgaWYg
KGNvb2tpZVtEZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxlY3RlZEFsbFJlcXVlc3RzQ29va2llS2V5
XSkKICAgICAgICAgICAgIHJldmVhbEFuZFNlbGVjdCh0aGlzLl9icmVha3BvaW50c0NvbnRlbnRU
cmVlT3V0bGluZSwgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbFJlcXVlc3RzQnJlYWtwb2ludCk7
CisgICAgICAgIGVsc2UgaWYgKGNvb2tpZVtEZWJ1Z2dlclNpZGViYXJQYW5lbC5TZWxlY3RlZEFs
bFRpbWVvdXRzQnJlYWtwb2ludF0pCisgICAgICAgICAgICByZXZlYWxBbmRTZWxlY3QodGhpcy5f
YnJlYWtwb2ludHNDb250ZW50VHJlZU91dGxpbmUsIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxU
aW1lb3V0c0JyZWFrcG9pbnQpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBzdXBlci5yZXN0
b3JlU3RhdGVGcm9tQ29va2llKGNvb2tpZSwgcmVsYXhlZE1hdGNoRGVsYXkpOwogICAgIH0KQEAg
LTUxMiw3ICs1NDQsMTUgQEAgV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwgPSBjbGFzcyBEZWJ1Z2dl
clNpZGViYXJQYW5lbCBleHRlbmRzIFdJLk5hdmlnYXRpb25TaWRlYmEKICAgICAgICAgfSBlbHNl
IGlmIChicmVha3BvaW50IGluc3RhbmNlb2YgV0kuRXZlbnRCcmVha3BvaW50KSB7CiAgICAgICAg
ICAgICBjb25zdHJ1Y3RvciA9IFdJLkV2ZW50QnJlYWtwb2ludFRyZWVFbGVtZW50OwogCi0gICAg
ICAgICAgICBpZiAoYnJlYWtwb2ludC5ldmVudExpc3RlbmVyKSB7CisgICAgICAgICAgICBpZiAo
YnJlYWtwb2ludCA9PT0gV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEFuaW1hdGlvbkZyYW1lc0Jy
ZWFrcG9pbnQpCisgICAgICAgICAgICAgICAgb3B0aW9ucy50aXRsZSA9IFdJLlVJU3RyaW5nKCJB
bGwgQW5pbWF0aW9uIEZyYW1lcyIpOworICAgICAgICAgICAgZWxzZSBpZiAoYnJlYWtwb2ludCA9
PT0gV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEludGVydmFsc0JyZWFrcG9pbnQpCisgICAgICAg
ICAgICAgICAgb3B0aW9ucy50aXRsZSA9IFdJLlVJU3RyaW5nKCJBbGwgSW50ZXJ2YWxzIik7Cisg
ICAgICAgICAgICBlbHNlIGlmIChicmVha3BvaW50ID09PSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIu
YWxsTGlzdGVuZXJzQnJlYWtwb2ludCkKKyAgICAgICAgICAgICAgICBvcHRpb25zLnRpdGxlID0g
V0kuVUlTdHJpbmcoIkFsbCBFdmVudHMiKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKGJyZWFrcG9p
bnQgPT09IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxUaW1lb3V0c0JyZWFrcG9pbnQpCisgICAg
ICAgICAgICAgICAgb3B0aW9ucy50aXRsZSA9IFdJLlVJU3RyaW5nKCJBbGwgVGltZW91dHMiKTsK
KyAgICAgICAgICAgIGVsc2UgaWYgKGJyZWFrcG9pbnQuZXZlbnRMaXN0ZW5lcikgewogICAgICAg
ICAgICAgICAgIGxldCBldmVudFRhcmdldFRyZWVFbGVtZW50ID0gbnVsbDsKICAgICAgICAgICAg
ICAgICBpZiAoYnJlYWtwb2ludC5ldmVudExpc3RlbmVyLm9uV2luZG93KSB7CiAgICAgICAgICAg
ICAgICAgICAgIGlmICghRGVidWdnZXJTaWRlYmFyUGFuZWwuX193aW5kb3dFdmVudFRhcmdldFJl
cHJlc2VudGVkT2JqZWN0KQpAQCAtMTA2NCw2ICsxMTA0LDEwIEBAIFdJLkRlYnVnZ2VyU2lkZWJh
clBhbmVsID0gY2xhc3MgRGVidWdnZXJTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5OYXZpZ2F0aW9u
U2lkZWJhCiAgICAgICAgICAgICAgICAgKHRyZWVFbGVtZW50KSA9PiB0cmVlRWxlbWVudC5yZXBy
ZXNlbnRlZE9iamVjdCA9PT0gV0kuZGVidWdnZXJNYW5hZ2VyLnVuY2F1Z2h0RXhjZXB0aW9uc0Jy
ZWFrcG9pbnQsCiAgICAgICAgICAgICAgICAgKHRyZWVFbGVtZW50KSA9PiB0cmVlRWxlbWVudC5y
ZXByZXNlbnRlZE9iamVjdCA9PT0gV0kuZGVidWdnZXJNYW5hZ2VyLmFzc2VydGlvbkZhaWx1cmVz
QnJlYWtwb2ludCwKICAgICAgICAgICAgICAgICAodHJlZUVsZW1lbnQpID0+IHRyZWVFbGVtZW50
IGluc3RhbmNlb2YgV0kuQnJlYWtwb2ludFRyZWVFbGVtZW50IHx8IHRyZWVFbGVtZW50IGluc3Rh
bmNlb2YgV0kuUmVzb3VyY2VUcmVlRWxlbWVudCB8fCB0cmVlRWxlbWVudCBpbnN0YW5jZW9mIFdJ
LlNjcmlwdFRyZWVFbGVtZW50LAorICAgICAgICAgICAgICAgICh0cmVlRWxlbWVudCkgPT4gdHJl
ZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QgPT09IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxB
bmltYXRpb25GcmFtZXNCcmVha3BvaW50LAorICAgICAgICAgICAgICAgICh0cmVlRWxlbWVudCkg
PT4gdHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QgPT09IFdJLmRvbURlYnVnZ2VyTWFuYWdl
ci5hbGxUaW1lb3V0c0JyZWFrcG9pbnQsCisgICAgICAgICAgICAgICAgKHRyZWVFbGVtZW50KSA9
PiB0cmVlRWxlbWVudC5yZXByZXNlbnRlZE9iamVjdCA9PT0gV0kuZG9tRGVidWdnZXJNYW5hZ2Vy
LmFsbEludGVydmFsc0JyZWFrcG9pbnQsCisgICAgICAgICAgICAgICAgKHRyZWVFbGVtZW50KSA9
PiB0cmVlRWxlbWVudC5yZXByZXNlbnRlZE9iamVjdCA9PT0gV0kuZG9tRGVidWdnZXJNYW5hZ2Vy
LmFsbExpc3RlbmVyc0JyZWFrcG9pbnQsCiAgICAgICAgICAgICAgICAgKHRyZWVFbGVtZW50KSA9
PiB0cmVlRWxlbWVudCBpbnN0YW5jZW9mIFdJLkV2ZW50QnJlYWtwb2ludFRyZWVFbGVtZW50LAog
ICAgICAgICAgICAgICAgICh0cmVlRWxlbWVudCkgPT4gdHJlZUVsZW1lbnQgaW5zdGFuY2VvZiBX
SS5ET01Ob2RlVHJlZUVsZW1lbnQsCiAgICAgICAgICAgICAgICAgKHRyZWVFbGVtZW50KSA9PiB0
cmVlRWxlbWVudC5yZXByZXNlbnRlZE9iamVjdCA9PT0gRGVidWdnZXJTaWRlYmFyUGFuZWwuX193
aW5kb3dFdmVudFRhcmdldFJlcHJlc2VudGVkT2JqZWN0LApAQCAtMTEyMywyMCArMTE2NywxMSBA
QCBXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbCA9IGNsYXNzIERlYnVnZ2VyU2lkZWJhclBhbmVsIGV4
dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYQogCiAgICAgICAgIHN3aXRjaCAocGF1c2VSZWFzb24p
IHsKICAgICAgICAgY2FzZSBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uQW5pbWF0aW9u
RnJhbWU6Ci0gICAgICAgICAgICBjb25zb2xlLmFzc2VydChwYXVzZURhdGEsICJFeHBlY3RlZCBk
YXRhIHdpdGggYW4gYW5pbWF0aW9uIGZyYW1lLCBidXQgZm91bmQgbm9uZS4iKTsKLSAgICAgICAg
ICAgIGlmICghcGF1c2VEYXRhKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAg
ICAgICAgICAgdmFyIGV2ZW50QnJlYWtwb2ludCA9IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5ldmVu
dEJyZWFrcG9pbnRGb3JUeXBlQW5kRXZlbnROYW1lKFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkFu
aW1hdGlvbkZyYW1lLCBwYXVzZURhdGEuZXZlbnROYW1lKTsKLSAgICAgICAgICAgIGNvbnNvbGUu
YXNzZXJ0KGV2ZW50QnJlYWtwb2ludCwgIkV4cGVjdGVkIEFuaW1hdGlvbkZyYW1lIGJyZWFrcG9p
bnQgZm9yIGV2ZW50IG5hbWUuIiwgcGF1c2VEYXRhLmV2ZW50TmFtZSk7Ci0gICAgICAgICAgICBp
ZiAoIWV2ZW50QnJlYWtwb2ludCkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KICAg
ICAgICAgICAgIHRoaXMuX3BhdXNlUmVhc29uVHJlZU91dGxpbmUgPSB0aGlzLmNyZWF0ZUNvbnRl
bnRUcmVlT3V0bGluZSh7c3VwcHJlc3NGaWx0ZXJpbmc6IHRydWV9KTsKIAotICAgICAgICAgICAg
dmFyIGV2ZW50QnJlYWtwb2ludFRyZWVFbGVtZW50ID0gbmV3IFdJLkV2ZW50QnJlYWtwb2ludFRy
ZWVFbGVtZW50KGV2ZW50QnJlYWtwb2ludCwgeworICAgICAgICAgICAgdmFyIGV2ZW50QnJlYWtw
b2ludFRyZWVFbGVtZW50ID0gbmV3IFdJLkV2ZW50QnJlYWtwb2ludFRyZWVFbGVtZW50KFdJLmRv
bURlYnVnZ2VyTWFuYWdlci5hbGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50LCB7CiAgICAgICAg
ICAgICAgICAgY2xhc3NOYW1lOiBXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbC5QYXVzZWRCcmVha3Bv
aW50SWNvblN0eWxlQ2xhc3NOYW1lLAotICAgICAgICAgICAgICAgIHRpdGxlOiBXSS5VSVN0cmlu
ZygiJXMgRmlyZWQiKS5mb3JtYXQocGF1c2VEYXRhLmV2ZW50TmFtZSksCisgICAgICAgICAgICAg
ICAgdGl0bGU6IFdJLlVJU3RyaW5nKCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUgRmlyZWQiKSwKICAg
ICAgICAgICAgIH0pOwogICAgICAgICAgICAgdGhpcy5fcGF1c2VSZWFzb25UcmVlT3V0bGluZS5h
cHBlbmRDaGlsZChldmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudCk7CiAKQEAgLTEyNTMsNiArMTI4
OCw3IEBAIFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsID0gY2xhc3MgRGVidWdnZXJTaWRlYmFyUGFu
ZWwgZXh0ZW5kcyBXSS5OYXZpZ2F0aW9uU2lkZWJhCiAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICBicmVhazsKIAorICAgICAgICBjYXNlIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5M
aXN0ZW5lcjoKICAgICAgICAgY2FzZSBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uRXZl
bnRMaXN0ZW5lcjoKICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHBhdXNlRGF0YSwgIkV4cGVj
dGVkIGRhdGEgd2l0aCBhbiBldmVudCBsaXN0ZW5lciwgYnV0IGZvdW5kIG5vbmUuIik7CiAgICAg
ICAgICAgICBpZiAoIXBhdXNlRGF0YSkKQEAgLTEyNjIsNyArMTI5OCw3IEBAIFdJLkRlYnVnZ2Vy
U2lkZWJhclBhbmVsID0gY2xhc3MgRGVidWdnZXJTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5OYXZp
Z2F0aW9uU2lkZWJhCiAgICAgICAgICAgICBpZiAocGF1c2VEYXRhLmV2ZW50TGlzdGVuZXJJZCkK
ICAgICAgICAgICAgICAgICBldmVudEJyZWFrcG9pbnQgPSBXSS5kb21NYW5hZ2VyLmJyZWFrcG9p
bnRGb3JFdmVudExpc3RlbmVySWQocGF1c2VEYXRhLmV2ZW50TGlzdGVuZXJJZCk7CiAgICAgICAg
ICAgICBpZiAoIWV2ZW50QnJlYWtwb2ludCkKLSAgICAgICAgICAgICAgICBldmVudEJyZWFrcG9p
bnQgPSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuZXZlbnRCcmVha3BvaW50Rm9yVHlwZUFuZEV2ZW50
TmFtZShXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5MaXN0ZW5lciwgcGF1c2VEYXRhLmV2ZW50TmFt
ZSk7CisgICAgICAgICAgICAgICAgZXZlbnRCcmVha3BvaW50ID0gV0kuZG9tRGVidWdnZXJNYW5h
Z2VyLmxpc3RlbmVyQnJlYWtwb2ludEZvckV2ZW50TmFtZShwYXVzZURhdGEuZXZlbnROYW1lKTsK
IAogICAgICAgICAgICAgY29uc29sZS5hc3NlcnQoZXZlbnRCcmVha3BvaW50LCAiRXhwZWN0ZWQg
RXZlbnQgTGlzdGVuZXIgYnJlYWtwb2ludCBmb3IgZXZlbnQgbmFtZS4iLCBwYXVzZURhdGEuZXZl
bnROYW1lKTsKICAgICAgICAgICAgIGlmICghZXZlbnRCcmVha3BvaW50KQpAQCAtMTMwOCw2ICsx
MzQ0LDIxIEBAIFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsID0gY2xhc3MgRGVidWdnZXJTaWRlYmFy
UGFuZWwgZXh0ZW5kcyBXSS5OYXZpZ2F0aW9uU2lkZWJhCiAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICBicmVhazsKIAorICAgICAgICBjYXNlIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNv
bi5JbnRlcnZhbDoKKyAgICAgICAgICAgIHRoaXMuX3BhdXNlUmVhc29uVHJlZU91dGxpbmUgPSB0
aGlzLmNyZWF0ZUNvbnRlbnRUcmVlT3V0bGluZSh7c3VwcHJlc3NGaWx0ZXJpbmc6IHRydWV9KTsK
KworICAgICAgICAgICAgdmFyIGV2ZW50QnJlYWtwb2ludFRyZWVFbGVtZW50ID0gbmV3IFdJLkV2
ZW50QnJlYWtwb2ludFRyZWVFbGVtZW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxJbnRlcnZh
bHNCcmVha3BvaW50LCB7CisgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBXSS5EZWJ1Z2dlclNp
ZGViYXJQYW5lbC5QYXVzZWRCcmVha3BvaW50SWNvblN0eWxlQ2xhc3NOYW1lLAorICAgICAgICAg
ICAgICAgIHRpdGxlOiBXSS5VSVN0cmluZygic2V0SW50ZXJ2YWwgRmlyZWQiKSwKKyAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgdGhpcy5fcGF1c2VSZWFzb25UcmVlT3V0bGluZS5hcHBlbmRD
aGlsZChldmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudCk7CisKKyAgICAgICAgICAgIHZhciBldmVu
dEJyZWFrcG9pbnRSb3cgPSBuZXcgV0kuRGV0YWlsc1NlY3Rpb25Sb3c7CisgICAgICAgICAgICBl
dmVudEJyZWFrcG9pbnRSb3cuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9wYXVzZVJlYXNvblRy
ZWVPdXRsaW5lLmVsZW1lbnQpOworCisgICAgICAgICAgICB0aGlzLl9wYXVzZVJlYXNvbkdyb3Vw
LnJvd3MgPSBbZXZlbnRCcmVha3BvaW50Um93XTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwor
CiAgICAgICAgIGNhc2UgV0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVhc29uLlBhdXNlT25OZXh0
U3RhdGVtZW50OgogICAgICAgICAgICAgdGhpcy5fcGF1c2VSZWFzb25UZXh0Um93LnRleHQgPSBX
SS5VSVN0cmluZygiSW1tZWRpYXRlIFBhdXNlIFJlcXVlc3RlZCIpOwogICAgICAgICAgICAgdGhp
cy5fcGF1c2VSZWFzb25Hcm91cC5yb3dzID0gW3RoaXMuX3BhdXNlUmVhc29uVGV4dFJvd107CkBA
IC0xMzE4LDcgKzEzNjksMTYgQEAgV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwgPSBjbGFzcyBEZWJ1
Z2dlclNpZGViYXJQYW5lbCBleHRlbmRzIFdJLk5hdmlnYXRpb25TaWRlYmEKICAgICAgICAgICAg
IGlmICghcGF1c2VEYXRhKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAg
ICAgICAgdmFyIGV2ZW50QnJlYWtwb2ludCA9IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5ldmVudEJy
ZWFrcG9pbnRGb3JUeXBlQW5kRXZlbnROYW1lKFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLlRpbWVy
LCBwYXVzZURhdGEuZXZlbnROYW1lKTsKKyAgICAgICAgICAgIHZhciBldmVudEJyZWFrcG9pbnQg
PSBudWxsOworICAgICAgICAgICAgc3dpdGNoIChwYXVzZURhdGEuZXZlbnROYW1lKSB7CisgICAg
ICAgICAgICBjYXNlICJzZXRUaW1lb3V0IjoKKyAgICAgICAgICAgICAgICBldmVudEJyZWFrcG9p
bnQgPSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsVGltZW91dHNCcmVha3BvaW50OworICAgICAg
ICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICBjYXNlICJzZXRJbnRlcnZhbCI6CisgICAg
ICAgICAgICAgICAgZXZlbnRCcmVha3BvaW50ID0gV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbElu
dGVydmFsc0JyZWFrcG9pbnQ7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9
CiAgICAgICAgICAgICBjb25zb2xlLmFzc2VydChldmVudEJyZWFrcG9pbnQsICJFeHBlY3RlZCBU
aW1lciBicmVha3BvaW50IGZvciBldmVudCBuYW1lLiIsIHBhdXNlRGF0YS5ldmVudE5hbWUpOwog
ICAgICAgICAgICAgaWYgKCFldmVudEJyZWFrcG9pbnQpCiAgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwpAQCAtMTMzNyw2ICsxMzk3LDIxIEBAIFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsID0g
Y2xhc3MgRGVidWdnZXJTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5OYXZpZ2F0aW9uU2lkZWJhCiAg
ICAgICAgICAgICB0aGlzLl9wYXVzZVJlYXNvbkdyb3VwLnJvd3MgPSBbZXZlbnRCcmVha3BvaW50
Um93XTsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogCisgICAgICAgIGNhc2UgV0kuRGVidWdn
ZXJNYW5hZ2VyLlBhdXNlUmVhc29uLlRpbWVvdXQ6CisgICAgICAgICAgICB0aGlzLl9wYXVzZVJl
YXNvblRyZWVPdXRsaW5lID0gdGhpcy5jcmVhdGVDb250ZW50VHJlZU91dGxpbmUoe3N1cHByZXNz
RmlsdGVyaW5nOiB0cnVlfSk7CisKKyAgICAgICAgICAgIHZhciBldmVudEJyZWFrcG9pbnRUcmVl
RWxlbWVudCA9IG5ldyBXSS5FdmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudChXSS5kb21EZWJ1Z2dl
ck1hbmFnZXIuYWxsVGltZW91dHNCcmVha3BvaW50LCB7CisgICAgICAgICAgICAgICAgY2xhc3NO
YW1lOiBXSS5EZWJ1Z2dlclNpZGViYXJQYW5lbC5QYXVzZWRCcmVha3BvaW50SWNvblN0eWxlQ2xh
c3NOYW1lLAorICAgICAgICAgICAgICAgIHRpdGxlOiBXSS5VSVN0cmluZygic2V0VGltZW91dCBG
aXJlZCIpLAorICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB0aGlzLl9wYXVzZVJlYXNvblRy
ZWVPdXRsaW5lLmFwcGVuZENoaWxkKGV2ZW50QnJlYWtwb2ludFRyZWVFbGVtZW50KTsKKworICAg
ICAgICAgICAgdmFyIGV2ZW50QnJlYWtwb2ludFJvdyA9IG5ldyBXSS5EZXRhaWxzU2VjdGlvblJv
dzsKKyAgICAgICAgICAgIGV2ZW50QnJlYWtwb2ludFJvdy5lbGVtZW50LmFwcGVuZENoaWxkKHRo
aXMuX3BhdXNlUmVhc29uVHJlZU91dGxpbmUuZWxlbWVudCk7CisKKyAgICAgICAgICAgIHRoaXMu
X3BhdXNlUmVhc29uR3JvdXAucm93cyA9IFtldmVudEJyZWFrcG9pbnRSb3ddOworICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CisKICAgICAgICAgY2FzZSBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VS
ZWFzb24uRmV0Y2g6CiAgICAgICAgIGNhc2UgV0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVhc29u
LlhIUjoKICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5z
dXBwb3J0ZWQpOwpAQCAtMTQ1NiwxMSArMTUzMSwzMSBAQCBXSS5EZWJ1Z2dlclNpZGViYXJQYW5l
bCA9IGNsYXNzIERlYnVnZ2VyU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGVi
YQogICAgICAgICBsZXQgdHJlZUVsZW1lbnQgPSBldmVudC5kYXRhLmVsZW1lbnQ7CiAKICAgICAg
ICAgbGV0IHNldHRpbmcgPSBudWxsOwotICAgICAgICBpZiAodHJlZUVsZW1lbnQuYnJlYWtwb2lu
dCA9PT0gV0kuZGVidWdnZXJNYW5hZ2VyLmFzc2VydGlvbkZhaWx1cmVzQnJlYWtwb2ludCkKKyAg
ICAgICAgc3dpdGNoICh0cmVlRWxlbWVudC5yZXByZXNlbnRlZE9iamVjdCkgeworICAgICAgICBj
YXNlIFdJLmRlYnVnZ2VyTWFuYWdlci5hc3NlcnRpb25GYWlsdXJlc0JyZWFrcG9pbnQ6CiAgICAg
ICAgICAgICBzZXR0aW5nID0gV0kuc2V0dGluZ3Muc2hvd0Fzc2VydGlvbkZhaWx1cmVzQnJlYWtw
b2ludDsKLSAgICAgICAgZWxzZSBpZiAodHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QgPT09
IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxSZXF1ZXN0c0JyZWFrcG9pbnQpCi0gICAgICAgICAg
ICBzZXR0aW5nID0gV0kuc2V0dGluZ3Muc2hvd0FsbFJlcXVlc3RzQnJlYWtwb2ludDsKKyAgICAg
ICAgICAgIGJyZWFrOwogCisgICAgICAgIGNhc2UgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEFu
aW1hdGlvbkZyYW1lc0JyZWFrcG9pbnQ6CisgICAgICAgICAgICBzZXR0aW5nID0gV0kuc2V0dGlu
Z3Muc2hvd0FsbEFuaW1hdGlvbkZyYW1lc0JyZWFrcG9pbnQ7CisgICAgICAgICAgICBicmVhazsK
KworICAgICAgICBjYXNlIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxJbnRlcnZhbHNCcmVha3Bv
aW50OgorICAgICAgICAgICAgc2V0dGluZyA9IFdJLnNldHRpbmdzLnNob3dBbGxJbnRlcnZhbHNC
cmVha3BvaW50OworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBXSS5kb21EZWJ1
Z2dlck1hbmFnZXIuYWxsTGlzdGVuZXJzQnJlYWtwb2ludDoKKyAgICAgICAgICAgIHNldHRpbmcg
PSBXSS5zZXR0aW5ncy5zaG93QWxsTGlzdGVuZXJzQnJlYWtwb2ludDsKKyAgICAgICAgICAgIGJy
ZWFrOworCisgICAgICAgIGNhc2UgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbFJlcXVlc3RzQnJl
YWtwb2ludDoKKyAgICAgICAgICAgIHNldHRpbmcgPSBXSS5zZXR0aW5ncy5zaG93QWxsUmVxdWVz
dHNCcmVha3BvaW50OworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBXSS5kb21E
ZWJ1Z2dlck1hbmFnZXIuYWxsVGltZW91dHNCcmVha3BvaW50OgorICAgICAgICAgICAgc2V0dGlu
ZyA9IFdJLnNldHRpbmdzLnNob3dBbGxUaW1lb3V0c0JyZWFrcG9pbnQ7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgfQogICAgICAgICBpZiAoc2V0dGluZykKICAgICAgICAgICAgIHNldHRp
bmcudmFsdWUgPSAhIXRyZWVFbGVtZW50LnBhcmVudDsKICAgICB9CkBAIC0xNDgxLDE4ICsxNTc2
LDM5IEBAIFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVsID0gY2xhc3MgRGVidWdnZXJTaWRlYmFyUGFu
ZWwgZXh0ZW5kcyBXSS5OYXZpZ2F0aW9uU2lkZWJhCiAgICAgICAgICAgICB9LCBhc3NlcnRpb25G
YWlsdXJlc0JyZWFrcG9pbnRTaG93bik7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoV0kuZG9t
RGVidWdnZXJNYW5hZ2VyLnN1cHBvcnRlZCkgeworICAgICAgICBpZiAoV0kuRE9NRGVidWdnZXJN
YW5hZ2VyLnN1cHBvcnRzRXZlbnRCcmVha3BvaW50cygpIHx8IFdJLkRPTURlYnVnZ2VyTWFuYWdl
ci5zdXBwb3J0c0V2ZW50TGlzdGVuZXJCcmVha3BvaW50cygpKSB7CisgICAgICAgICAgICBmdW5j
dGlvbiBhZGRUb2dnbGVGb3JTcGVjaWFsRXZlbnRCcmVha3BvaW50KGJyZWFrcG9pbnQsIGxhYmVs
LCBjaGVja2VkKSB7CisgICAgICAgICAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kQ2hlY2tib3hJ
dGVtKGxhYmVsLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgICAgIGlmIChjaGVja2VkKQorICAg
ICAgICAgICAgICAgICAgICAgICAgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLnJlbW92ZUV2ZW50QnJl
YWtwb2ludChicmVha3BvaW50KTsKKyAgICAgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAg
ICAgICAgICAgICAgICAgICBicmVha3BvaW50LmRpc2FibGVkID0gZmFsc2U7CisgICAgICAgICAg
ICAgICAgICAgICAgICBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRCcmVha3BvaW50KGJy
ZWFrcG9pbnQpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSwgY2hl
Y2tlZCk7CisgICAgICAgICAgICB9CisKICAgICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZFNl
cGFyYXRvcigpOwogCisgICAgICAgICAgICBhZGRUb2dnbGVGb3JTcGVjaWFsRXZlbnRCcmVha3Bv
aW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50LCBX
SS5VSVN0cmluZygiQWxsIEFuaW1hdGlvbiBGcmFtZXMiKSwgV0kuc2V0dGluZ3Muc2hvd0FsbEFu
aW1hdGlvbkZyYW1lc0JyZWFrcG9pbnQudmFsdWUpOworICAgICAgICAgICAgYWRkVG9nZ2xlRm9y
U3BlY2lhbEV2ZW50QnJlYWtwb2ludChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsVGltZW91dHNC
cmVha3BvaW50LCBXSS5VSVN0cmluZygiQWxsIFRpbWVvdXRzIiksIFdJLnNldHRpbmdzLnNob3dB
bGxUaW1lb3V0c0JyZWFrcG9pbnQudmFsdWUpOworICAgICAgICAgICAgYWRkVG9nZ2xlRm9yU3Bl
Y2lhbEV2ZW50QnJlYWtwb2ludChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsSW50ZXJ2YWxzQnJl
YWtwb2ludCwgV0kuVUlTdHJpbmcoIkFsbCBJbnRlcnZhbHMiKSwgV0kuc2V0dGluZ3Muc2hvd0Fs
bEludGVydmFsc0JyZWFrcG9pbnQudmFsdWUpOworCisgICAgICAgICAgICBjb250ZXh0TWVudS5h
cHBlbmRTZXBhcmF0b3IoKTsKKworICAgICAgICAgICAgaWYgKFdJLkRPTURlYnVnZ2VyTWFuYWdl
ci5zdXBwb3J0c0FsbExpc3RlbmVyc0JyZWFrcG9pbnQoKSkKKyAgICAgICAgICAgICAgICBhZGRU
b2dnbGVGb3JTcGVjaWFsRXZlbnRCcmVha3BvaW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxM
aXN0ZW5lcnNCcmVha3BvaW50LCBXSS5VSVN0cmluZygiQWxsIEV2ZW50cyIpLCBXSS5zZXR0aW5n
cy5zaG93QWxsTGlzdGVuZXJzQnJlYWtwb2ludC52YWx1ZSk7CisKICAgICAgICAgICAgIGNvbnRl
eHRNZW51LmFwcGVuZEl0ZW0oV0kuVUlTdHJpbmcoIkV2ZW50IEJyZWFrcG9pbnRcdTIwMjYiKSwg
KCkgPT4gewogICAgICAgICAgICAgICAgIGxldCBwb3BvdmVyID0gbmV3IFdJLkV2ZW50QnJlYWtw
b2ludFBvcG92ZXIodGhpcyk7CiAgICAgICAgICAgICAgICAgcG9wb3Zlci5zaG93KHRoaXMuX2Ny
ZWF0ZUJyZWFrcG9pbnRCdXR0b24uZWxlbWVudCwgW1dJLlJlY3RFZGdlLk1BWF9ZLCBXSS5SZWN0
RWRnZS5NSU5fWSwgV0kuUmVjdEVkZ2UuTUFYX1hdKTsKICAgICAgICAgICAgIH0pOwogCiAgICAg
ICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRTZXBhcmF0b3IoKTsKKyAgICAgICAgfQogCisgICAg
ICAgIGlmIChXSS5ET01EZWJ1Z2dlck1hbmFnZXIuc3VwcG9ydHNVUkxCcmVha3BvaW50cygpIHx8
IFdJLkRPTURlYnVnZ2VyTWFuYWdlci5zdXBwb3J0c1hIUkJyZWFrcG9pbnRzKCkpIHsKICAgICAg
ICAgICAgIGxldCBhbGxSZXF1ZXN0c0JyZWFrcG9pbnRTaG93biA9IFdJLnNldHRpbmdzLnNob3dB
bGxSZXF1ZXN0c0JyZWFrcG9pbnQudmFsdWU7Ci0KICAgICAgICAgICAgIGNvbnRleHRNZW51LmFw
cGVuZENoZWNrYm94SXRlbShXSS5yZXBlYXRlZFVJU3RyaW5nLmFsbFJlcXVlc3RzKCksICgpID0+
IHsKICAgICAgICAgICAgICAgICBpZiAoYWxsUmVxdWVzdHNCcmVha3BvaW50U2hvd24pCiAgICAg
ICAgICAgICAgICAgICAgIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5yZW1vdmVVUkxCcmVha3BvaW50
KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxSZXF1ZXN0c0JyZWFrcG9pbnQpOwpAQCAtMTUxOCw0
ICsxNjM0LDggQEAgV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwuUGF1c2VkQnJlYWtwb2ludEljb25T
dHlsZUNsYXNzTmFtZSA9ICJicmVha3BvaW50LXBhdXNlZC0KIFdJLkRlYnVnZ2VyU2lkZWJhclBh
bmVsLlNlbGVjdGVkQWxsRXhjZXB0aW9uc0Nvb2tpZUtleSA9ICJkZWJ1Z2dlci1zaWRlYmFyLXBh
bmVsLWFsbC1leGNlcHRpb25zLWJyZWFrcG9pbnQiOwogV0kuRGVidWdnZXJTaWRlYmFyUGFuZWwu
U2VsZWN0ZWRVbmNhdWdodEV4Y2VwdGlvbnNDb29raWVLZXkgPSAiZGVidWdnZXItc2lkZWJhci1w
YW5lbC11bmNhdWdodC1leGNlcHRpb25zLWJyZWFrcG9pbnQiOwogV0kuRGVidWdnZXJTaWRlYmFy
UGFuZWwuU2VsZWN0ZWRBc3NlcnRpb25GYWlsdXJlc0Nvb2tpZUtleSA9ICJkZWJ1Z2dlci1zaWRl
YmFyLXBhbmVsLWFzc2VydGlvbi1mYWlsdXJlcy1icmVha3BvaW50IjsKK1dJLkRlYnVnZ2VyU2lk
ZWJhclBhbmVsLlNlbGVjdGVkQWxsQW5pbWF0aW9uRnJhbWVzQnJlYWtwb2ludCA9ICJkZWJ1Z2dl
ci1zaWRlYmFyLXBhbmVsLWFsbC1hbmltYXRpb24tZnJhbWVzLWJyZWFrcG9pbnQiOworV0kuRGVi
dWdnZXJTaWRlYmFyUGFuZWwuU2VsZWN0ZWRBbGxJbnRlcnZhbHNCcmVha3BvaW50ID0gImRlYnVn
Z2VyLXNpZGViYXItcGFuZWwtYWxsLWludGVydmFscy1icmVha3BvaW50IjsKK1dJLkRlYnVnZ2Vy
U2lkZWJhclBhbmVsLlNlbGVjdGVkQWxsTGlzdGVuZXJzQnJlYWtwb2ludCA9ICJkZWJ1Z2dlci1z
aWRlYmFyLXBhbmVsLWFsbC1saXN0ZW5lcnMtYnJlYWtwb2ludCI7CitXSS5EZWJ1Z2dlclNpZGVi
YXJQYW5lbC5TZWxlY3RlZEFsbFRpbWVvdXRzQnJlYWtwb2ludCA9ICJkZWJ1Z2dlci1zaWRlYmFy
LXBhbmVsLWFsbC10aW1lb3V0cy1icmVha3BvaW50IjsKIFdJLkRlYnVnZ2VyU2lkZWJhclBhbmVs
LlNlbGVjdGVkQWxsUmVxdWVzdHNDb29raWVLZXkgPSAiZGVidWdnZXItc2lkZWJhci1wYW5lbC1h
bGwtcmVxdWVzdHMtYnJlYWtwb2ludCI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9FdmVudEJyZWFrcG9pbnRQb3BvdmVyLmNzcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50QnJlYWtwb2ludFBvcG92
ZXIuY3NzCmluZGV4IGE1YmMwMzc2N2E5MzNmNTFjMTgzYWEwNzYzNTQxZjI1ZmUwM2VlYTguLmM3
ZmIyMTUyMDk5NWM4YTRlNTA3YWIzYjQ5M2ZmMTc0ZDJlNzFmM2QgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50QnJlYWtwb2ludFBvcG92
ZXIuY3NzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0V2
ZW50QnJlYWtwb2ludFBvcG92ZXIuY3NzCkBAIC0yOCwxNiArMjgsMTIgQEAKICAgICBwYWRkaW5n
OiA1cHg7CiB9CiAKLS5wb3BvdmVyIC5ldmVudC1icmVha3BvaW50LWNvbnRlbnQgPiAuZXZlbnQt
dHlwZSB7Ci0gICAgZGlzcGxheTogZmxleDsKKy5wb3BvdmVyIC5ldmVudC1icmVha3BvaW50LWNv
bnRlbnQgPiBpbnB1dCB7CiAgICAgbWFyZ2luLXRvcDogNHB4OwotfQotCi0ucG9wb3ZlciAuZXZl
bnQtYnJlYWtwb2ludC1jb250ZW50ID4gLmV2ZW50LXR5cGUgPiBpbnB1dCB7CiAgICAgZm9udC1m
YW1pbHk6IE1lbmxvLCBtb25vc3BhY2U7CiAgICAgdGV4dC1hbGlnbjogbGVmdDsKIH0KIAotLnBv
cG92ZXIgLmV2ZW50LWJyZWFrcG9pbnQtY29udGVudCA+IC5ldmVudC10eXBlID4gaW5wdXQ6OnBs
YWNlaG9sZGVyIHsKKy5wb3BvdmVyIC5ldmVudC1icmVha3BvaW50LWNvbnRlbnQgPiBpbnB1dDo6
cGxhY2Vob2xkZXIgewogICAgIGZvbnQtZmFtaWx5OiBzeXN0ZW0tdWk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9FdmVudEJyZWFrcG9p
bnRQb3BvdmVyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
RXZlbnRCcmVha3BvaW50UG9wb3Zlci5qcwppbmRleCBlOGI4NjY1NjBhMzljODRkZjI5ZDFlYTBh
NjM3NTI0NDE3ZGM0OWQzLi44MzIyZjJiZDU0YzIxMDg4ZDhjMWU0MDVkNjY4MWNhMTFjMWNiYmYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9F
dmVudEJyZWFrcG9pbnRQb3BvdmVyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0V2ZW50QnJlYWtwb2ludFBvcG92ZXIuanMKQEAgLTU2LDMyICs1Niw3
IEBAIFdJLkV2ZW50QnJlYWtwb2ludFBvcG92ZXIgPSBjbGFzcyBFdmVudEJyZWFrcG9pbnRQb3Bv
dmVyIGV4dGVuZHMgV0kuUG9wb3ZlcgogICAgICAgICBsYWJlbC5jbGFzc0xpc3QuYWRkKCJsYWJl
bCIpOwogICAgICAgICBsYWJlbC50ZXh0Q29udGVudCA9IFdJLlVJU3RyaW5nKCJCcmVhayBvbiBl
dmVudHMgd2l0aCBuYW1lOiIpOwogCi0gICAgICAgIGxldCB0eXBlQ29udGFpbmVyID0gY29udGVu
dEVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpOwotICAg
ICAgICB0eXBlQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoImV2ZW50LXR5cGUiKTsKLQotICAgICAg
ICB0aGlzLl90eXBlU2VsZWN0RWxlbWVudCA9IHR5cGVDb250YWluZXIuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgic2VsZWN0IikpOwotICAgICAgICB0aGlzLl90eXBlU2VsZWN0
RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLCB0aGlzLl9oYW5kbGVUeXBlU2VsZWN0
Q2hhbmdlLmJpbmQodGhpcykpOwotICAgICAgICB0aGlzLl90eXBlU2VsZWN0RWxlbWVudC5hZGRF
dmVudExpc3RlbmVyKCJrZXlkb3duIiwgKGV2ZW50KSA9PiB7Ci0gICAgICAgICAgICBpZiAoaXNF
bnRlcktleShldmVudCkpCi0gICAgICAgICAgICAgICAgdGhpcy5kaXNtaXNzKCk7Ci0gICAgICAg
IH0pOwotCi0gICAgICAgIGxldCBjcmVhdGVPcHRpb24gPSAodGV4dCwgdmFsdWUpID0+IHsKLSAg
ICAgICAgICAgIGxldCBvcHRpb25FbGVtZW50ID0gdGhpcy5fdHlwZVNlbGVjdEVsZW1lbnQuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib3B0aW9uIikpOwotICAgICAgICAgICAg
b3B0aW9uRWxlbWVudC52YWx1ZSA9IHZhbHVlOwotICAgICAgICAgICAgb3B0aW9uRWxlbWVudC50
ZXh0Q29udGVudCA9IHRleHQ7Ci0gICAgICAgIH07Ci0KLSAgICAgICAgY3JlYXRlT3B0aW9uKFdJ
LlVJU3RyaW5nKCJET00gRXZlbnQiKSwgV0kuRXZlbnRCcmVha3BvaW50LlR5cGUuTGlzdGVuZXIp
OwotCi0gICAgICAgIGlmIChXSS5ET01EZWJ1Z2dlck1hbmFnZXIuc3VwcG9ydHNFdmVudEJyZWFr
cG9pbnRzKCkpIHsKLSAgICAgICAgICAgIGNyZWF0ZU9wdGlvbihXSS51bmxvY2FsaXplZFN0cmlu
ZygicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiksICJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiKTsKLSAg
ICAgICAgICAgIGNyZWF0ZU9wdGlvbihXSS51bmxvY2FsaXplZFN0cmluZygic2V0VGltZW91dCIp
LCAic2V0VGltZW91dCIpOwotICAgICAgICAgICAgY3JlYXRlT3B0aW9uKFdJLnVubG9jYWxpemVk
U3RyaW5nKCJzZXRJbnRlcnZhbCIpLCAic2V0SW50ZXJ2YWwiKTsKLSAgICAgICAgfSBlbHNlCi0g
ICAgICAgICAgICB0aGlzLl90eXBlU2VsZWN0RWxlbWVudC5oaWRkZW4gPSB0cnVlOwotCi0gICAg
ICAgIHRoaXMuX2RvbUV2ZW50TmFtZUlucHV0RWxlbWVudCA9IHR5cGVDb250YWluZXIuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSk7CisgICAgICAgIHRoaXMuX2Rv
bUV2ZW50TmFtZUlucHV0RWxlbWVudCA9IGNvbnRlbnRFbGVtZW50LmFwcGVuZENoaWxkKGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0IikpOwogICAgICAgICB0aGlzLl9kb21FdmVudE5hbWVJ
bnB1dEVsZW1lbnQuc2V0QXR0cmlidXRlKCJkaXIiLCAibHRyIik7CiAgICAgICAgIHRoaXMuX2Rv
bUV2ZW50TmFtZUlucHV0RWxlbWVudC5wbGFjZWhvbGRlciA9IFdJLlVJU3RyaW5nKCJFeGFtcGxl
OiBcdTIwMUMlc1x1MjAxRCIpLmZvcm1hdCgiY2xpY2siKTsKICAgICAgICAgdGhpcy5fZG9tRXZl
bnROYW1lSW5wdXRFbGVtZW50LnNwZWxsY2hlY2sgPSBmYWxzZTsKQEAgLTEyNSwyOCArMTAwLDEy
IEBAIFdJLkV2ZW50QnJlYWtwb2ludFBvcG92ZXIgPSBjbGFzcyBFdmVudEJyZWFrcG9pbnRQb3Bv
dmVyIGV4dGVuZHMgV0kuUG9wb3ZlcgogCiAgICAgICAgIHRoaXMuX3ByZXNlbnRPdmVyVGFyZ2V0
RWxlbWVudCgpOwogCi0gICAgICAgIHRoaXMuX3R5cGVTZWxlY3RFbGVtZW50LnZhbHVlID0gV0ku
RXZlbnRCcmVha3BvaW50LlR5cGUuTGlzdGVuZXI7CiAgICAgICAgIHRoaXMuX2RvbUV2ZW50TmFt
ZUlucHV0RWxlbWVudC5zZWxlY3QoKTsKICAgICB9CiAKICAgICBkaXNtaXNzKCkKICAgICB7Ci0g
ICAgICAgIGxldCB0eXBlID0gdGhpcy5fdHlwZVNlbGVjdEVsZW1lbnQudmFsdWU7Ci0gICAgICAg
IGxldCB2YWx1ZSA9IG51bGw7Ci0KLSAgICAgICAgaWYgKHR5cGUgPT09IFdJLkV2ZW50QnJlYWtw
b2ludC5UeXBlLkxpc3RlbmVyKQotICAgICAgICAgICAgdmFsdWUgPSB0aGlzLl9kb21FdmVudE5h
bWVJbnB1dEVsZW1lbnQudmFsdWU7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgdmFsdWUg
PSB0eXBlOwotCi0gICAgICAgICAgICBpZiAodmFsdWUgPT09ICJyZXF1ZXN0QW5pbWF0aW9uRnJh
bWUiKQotICAgICAgICAgICAgICAgIHR5cGUgPSBXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5Bbmlt
YXRpb25GcmFtZTsKLSAgICAgICAgICAgIGVsc2UgaWYgKHZhbHVlID09PSAic2V0VGltZW91dCIg
fHwgdmFsdWUgPT09ICJzZXRJbnRlcnZhbCIpCi0gICAgICAgICAgICAgICAgdHlwZSA9IFdJLkV2
ZW50QnJlYWtwb2ludC5UeXBlLlRpbWVyOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKHR5cGUg
JiYgdmFsdWUpCi0gICAgICAgICAgICB0aGlzLl9icmVha3BvaW50ID0gbmV3IFdJLkV2ZW50QnJl
YWtwb2ludCh0eXBlLCB2YWx1ZSk7CisgICAgICAgIHRoaXMuX2JyZWFrcG9pbnQgPSBuZXcgV0ku
RXZlbnRCcmVha3BvaW50KFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkxpc3RlbmVyLCB7ZXZlbnRO
YW1lOiB0aGlzLl9kb21FdmVudE5hbWVJbnB1dEVsZW1lbnQudmFsdWV9KTsKIAogICAgICAgICBz
dXBlci5kaXNtaXNzKCk7CiAKQEAgLTE3MywyMiArMTMyLDYgQEAgV0kuRXZlbnRCcmVha3BvaW50
UG9wb3ZlciA9IGNsYXNzIEV2ZW50QnJlYWtwb2ludFBvcG92ZXIgZXh0ZW5kcyBXSS5Qb3BvdmVy
CiAgICAgICAgIHRoaXMucHJlc2VudCh0YXJnZXRGcmFtZSwgdGhpcy5fcHJlZmVycmVkRWRnZXMp
OwogICAgIH0KIAotICAgIF9oYW5kbGVUeXBlU2VsZWN0Q2hhbmdlKGV2ZW50KQotICAgIHsKLSAg
ICAgICAgbGV0IGxpc3RlbmVyVHlwZVNlbGVjdGVkID0gdGhpcy5fdHlwZVNlbGVjdEVsZW1lbnQu
dmFsdWUgPT09IFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkxpc3RlbmVyOwotICAgICAgICB0aGlz
Ll9kb21FdmVudE5hbWVJbnB1dEVsZW1lbnQuaGlkZGVuID0gIWxpc3RlbmVyVHlwZVNlbGVjdGVk
OwotCi0gICAgICAgIHRoaXMudXBkYXRlKCk7Ci0KLSAgICAgICAgaWYgKGxpc3RlbmVyVHlwZVNl
bGVjdGVkKSB7Ci0gICAgICAgICAgICB0aGlzLl9kb21FdmVudE5hbWVJbnB1dEVsZW1lbnQuZm9j
dXMoKTsKLQotICAgICAgICAgICAgaWYgKHRoaXMuX2RvbUV2ZW50TmFtZUlucHV0RWxlbWVudC52
YWx1ZSkKLSAgICAgICAgICAgICAgICB0aGlzLl9zaG93U3VnZ2VzdGlvbnNWaWV3KCk7Ci0gICAg
ICAgIH0gZWxzZQotICAgICAgICAgICAgdGhpcy5fc3VnZ2VzdGlvbnNWaWV3LmhpZGUoKTsKLSAg
ICB9Ci0KICAgICAgX3Nob3dTdWdnZXN0aW9uc1ZpZXcoKQogICAgICB7CiAgICAgICAgIGxldCBj
b21wdXRlZFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5fZG9tRXZlbnROYW1l
SW5wdXRFbGVtZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0V2ZW50QnJlYWtwb2ludFRyZWVFbGVtZW50LmNzcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50QnJlYWtwb2ludFRyZWVFbGVtZW50
LmNzcwppbmRleCA4YjVhMWMyZTMzYmNmOWI1MjdjNzQ5ZmZiZmE0ZGFlNmFiY2I0YzQ2Li5hOWE1
YWRiODVmYWJhOTg1MDVjODJiOThkMDljMWYwOWNjMmZkMGU0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9FdmVudEJyZWFrcG9pbnRUcmVlRWxl
bWVudC5jc3MKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
RXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQuY3NzCkBAIC0yNywxMCArMjcsMTQgQEAKICAgICBj
b250ZW50OiB1cmwoLi4vSW1hZ2VzL0V2ZW50QnJlYWtwb2ludEFuaW1hdGlvbkZyYW1lLnN2Zyk7
CiB9CiAKKy5icmVha3BvaW50LmV2ZW50LmJyZWFrcG9pbnQtZm9yLWludGVydmFsOm5vdCguYnJl
YWtwb2ludC1wYXVzZWQtaWNvbikgLmljb24geworICAgIGNvbnRlbnQ6IHVybCguLi9JbWFnZXMv
RXZlbnRCcmVha3BvaW50SW50ZXJ2YWwuc3ZnKTsKK30KKwogLmJyZWFrcG9pbnQuZXZlbnQuYnJl
YWtwb2ludC1mb3ItbGlzdGVuZXI6bm90KC5icmVha3BvaW50LXBhdXNlZC1pY29uKSAuaWNvbiB7
CiAgICAgY29udGVudDogdXJsKC4uL0ltYWdlcy9FdmVudEJyZWFrcG9pbnRMaXN0ZW5lci5zdmcp
OwogfQogCi0uYnJlYWtwb2ludC5ldmVudC5icmVha3BvaW50LWZvci10aW1lcjpub3QoLmJyZWFr
cG9pbnQtcGF1c2VkLWljb24pIC5pY29uIHsKLSAgICBjb250ZW50OiB1cmwoLi4vSW1hZ2VzL0V2
ZW50QnJlYWtwb2ludFRpbWVyLnN2Zyk7CisuYnJlYWtwb2ludC5ldmVudC5icmVha3BvaW50LWZv
ci10aW1lb3V0Om5vdCguYnJlYWtwb2ludC1wYXVzZWQtaWNvbikgLmljb24geworICAgIGNvbnRl
bnQ6IHVybCguLi9JbWFnZXMvRXZlbnRCcmVha3BvaW50VGltZW91dC5zdmcpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlc05h
dmlnYXRpb25TaWRlYmFyUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbC5qcwppbmRleCAyOGUzNzI1
NjA4MjFlZjVhNDQ3NGE0MzZjMmUxNTQxOTAxMGYxYTI0Li5kZGUzMGU3ZTZkYmIwODk4NWQzODZj
NWY2MmViYmU5Mzc1ZjAyZTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbC5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VzTmF2aWdhdGlv
blNpZGViYXJQYW5lbC5qcwpAQCAtMzE2LDE3ICszMTYsMjkgQEAgV0kuU291cmNlc05hdmlnYXRp
b25TaWRlYmFyUGFuZWwgPSBjbGFzcyBTb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbCBleHRl
bmRzIFcKICAgICAgICAgdGhpcy5faGFuZGxlUmVzb3VyY2VHcm91cGluZ01vZGVDaGFuZ2VkKCk7
CiAKICAgICAgICAgaWYgKFdJLmRvbURlYnVnZ2VyTWFuYWdlci5zdXBwb3J0ZWQpIHsKLSAgICAg
ICAgICAgIGlmIChXSS5zZXR0aW5ncy5zaG93QWxsUmVxdWVzdHNCcmVha3BvaW50LnZhbHVlKQot
ICAgICAgICAgICAgICAgIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hZGRVUkxCcmVha3BvaW50KFdJ
LmRvbURlYnVnZ2VyTWFuYWdlci5hbGxSZXF1ZXN0c0JyZWFrcG9pbnQpOworICAgICAgICAgICAg
aWYgKFdJLnNldHRpbmdzLnNob3dBbGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50LnZhbHVlKQor
ICAgICAgICAgICAgICAgIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hZGRFdmVudEJyZWFrcG9pbnQo
V0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEFuaW1hdGlvbkZyYW1lc0JyZWFrcG9pbnQpOwogCi0g
ICAgICAgICAgICBmb3IgKGxldCBldmVudEJyZWFrcG9pbnQgb2YgV0kuZG9tRGVidWdnZXJNYW5h
Z2VyLmV2ZW50QnJlYWtwb2ludHMpCisgICAgICAgICAgICBpZiAoV0kuc2V0dGluZ3Muc2hvd0Fs
bFRpbWVvdXRzQnJlYWtwb2ludC52YWx1ZSkKKyAgICAgICAgICAgICAgICBXSS5kb21EZWJ1Z2dl
ck1hbmFnZXIuYWRkRXZlbnRCcmVha3BvaW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxUaW1l
b3V0c0JyZWFrcG9pbnQpOworCisgICAgICAgICAgICBpZiAoV0kuc2V0dGluZ3Muc2hvd0FsbElu
dGVydmFsc0JyZWFrcG9pbnQudmFsdWUpCisgICAgICAgICAgICAgICAgV0kuZG9tRGVidWdnZXJN
YW5hZ2VyLmFkZEV2ZW50QnJlYWtwb2ludChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsSW50ZXJ2
YWxzQnJlYWtwb2ludCk7CisKKyAgICAgICAgICAgIGlmIChXSS5zZXR0aW5ncy5zaG93QWxsTGlz
dGVuZXJzQnJlYWtwb2ludC52YWx1ZSkKKyAgICAgICAgICAgICAgICBXSS5kb21EZWJ1Z2dlck1h
bmFnZXIuYWRkRXZlbnRCcmVha3BvaW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxMaXN0ZW5l
cnNCcmVha3BvaW50KTsKKworICAgICAgICAgICAgZm9yIChsZXQgZXZlbnRCcmVha3BvaW50IG9m
IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5saXN0ZW5lckJyZWFrcG9pbnRzKQogICAgICAgICAgICAg
ICAgIHRoaXMuX2FkZEJyZWFrcG9pbnQoZXZlbnRCcmVha3BvaW50KTsKIAorICAgICAgICAgICAg
Zm9yIChsZXQgZXZlbnRMaXN0ZW5lckJyZWFrcG9pbnQgb2YgV0kuZG9tTWFuYWdlci5ldmVudExp
c3RlbmVyQnJlYWtwb2ludHMpCisgICAgICAgICAgICAgICAgdGhpcy5fYWRkQnJlYWtwb2ludChl
dmVudExpc3RlbmVyQnJlYWtwb2ludCk7CisKICAgICAgICAgICAgIGZvciAobGV0IGRvbUJyZWFr
cG9pbnQgb2YgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmRvbUJyZWFrcG9pbnRzKQogICAgICAgICAg
ICAgICAgIHRoaXMuX2FkZEJyZWFrcG9pbnQoZG9tQnJlYWtwb2ludCk7CiAKLSAgICAgICAgICAg
IGZvciAobGV0IGV2ZW50TGlzdGVuZXJCcmVha3BvaW50IG9mIFdJLmRvbU1hbmFnZXIuZXZlbnRM
aXN0ZW5lckJyZWFrcG9pbnRzKQotICAgICAgICAgICAgICAgIHRoaXMuX2FkZEJyZWFrcG9pbnQo
ZXZlbnRMaXN0ZW5lckJyZWFrcG9pbnQpOworICAgICAgICAgICAgaWYgKFdJLnNldHRpbmdzLnNo
b3dBbGxSZXF1ZXN0c0JyZWFrcG9pbnQudmFsdWUpCisgICAgICAgICAgICAgICAgV0kuZG9tRGVi
dWdnZXJNYW5hZ2VyLmFkZFVSTEJyZWFrcG9pbnQoV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbFJl
cXVlc3RzQnJlYWtwb2ludCk7CiAKICAgICAgICAgICAgIGZvciAobGV0IHVybEJyZWFrcG9pbnRz
IG9mIFdJLmRvbURlYnVnZ2VyTWFuYWdlci51cmxCcmVha3BvaW50cykKICAgICAgICAgICAgICAg
ICB0aGlzLl9hZGRCcmVha3BvaW50KHVybEJyZWFrcG9pbnRzKTsKQEAgLTg1NCw2ICs4NjYsMTAg
QEAgV0kuU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBjbGFzcyBTb3VyY2VzTmF2aWdh
dGlvblNpZGViYXJQYW5lbCBleHRlbmRzIFcKICAgICAgICAgICAgICAgICAodHJlZUVsZW1lbnQp
ID0+IHRyZWVFbGVtZW50LnJlcHJlc2VudGVkT2JqZWN0ID09PSBXSS5kZWJ1Z2dlck1hbmFnZXIu
dW5jYXVnaHRFeGNlcHRpb25zQnJlYWtwb2ludCwKICAgICAgICAgICAgICAgICAodHJlZUVsZW1l
bnQpID0+IHRyZWVFbGVtZW50LnJlcHJlc2VudGVkT2JqZWN0ID09PSBXSS5kZWJ1Z2dlck1hbmFn
ZXIuYXNzZXJ0aW9uRmFpbHVyZXNCcmVha3BvaW50LAogICAgICAgICAgICAgICAgICh0cmVlRWxl
bWVudCkgPT4gdHJlZUVsZW1lbnQgaW5zdGFuY2VvZiBXSS5CcmVha3BvaW50VHJlZUVsZW1lbnQg
fHwgdHJlZUVsZW1lbnQgaW5zdGFuY2VvZiBXSS5SZXNvdXJjZVRyZWVFbGVtZW50IHx8IHRyZWVF
bGVtZW50IGluc3RhbmNlb2YgV0kuU2NyaXB0VHJlZUVsZW1lbnQsCisgICAgICAgICAgICAgICAg
KHRyZWVFbGVtZW50KSA9PiB0cmVlRWxlbWVudC5yZXByZXNlbnRlZE9iamVjdCA9PT0gV0kuZG9t
RGVidWdnZXJNYW5hZ2VyLmFsbEFuaW1hdGlvbkZyYW1lc0JyZWFrcG9pbnQsCisgICAgICAgICAg
ICAgICAgKHRyZWVFbGVtZW50KSA9PiB0cmVlRWxlbWVudC5yZXByZXNlbnRlZE9iamVjdCA9PT0g
V0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbFRpbWVvdXRzQnJlYWtwb2ludCwKKyAgICAgICAgICAg
ICAgICAodHJlZUVsZW1lbnQpID0+IHRyZWVFbGVtZW50LnJlcHJlc2VudGVkT2JqZWN0ID09PSBX
SS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsSW50ZXJ2YWxzQnJlYWtwb2ludCwKKyAgICAgICAgICAg
ICAgICAodHJlZUVsZW1lbnQpID0+IHRyZWVFbGVtZW50LnJlcHJlc2VudGVkT2JqZWN0ID09PSBX
SS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsTGlzdGVuZXJzQnJlYWtwb2ludCwKICAgICAgICAgICAg
ICAgICAodHJlZUVsZW1lbnQpID0+IHRyZWVFbGVtZW50IGluc3RhbmNlb2YgV0kuRXZlbnRCcmVh
a3BvaW50VHJlZUVsZW1lbnQsCiAgICAgICAgICAgICAgICAgKHRyZWVFbGVtZW50KSA9PiB0cmVl
RWxlbWVudCBpbnN0YW5jZW9mIFdJLkRPTU5vZGVUcmVlRWxlbWVudCwKICAgICAgICAgICAgICAg
ICAodHJlZUVsZW1lbnQpID0+IHRyZWVFbGVtZW50LnJlcHJlc2VudGVkT2JqZWN0ID09PSBTb3Vy
Y2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbC5fX3dpbmRvd0V2ZW50VGFyZ2V0UmVwcmVzZW50ZWRP
YmplY3QsCkBAIC05MzUsNyArOTUxLDE1IEBAIFdJLlNvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBh
bmVsID0gY2xhc3MgU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgZXh0ZW5kcyBXCiAgICAg
ICAgIH0gZWxzZSBpZiAoYnJlYWtwb2ludCBpbnN0YW5jZW9mIFdJLkV2ZW50QnJlYWtwb2ludCkg
ewogICAgICAgICAgICAgY29uc3RydWN0b3IgPSBXSS5FdmVudEJyZWFrcG9pbnRUcmVlRWxlbWVu
dDsKIAotICAgICAgICAgICAgaWYgKGJyZWFrcG9pbnQuZXZlbnRMaXN0ZW5lcikgeworICAgICAg
ICAgICAgaWYgKGJyZWFrcG9pbnQgPT09IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxBbmltYXRp
b25GcmFtZXNCcmVha3BvaW50KQorICAgICAgICAgICAgICAgIG9wdGlvbnMudGl0bGUgPSBXSS5V
SVN0cmluZygiQWxsIEFuaW1hdGlvbiBGcmFtZXMiKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKGJy
ZWFrcG9pbnQgPT09IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxJbnRlcnZhbHNCcmVha3BvaW50
KQorICAgICAgICAgICAgICAgIG9wdGlvbnMudGl0bGUgPSBXSS5VSVN0cmluZygiQWxsIEludGVy
dmFscyIpOworICAgICAgICAgICAgZWxzZSBpZiAoYnJlYWtwb2ludCA9PT0gV0kuZG9tRGVidWdn
ZXJNYW5hZ2VyLmFsbExpc3RlbmVyc0JyZWFrcG9pbnQpCisgICAgICAgICAgICAgICAgb3B0aW9u
cy50aXRsZSA9IFdJLlVJU3RyaW5nKCJBbGwgRXZlbnRzIik7CisgICAgICAgICAgICBlbHNlIGlm
IChicmVha3BvaW50ID09PSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsVGltZW91dHNCcmVha3Bv
aW50KQorICAgICAgICAgICAgICAgIG9wdGlvbnMudGl0bGUgPSBXSS5VSVN0cmluZygiQWxsIFRp
bWVvdXRzIik7CisgICAgICAgICAgICBlbHNlIGlmIChicmVha3BvaW50LmV2ZW50TGlzdGVuZXIp
IHsKICAgICAgICAgICAgICAgICBsZXQgZXZlbnRUYXJnZXRUcmVlRWxlbWVudCA9IG51bGw7CiAg
ICAgICAgICAgICAgICAgaWYgKGJyZWFrcG9pbnQuZXZlbnRMaXN0ZW5lci5vbldpbmRvdykgewog
ICAgICAgICAgICAgICAgICAgICBpZiAoIVNvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsLl9f
d2luZG93RXZlbnRUYXJnZXRSZXByZXNlbnRlZE9iamVjdCkKQEAgLTExMzYsMjAgKzExNjAsMTEg
QEAgV0kuU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBjbGFzcyBTb3VyY2VzTmF2aWdh
dGlvblNpZGViYXJQYW5lbCBleHRlbmRzIFcKIAogICAgICAgICBzd2l0Y2ggKHBhdXNlUmVhc29u
KSB7CiAgICAgICAgIGNhc2UgV0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVhc29uLkFuaW1hdGlv
bkZyYW1lOiB7Ci0gICAgICAgICAgICBjb25zb2xlLmFzc2VydChwYXVzZURhdGEsICJFeHBlY3Rl
ZCBkYXRhIHdpdGggYW4gYW5pbWF0aW9uIGZyYW1lLCBidXQgZm91bmQgbm9uZS4iKTsKLSAgICAg
ICAgICAgIGlmICghcGF1c2VEYXRhKQotICAgICAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAg
ICAgICBsZXQgZXZlbnRCcmVha3BvaW50ID0gV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmV2ZW50QnJl
YWtwb2ludEZvclR5cGVBbmRFdmVudE5hbWUoV0kuRXZlbnRCcmVha3BvaW50LlR5cGUuQW5pbWF0
aW9uRnJhbWUsIHBhdXNlRGF0YS5ldmVudE5hbWUpOwotICAgICAgICAgICAgY29uc29sZS5hc3Nl
cnQoZXZlbnRCcmVha3BvaW50LCAiRXhwZWN0ZWQgQW5pbWF0aW9uRnJhbWUgYnJlYWtwb2ludCBm
b3IgZXZlbnQgbmFtZS4iLCBwYXVzZURhdGEuZXZlbnROYW1lKTsKLSAgICAgICAgICAgIGlmICgh
ZXZlbnRCcmVha3BvaW50KQotICAgICAgICAgICAgICAgIGJyZWFrOwotCiAgICAgICAgICAgICB0
aGlzLl9wYXVzZVJlYXNvblRyZWVPdXRsaW5lID0gdGhpcy5jcmVhdGVDb250ZW50VHJlZU91dGxp
bmUoe3N1cHByZXNzRmlsdGVyaW5nOiB0cnVlfSk7CiAKLSAgICAgICAgICAgIGxldCBldmVudEJy
ZWFrcG9pbnRUcmVlRWxlbWVudCA9IG5ldyBXSS5FdmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudChl
dmVudEJyZWFrcG9pbnQsIHsKKyAgICAgICAgICAgIGxldCBldmVudEJyZWFrcG9pbnRUcmVlRWxl
bWVudCA9IG5ldyBXSS5FdmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudChXSS5kb21EZWJ1Z2dlck1h
bmFnZXIuYWxsQW5pbWF0aW9uRnJhbWVzQnJlYWtwb2ludCwgewogICAgICAgICAgICAgICAgIGNs
YXNzTmFtZTogImJyZWFrcG9pbnQtcGF1c2VkLWljb24iLAotICAgICAgICAgICAgICAgIHRpdGxl
OiBXSS5VSVN0cmluZygiJXMgRmlyZWQiKS5mb3JtYXQocGF1c2VEYXRhLmV2ZW50TmFtZSksCisg
ICAgICAgICAgICAgICAgdGl0bGU6IFdJLlVJU3RyaW5nKCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUg
RmlyZWQiKSwKICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgdGhpcy5fcGF1c2VSZWFzb25U
cmVlT3V0bGluZS5hcHBlbmRDaGlsZChldmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudCk7CiAKQEAg
LTEyNjgsNiArMTI4Myw3IEBAIFdJLlNvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsID0gY2xh
c3MgU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgZXh0ZW5kcyBXCiAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICAgICAgfQogCisgICAgICAgIGNhc2UgV0kuRGVidWdnZXJNYW5hZ2Vy
LlBhdXNlUmVhc29uLkxpc3RlbmVyOgogICAgICAgICBjYXNlIFdJLkRlYnVnZ2VyTWFuYWdlci5Q
YXVzZVJlYXNvbi5FdmVudExpc3RlbmVyOiB7CiAgICAgICAgICAgICBjb25zb2xlLmFzc2VydChw
YXVzZURhdGEsICJFeHBlY3RlZCBkYXRhIHdpdGggYW4gZXZlbnQgbGlzdGVuZXIsIGJ1dCBmb3Vu
ZCBub25lLiIpOwogICAgICAgICAgICAgaWYgKCFwYXVzZURhdGEpCkBAIC0xMjc3LDcgKzEyOTMs
NyBAQCBXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbCA9IGNsYXNzIFNvdXJjZXNOYXZp
Z2F0aW9uU2lkZWJhclBhbmVsIGV4dGVuZHMgVwogICAgICAgICAgICAgaWYgKHBhdXNlRGF0YS5l
dmVudExpc3RlbmVySWQpCiAgICAgICAgICAgICAgICAgZXZlbnRCcmVha3BvaW50ID0gV0kuZG9t
TWFuYWdlci5icmVha3BvaW50Rm9yRXZlbnRMaXN0ZW5lcklkKHBhdXNlRGF0YS5ldmVudExpc3Rl
bmVySWQpOwogICAgICAgICAgICAgaWYgKCFldmVudEJyZWFrcG9pbnQpCi0gICAgICAgICAgICAg
ICAgZXZlbnRCcmVha3BvaW50ID0gV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmV2ZW50QnJlYWtwb2lu
dEZvclR5cGVBbmRFdmVudE5hbWUoV0kuRXZlbnRCcmVha3BvaW50LlR5cGUuTGlzdGVuZXIsIHBh
dXNlRGF0YS5ldmVudE5hbWUpOworICAgICAgICAgICAgICAgIGV2ZW50QnJlYWtwb2ludCA9IFdJ
LmRvbURlYnVnZ2VyTWFuYWdlci5saXN0ZW5lckJyZWFrcG9pbnRGb3JFdmVudE5hbWUocGF1c2VE
YXRhLmV2ZW50TmFtZSk7CiAKICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGV2ZW50QnJlYWtw
b2ludCwgIkV4cGVjdGVkIEV2ZW50IExpc3RlbmVyIGJyZWFrcG9pbnQgZm9yIGV2ZW50IG5hbWUu
IiwgcGF1c2VEYXRhLmV2ZW50TmFtZSk7CiAgICAgICAgICAgICBpZiAoIWV2ZW50QnJlYWtwb2lu
dCkKQEAgLTEzMjUsNiArMTM0MSwyMiBAQCBXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5l
bCA9IGNsYXNzIFNvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsIGV4dGVuZHMgVwogICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KIAorICAgICAgICBjYXNlIFdJLkRlYnVnZ2Vy
TWFuYWdlci5QYXVzZVJlYXNvbi5JbnRlcnZhbDogeworICAgICAgICAgICAgdGhpcy5fcGF1c2VS
ZWFzb25UcmVlT3V0bGluZSA9IHRoaXMuY3JlYXRlQ29udGVudFRyZWVPdXRsaW5lKHtzdXBwcmVz
c0ZpbHRlcmluZzogdHJ1ZX0pOworCisgICAgICAgICAgICBsZXQgZXZlbnRCcmVha3BvaW50VHJl
ZUVsZW1lbnQgPSBuZXcgV0kuRXZlbnRCcmVha3BvaW50VHJlZUVsZW1lbnQoV0kuZG9tRGVidWdn
ZXJNYW5hZ2VyLmFsbEludGVydmFsc0JyZWFrcG9pbnQsIHsKKyAgICAgICAgICAgICAgICBjbGFz
c05hbWU6ICJicmVha3BvaW50LXBhdXNlZC1pY29uIiwKKyAgICAgICAgICAgICAgICB0aXRsZTog
V0kuVUlTdHJpbmcoInNldEludGVydmFsIEZpcmVkIiksCisgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIHRoaXMuX3BhdXNlUmVhc29uVHJlZU91dGxpbmUuYXBwZW5kQ2hpbGQoZXZlbnRCcmVh
a3BvaW50VHJlZUVsZW1lbnQpOworCisgICAgICAgICAgICBsZXQgZXZlbnRCcmVha3BvaW50Um93
ID0gbmV3IFdJLkRldGFpbHNTZWN0aW9uUm93OworICAgICAgICAgICAgZXZlbnRCcmVha3BvaW50
Um93LmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fcGF1c2VSZWFzb25UcmVlT3V0bGluZS5lbGVt
ZW50KTsKKworICAgICAgICAgICAgdGhpcy5fcGF1c2VSZWFzb25Hcm91cC5yb3dzID0gW2V2ZW50
QnJlYWtwb2ludFJvd107CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorCiAg
ICAgICAgIGNhc2UgV0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVhc29uLlBhdXNlT25OZXh0U3Rh
dGVtZW50OgogICAgICAgICAgICAgdGhpcy5fcGF1c2VSZWFzb25UZXh0Um93LnRleHQgPSBXSS5V
SVN0cmluZygiSW1tZWRpYXRlIFBhdXNlIFJlcXVlc3RlZCIpOwogICAgICAgICAgICAgdGhpcy5f
cGF1c2VSZWFzb25Hcm91cC5yb3dzID0gW3RoaXMuX3BhdXNlUmVhc29uVGV4dFJvd107CkBAIC0x
MzM1LDcgKzEzNjcsMTYgQEAgV0kuU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBjbGFz
cyBTb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbCBleHRlbmRzIFcKICAgICAgICAgICAgIGlm
ICghcGF1c2VEYXRhKQogICAgICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgICAgICBsZXQg
ZXZlbnRCcmVha3BvaW50ID0gV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmV2ZW50QnJlYWtwb2ludEZv
clR5cGVBbmRFdmVudE5hbWUoV0kuRXZlbnRCcmVha3BvaW50LlR5cGUuVGltZXIsIHBhdXNlRGF0
YS5ldmVudE5hbWUpOworICAgICAgICAgICAgbGV0IGV2ZW50QnJlYWtwb2ludCA9IG51bGw7Cisg
ICAgICAgICAgICBzd2l0Y2ggKHBhdXNlRGF0YS5ldmVudE5hbWUpIHsKKyAgICAgICAgICAgIGNh
c2UgInNldFRpbWVvdXQiOgorICAgICAgICAgICAgICAgIGV2ZW50QnJlYWtwb2ludCA9IFdJLmRv
bURlYnVnZ2VyTWFuYWdlci5hbGxUaW1lb3V0c0JyZWFrcG9pbnQ7CisgICAgICAgICAgICAgICAg
YnJlYWs7CisKKyAgICAgICAgICAgIGNhc2UgInNldEludGVydmFsIjoKKyAgICAgICAgICAgICAg
ICBldmVudEJyZWFrcG9pbnQgPSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsSW50ZXJ2YWxzQnJl
YWtwb2ludDsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIGNvbnNvbGUuYXNzZXJ0KGV2ZW50QnJlYWtwb2ludCwgIkV4cGVjdGVkIFRpbWVyIGJyZWFr
cG9pbnQgZm9yIGV2ZW50IG5hbWUuIiwgcGF1c2VEYXRhLmV2ZW50TmFtZSk7CiAgICAgICAgICAg
ICBpZiAoIWV2ZW50QnJlYWtwb2ludCkKICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTEzNTUs
NiArMTM5NiwyMiBAQCBXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbCA9IGNsYXNzIFNv
dXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsIGV4dGVuZHMgVwogICAgICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgICAgIH0KIAorICAgICAgICBjYXNlIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVz
ZVJlYXNvbi5UaW1lb3V0OiB7CisgICAgICAgICAgICB0aGlzLl9wYXVzZVJlYXNvblRyZWVPdXRs
aW5lID0gdGhpcy5jcmVhdGVDb250ZW50VHJlZU91dGxpbmUoe3N1cHByZXNzRmlsdGVyaW5nOiB0
cnVlfSk7CisKKyAgICAgICAgICAgIGxldCBldmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudCA9IG5l
dyBXSS5FdmVudEJyZWFrcG9pbnRUcmVlRWxlbWVudChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxs
VGltZW91dHNCcmVha3BvaW50LCB7CisgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiAiYnJlYWtw
b2ludC1wYXVzZWQtaWNvbiIsCisgICAgICAgICAgICAgICAgdGl0bGU6IFdJLlVJU3RyaW5nKCJz
ZXRUaW1lb3V0IEZpcmVkIiksCisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIHRoaXMuX3Bh
dXNlUmVhc29uVHJlZU91dGxpbmUuYXBwZW5kQ2hpbGQoZXZlbnRCcmVha3BvaW50VHJlZUVsZW1l
bnQpOworCisgICAgICAgICAgICBsZXQgZXZlbnRCcmVha3BvaW50Um93ID0gbmV3IFdJLkRldGFp
bHNTZWN0aW9uUm93OworICAgICAgICAgICAgZXZlbnRCcmVha3BvaW50Um93LmVsZW1lbnQuYXBw
ZW5kQ2hpbGQodGhpcy5fcGF1c2VSZWFzb25UcmVlT3V0bGluZS5lbGVtZW50KTsKKworICAgICAg
ICAgICAgdGhpcy5fcGF1c2VSZWFzb25Hcm91cC5yb3dzID0gW2V2ZW50QnJlYWtwb2ludFJvd107
CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorCiAgICAgICAgIGNhc2UgV0ku
RGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVhc29uLkZldGNoOgogICAgICAgICBjYXNlIFdJLkRlYnVn
Z2VyTWFuYWdlci5QYXVzZVJlYXNvbi5YSFI6IHsKICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0
KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5zdXBwb3J0ZWQpOwpAQCAtMTQ5MywxMCArMTU1MCwzMSBA
QCBXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbCA9IGNsYXNzIFNvdXJjZXNOYXZpZ2F0
aW9uU2lkZWJhclBhbmVsIGV4dGVuZHMgVwogICAgICAgICBsZXQgdHJlZUVsZW1lbnQgPSBldmVu
dC5kYXRhLmVsZW1lbnQ7CiAKICAgICAgICAgbGV0IHNldHRpbmcgPSBudWxsOwotICAgICAgICBp
ZiAodHJlZUVsZW1lbnQuYnJlYWtwb2ludCA9PT0gV0kuZGVidWdnZXJNYW5hZ2VyLmFzc2VydGlv
bkZhaWx1cmVzQnJlYWtwb2ludCkKKyAgICAgICAgc3dpdGNoICh0cmVlRWxlbWVudC5yZXByZXNl
bnRlZE9iamVjdCkgeworICAgICAgICBjYXNlIFdJLmRlYnVnZ2VyTWFuYWdlci5hc3NlcnRpb25G
YWlsdXJlc0JyZWFrcG9pbnQ6CiAgICAgICAgICAgICBzZXR0aW5nID0gV0kuc2V0dGluZ3Muc2hv
d0Fzc2VydGlvbkZhaWx1cmVzQnJlYWtwb2ludDsKLSAgICAgICAgZWxzZSBpZiAodHJlZUVsZW1l
bnQucmVwcmVzZW50ZWRPYmplY3QgPT09IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxSZXF1ZXN0
c0JyZWFrcG9pbnQpCisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIFdJLmRvbURl
YnVnZ2VyTWFuYWdlci5hbGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50OgorICAgICAgICAgICAg
c2V0dGluZyA9IFdJLnNldHRpbmdzLnNob3dBbGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50Owor
ICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIu
YWxsSW50ZXJ2YWxzQnJlYWtwb2ludDoKKyAgICAgICAgICAgIHNldHRpbmcgPSBXSS5zZXR0aW5n
cy5zaG93QWxsSW50ZXJ2YWxzQnJlYWtwb2ludDsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAg
ICAgIGNhc2UgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbExpc3RlbmVyc0JyZWFrcG9pbnQ6Cisg
ICAgICAgICAgICBzZXR0aW5nID0gV0kuc2V0dGluZ3Muc2hvd0FsbExpc3RlbmVyc0JyZWFrcG9p
bnQ7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIFdJLmRvbURlYnVnZ2VyTWFu
YWdlci5hbGxSZXF1ZXN0c0JyZWFrcG9pbnQ6CiAgICAgICAgICAgICBzZXR0aW5nID0gV0kuc2V0
dGluZ3Muc2hvd0FsbFJlcXVlc3RzQnJlYWtwb2ludDsKKyAgICAgICAgICAgIGJyZWFrOworCisg
ICAgICAgIGNhc2UgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbFRpbWVvdXRzQnJlYWtwb2ludDoK
KyAgICAgICAgICAgIHNldHRpbmcgPSBXSS5zZXR0aW5ncy5zaG93QWxsVGltZW91dHNCcmVha3Bv
aW50OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KIAogICAgICAgICBpZiAoc2V0dGlu
ZykKICAgICAgICAgICAgIHNldHRpbmcudmFsdWUgPSAhIXRyZWVFbGVtZW50LnBhcmVudDsKQEAg
LTE1MjMsMTggKzE2MDEsMzkgQEAgV0kuU291cmNlc05hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBj
bGFzcyBTb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5lbCBleHRlbmRzIFcKICAgICAgICAgICAg
IH0sIGFzc2VydGlvbkZhaWx1cmVzQnJlYWtwb2ludFNob3duKTsKICAgICAgICAgfQogCi0gICAg
ICAgIGlmIChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuc3VwcG9ydGVkKSB7CisgICAgICAgIGlmIChX
SS5ET01EZWJ1Z2dlck1hbmFnZXIuc3VwcG9ydHNFdmVudEJyZWFrcG9pbnRzKCkgfHwgV0kuRE9N
RGVidWdnZXJNYW5hZ2VyLnN1cHBvcnRzRXZlbnRMaXN0ZW5lckJyZWFrcG9pbnRzKCkpIHsKKyAg
ICAgICAgICAgIGZ1bmN0aW9uIGFkZFRvZ2dsZUZvclNwZWNpYWxFdmVudEJyZWFrcG9pbnQoYnJl
YWtwb2ludCwgbGFiZWwsIGNoZWNrZWQpIHsKKyAgICAgICAgICAgICAgICBjb250ZXh0TWVudS5h
cHBlbmRDaGVja2JveEl0ZW0obGFiZWwsICgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgaWYg
KGNoZWNrZWQpCisgICAgICAgICAgICAgICAgICAgICAgICBXSS5kb21EZWJ1Z2dlck1hbmFnZXIu
cmVtb3ZlRXZlbnRCcmVha3BvaW50KGJyZWFrcG9pbnQpOworICAgICAgICAgICAgICAgICAgICBl
bHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrcG9pbnQuZGlzYWJsZWQgPSBmYWxz
ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hZGRFdmVu
dEJyZWFrcG9pbnQoYnJlYWtwb2ludCk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICB9LCBjaGVja2VkKTsKKyAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgY29udGV4
dE1lbnUuYXBwZW5kU2VwYXJhdG9yKCk7CiAKKyAgICAgICAgICAgIGFkZFRvZ2dsZUZvclNwZWNp
YWxFdmVudEJyZWFrcG9pbnQoV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEFuaW1hdGlvbkZyYW1l
c0JyZWFrcG9pbnQsIFdJLlVJU3RyaW5nKCJBbGwgQW5pbWF0aW9uIEZyYW1lcyIpLCBXSS5zZXR0
aW5ncy5zaG93QWxsQW5pbWF0aW9uRnJhbWVzQnJlYWtwb2ludC52YWx1ZSk7CisgICAgICAgICAg
ICBhZGRUb2dnbGVGb3JTcGVjaWFsRXZlbnRCcmVha3BvaW50KFdJLmRvbURlYnVnZ2VyTWFuYWdl
ci5hbGxUaW1lb3V0c0JyZWFrcG9pbnQsIFdJLlVJU3RyaW5nKCJBbGwgVGltZW91dHMiKSwgV0ku
c2V0dGluZ3Muc2hvd0FsbFRpbWVvdXRzQnJlYWtwb2ludC52YWx1ZSk7CisgICAgICAgICAgICBh
ZGRUb2dnbGVGb3JTcGVjaWFsRXZlbnRCcmVha3BvaW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5h
bGxJbnRlcnZhbHNCcmVha3BvaW50LCBXSS5VSVN0cmluZygiQWxsIEludGVydmFscyIpLCBXSS5z
ZXR0aW5ncy5zaG93QWxsSW50ZXJ2YWxzQnJlYWtwb2ludC52YWx1ZSk7CisKKyAgICAgICAgICAg
IGNvbnRleHRNZW51LmFwcGVuZFNlcGFyYXRvcigpOworCisgICAgICAgICAgICBpZiAoV0kuRE9N
RGVidWdnZXJNYW5hZ2VyLnN1cHBvcnRzQWxsTGlzdGVuZXJzQnJlYWtwb2ludCgpKQorICAgICAg
ICAgICAgICAgIGFkZFRvZ2dsZUZvclNwZWNpYWxFdmVudEJyZWFrcG9pbnQoV0kuZG9tRGVidWdn
ZXJNYW5hZ2VyLmFsbExpc3RlbmVyc0JyZWFrcG9pbnQsIFdJLlVJU3RyaW5nKCJBbGwgRXZlbnRz
IiksIFdJLnNldHRpbmdzLnNob3dBbGxMaXN0ZW5lcnNCcmVha3BvaW50LnZhbHVlKTsKKwogICAg
ICAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kSXRlbShXSS5VSVN0cmluZygiRXZlbnQgQnJlYWtw
b2ludFx1MjAyNiIpLCAoKSA9PiB7CiAgICAgICAgICAgICAgICAgbGV0IHBvcG92ZXIgPSBuZXcg
V0kuRXZlbnRCcmVha3BvaW50UG9wb3Zlcih0aGlzKTsKICAgICAgICAgICAgICAgICBwb3BvdmVy
LnNob3codGhpcy5fY3JlYXRlQnJlYWtwb2ludEJ1dHRvbi5lbGVtZW50LCBbV0kuUmVjdEVkZ2Uu
TUFYX1ksIFdJLlJlY3RFZGdlLk1JTl9ZLCBXSS5SZWN0RWRnZS5NQVhfWF0pOwogICAgICAgICAg
ICAgfSk7CiAKICAgICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZFNlcGFyYXRvcigpOworICAg
ICAgICB9CiAKKyAgICAgICAgaWYgKFdJLkRPTURlYnVnZ2VyTWFuYWdlci5zdXBwb3J0c1VSTEJy
ZWFrcG9pbnRzKCkgfHwgV0kuRE9NRGVidWdnZXJNYW5hZ2VyLnN1cHBvcnRzWEhSQnJlYWtwb2lu
dHMoKSkgewogICAgICAgICAgICAgbGV0IGFsbFJlcXVlc3RzQnJlYWtwb2ludFNob3duID0gV0ku
c2V0dGluZ3Muc2hvd0FsbFJlcXVlc3RzQnJlYWtwb2ludC52YWx1ZTsKLQogICAgICAgICAgICAg
Y29udGV4dE1lbnUuYXBwZW5kQ2hlY2tib3hJdGVtKFdJLnJlcGVhdGVkVUlTdHJpbmcuYWxsUmVx
dWVzdHMoKSwgKCkgPT4gewogICAgICAgICAgICAgICAgIGlmIChhbGxSZXF1ZXN0c0JyZWFrcG9p
bnRTaG93bikKICAgICAgICAgICAgICAgICAgICAgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLnJlbW92
ZVVSTEJyZWFrcG9pbnQoV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbFJlcXVlc3RzQnJlYWtwb2lu
dCk7CkBAIC0xNTQ0LDcgKzE2NDMsNyBAQCBXSS5Tb3VyY2VzTmF2aWdhdGlvblNpZGViYXJQYW5l
bCA9IGNsYXNzIFNvdXJjZXNOYXZpZ2F0aW9uU2lkZWJhclBhbmVsIGV4dGVuZHMgVwogICAgICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIH0sIGFsbFJlcXVlc3RzQnJlYWtwb2ludFNob3duKTsK
IAotICAgICAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kSXRlbShXSS5VSVN0cmluZygiVVJMIEJy
ZWFrcG9pbnRcdTIwMjYiKSwgKCkgPT4geworICAgICAgICAgICAgY29udGV4dE1lbnUuYXBwZW5k
SXRlbShXSS5ET01EZWJ1Z2dlck1hbmFnZXIuc3VwcG9ydHNVUkxCcmVha3BvaW50cygpID8gV0ku
VUlTdHJpbmcoIlVSTCBCcmVha3BvaW50XHUyMDI2IikgOiBXSS5VSVN0cmluZygiWEhSIEJyZWFr
cG9pbnRcdTIwMjYiKSwgKCkgPT4gewogICAgICAgICAgICAgICAgIGxldCBwb3BvdmVyID0gbmV3
IFdJLlVSTEJyZWFrcG9pbnRQb3BvdmVyKHRoaXMpOwogICAgICAgICAgICAgICAgIHBvcG92ZXIu
c2hvdyh0aGlzLl9jcmVhdGVCcmVha3BvaW50QnV0dG9uLmVsZW1lbnQsIFtXSS5SZWN0RWRnZS5N
QVhfWSwgV0kuUmVjdEVkZ2UuTUlOX1ksIFdJLlJlY3RFZGdlLk1BWF9YXSk7CiAgICAgICAgICAg
ICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCBmNjMwMjg5ZDZkZThlZDAwNGI1YjMzYzA0MWJiZDU0ZjBkYzg2MTdmLi5m
YWY4M2MwNzExNmNjOWNhMjJjZGZmNjQ5NjM5MTFmY2Y2NTYwYTcxIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MzUgQEAKKzIwMTktMDgtMDMgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IERPTTogYWRkIGEgc3BlY2lhbCBicmVha3BvaW50IGZvciAi
QWxsIEV2ZW50cyIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwMDI4NQorCisgICAgICAgIFJldmlld2VkIGJ5IEpvc2VwaCBQZWNvcmFyby4KKworICAg
ICAgICAqIGluc3BlY3Rvci9kb20vYnJlYWtwb2ludC1mb3ItZXZlbnQtbGlzdGVuZXIuaHRtbDoK
KyAgICAgICAgKiBpbnNwZWN0b3IvZG9tL2JyZWFrcG9pbnQtZm9yLWV2ZW50LWxpc3RlbmVyLWV4
cGVjdGVkLnR4dDoKKworICAgICAgICAqIGluc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtYW5p
bWF0aW9uLWZyYW1lLWJyZWFrcG9pbnRzLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2RvbS1k
ZWJ1Z2dlci9ldmVudC1hbmltYXRpb24tZnJhbWUtYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGluc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtYnJlYWtwb2ludC13aXRoLW5h
dmlnYXRpb24uaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWJy
ZWFrcG9pbnQtd2l0aC1uYXZpZ2F0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWludGVydmFsLWJyZWFrcG9pbnRzLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGluc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtaW50ZXJ2YWwtYnJlYWtwb2lu
dHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZG9tLWRlYnVnZ2Vy
L2V2ZW50LWxpc3RlbmVyLWJyZWFrcG9pbnRzLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2Rv
bS1kZWJ1Z2dlci9ldmVudC1saXN0ZW5lci1icmVha3BvaW50cy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC10aW1lb3V0LWJyZWFrcG9pbnRzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtdGltZW91
dC1icmVha3BvaW50cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorCisgICAgICAgICogaW5zcGVjdG9y
L2RvbS1kZWJ1Z2dlci9yZXNvdXJjZXMvZXZlbnQtYnJlYWtwb2ludC11dGlsaXRpZXMuanM6Cisg
ICAgICAgIChUZXN0UGFnZS5yZWdpc3RlckluaXRpYWxpemVyLkluc3BlY3RvclRlc3QuRXZlbnRC
cmVha3BvaW50LnRlYXJkb3duKToKKyAgICAgICAgKFRlc3RQYWdlLnJlZ2lzdGVySW5pdGlhbGl6
ZXIuSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuZmFpbE9uUGF1c2UpOgorICAgICAgICAo
VGVzdFBhZ2UucmVnaXN0ZXJJbml0aWFsaXplci5JbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2lu
dC5jcmVhdGVCcmVha3BvaW50KTogQWRkZWQuCisgICAgICAgIChUZXN0UGFnZS5yZWdpc3Rlcklu
aXRpYWxpemVyLkluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmFkZEJyZWFrcG9pbnQpOgor
ICAgICAgICAoVGVzdFBhZ2UucmVnaXN0ZXJJbml0aWFsaXplci5JbnNwZWN0b3JUZXN0LkV2ZW50
QnJlYWtwb2ludC5yZW1vdmVCcmVha3BvaW50KToKKyAgICAgICAgKFRlc3RQYWdlLnJlZ2lzdGVy
SW5pdGlhbGl6ZXIuSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuZGlzYWJsZUJyZWFrcG9p
bnQpOgorCisgICAgICAgICogaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC10aW1lci1icmVh
a3BvaW50cy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci9kb20tZGVidWdnZXIv
ZXZlbnQtdGltZXItYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorCiAyMDE5LTA4
LTAzICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5z
cGVjdG9yOiBDU1MgRm9ybWF0dGVyOiBjb21tZW50cyB3aXRoIGFuIGVzY2FwZSBjaGFyYWN0ZXIg
YXJlbid0IGZvcm1hdHRlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1k
ZWJ1Z2dlci9ldmVudC1hbmltYXRpb24tZnJhbWUtYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC1hbmltYXRpb24tZnJhbWUt
YnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0CmluZGV4IDljNzI3MDEyNzYyZjZjNjhjOWM3ZWU3NmM4
MDgwZDVlNjY3YTZmNTAuLjkwYjI2YTc3YmQ1NTY2OTVmMWIwMWZmMTcyOWQ2NWE1ZGYyOGM3MWMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtYW5p
bWF0aW9uLWZyYW1lLWJyZWFrcG9pbnRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWFuaW1hdGlvbi1mcmFtZS1icmVha3BvaW50cy1l
eHBlY3RlZC50eHQKQEAgLTIsOCArMiw4IEBAIFRlc3RzIGZvciBFdmVudCBBbmltYXRpb25GcmFt
ZSBicmVha3BvaW50cy4KIAogCiA9PSBSdW5uaW5nIHRlc3Qgc3VpdGU6IERPTURlYnVnZ2VyLkV2
ZW50LkFuaW1hdGlvbkZyYW1lCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogRE9NRGVidWdnZXIuRXZl
bnQuQW5pbWF0aW9uRnJhbWUuQWRkQnJlYWtwb2ludCAicmVxdWVzdEFuaW1hdGlvbkZyYW1lIgot
QWRkaW5nICJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiIEV2ZW50IEJyZWFrcG9pbnQuLi4KKy0tIFJ1
bm5pbmcgdGVzdCBjYXNlOiBET01EZWJ1Z2dlci5FdmVudC5BbmltYXRpb25GcmFtZS5BZGRCcmVh
a3BvaW50CitBZGRpbmcgImFuaW1hdGlvbi1mcmFtZSIgRXZlbnQgQnJlYWtwb2ludC4uLgogRmly
aW5nICJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiIG9uIHdpbmRvdy4uLgogUEFTUzogU2hvdWxkIHBh
dXNlIGJlZm9yZSBldmVudCBoYW5kbGVyIGlzIHJ1bi4KIENBTEwgU1RBQ0s6CkBAIC0xNCwyNCAr
MTQsMjQgQEAgQVNZTkMgQ0FMTCBTVEFDSzoKIDM6IFtQXSBHbG9iYWwgQ29kZQogLS0gUnVubmlu
ZyB0ZXN0IHRlYXJkb3duLgogCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogRE9NRGVidWdnZXIuRXZl
bnQuQW5pbWF0aW9uRnJhbWUuQWRkRGlzYWJsZWRCcmVha3BvaW50ICJyZXF1ZXN0QW5pbWF0aW9u
RnJhbWUiCi1BZGRpbmcgInJlcXVlc3RBbmltYXRpb25GcmFtZSIgRXZlbnQgQnJlYWtwb2ludC4u
LgotRGlzYWJsaW5nICJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiIEV2ZW50IEJyZWFrcG9pbnQuLi4K
Ky0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01EZWJ1Z2dlci5FdmVudC5BbmltYXRpb25GcmFtZS5B
ZGREaXNhYmxlZEJyZWFrcG9pbnQKK0FkZGluZyAiYW5pbWF0aW9uLWZyYW1lIiBFdmVudCBCcmVh
a3BvaW50Li4uCitEaXNhYmxpbmcgImFuaW1hdGlvbi1mcmFtZSIgRXZlbnQgQnJlYWtwb2ludC4u
LgogRmlyaW5nICJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiIG9uIHdpbmRvdy4uLgogUEFTUzogU2hv
dWxkIG5vdCBwYXVzZSBmb3IgZGlzYWJsZWQgYnJlYWtwb2ludC4KIC0tIFJ1bm5pbmcgdGVzdCB0
ZWFyZG93bi4KIAotLS0gUnVubmluZyB0ZXN0IGNhc2U6IERPTURlYnVnZ2VyLkV2ZW50LkFuaW1h
dGlvbkZyYW1lLlJlbW92ZUJyZWFrcG9pbnQgInJlcXVlc3RBbmltYXRpb25GcmFtZSIKLUFkZGlu
ZyAicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiBFdmVudCBCcmVha3BvaW50Li4uCi1SZW1vdmluZyAi
cmVxdWVzdEFuaW1hdGlvbkZyYW1lIiBFdmVudCBCcmVha3BvaW50Li4uCistLSBSdW5uaW5nIHRl
c3QgY2FzZTogRE9NRGVidWdnZXIuRXZlbnQuQW5pbWF0aW9uRnJhbWUuUmVtb3ZlQnJlYWtwb2lu
dAorQWRkaW5nICJhbmltYXRpb24tZnJhbWUiIEV2ZW50IEJyZWFrcG9pbnQuLi4KK1JlbW92aW5n
ICJhbmltYXRpb24tZnJhbWUiIEV2ZW50IEJyZWFrcG9pbnQuLi4KIEZpcmluZyAicmVxdWVzdEFu
aW1hdGlvbkZyYW1lIiBvbiB3aW5kb3cuLi4KIFBBU1M6IFNob3VsZCBub3QgcGF1c2UgZm9yIHJl
bW92ZWQgYnJlYWtwb2ludC4KIC0tIFJ1bm5pbmcgdGVzdCB0ZWFyZG93bi4KIAotLS0gUnVubmlu
ZyB0ZXN0IGNhc2U6IERPTURlYnVnZ2VyLkV2ZW50LkFuaW1hdGlvbkZyYW1lLlJlbW92ZURpc2Fi
bGVkQnJlYWtwb2ludCAicmVxdWVzdEFuaW1hdGlvbkZyYW1lIgotQWRkaW5nICJyZXF1ZXN0QW5p
bWF0aW9uRnJhbWUiIEV2ZW50IEJyZWFrcG9pbnQuLi4KLURpc2FibGluZyAicmVxdWVzdEFuaW1h
dGlvbkZyYW1lIiBFdmVudCBCcmVha3BvaW50Li4uCi1SZW1vdmluZyAicmVxdWVzdEFuaW1hdGlv
bkZyYW1lIiBFdmVudCBCcmVha3BvaW50Li4uCistLSBSdW5uaW5nIHRlc3QgY2FzZTogRE9NRGVi
dWdnZXIuRXZlbnQuQW5pbWF0aW9uRnJhbWUuUmVtb3ZlRGlzYWJsZWRCcmVha3BvaW50CitBZGRp
bmcgImFuaW1hdGlvbi1mcmFtZSIgRXZlbnQgQnJlYWtwb2ludC4uLgorRGlzYWJsaW5nICJhbmlt
YXRpb24tZnJhbWUiIEV2ZW50IEJyZWFrcG9pbnQuLi4KK1JlbW92aW5nICJhbmltYXRpb24tZnJh
bWUiIEV2ZW50IEJyZWFrcG9pbnQuLi4KIEZpcmluZyAicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiBv
biB3aW5kb3cuLi4KIFBBU1M6IFNob3VsZCBub3QgcGF1c2UgZm9yIHJlbW92ZWQgZGlzYWJsZWQg
YnJlYWtwb2ludC4KIC0tIFJ1bm5pbmcgdGVzdCB0ZWFyZG93bi4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtYW5pbWF0aW9uLWZyYW1lLWJyZWFr
cG9pbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWFu
aW1hdGlvbi1mcmFtZS1icmVha3BvaW50cy5odG1sCmluZGV4IDE5ZjNmMWI0YmQwNWJhMTk1NzFm
OGZiMTM2M2JkODVlMzcxYWIyYzMuLmYwYmE0N2I0NjI1MjVlMjllZWUwNmQ3ZjEyZmE1Mjc5M2Nh
MzQwNzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZl
bnQtYW5pbWF0aW9uLWZyYW1lLWJyZWFrcG9pbnRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC1hbmltYXRpb24tZnJhbWUtYnJlYWtwb2ludHMuaHRt
bApAQCAtMTUsODcgKzE1LDg1IEBAIGZ1bmN0aW9uIHRyaWdnZXJfcmVxdWVzdEFuaW1hdGlvbkZy
YW1lKCkgewogfQogCiBmdW5jdGlvbiB0ZXN0KCkgeworICAgIGNvbnN0IGV2ZW50TmFtZSA9ICJy
ZXF1ZXN0QW5pbWF0aW9uRnJhbWUiOworCiAgICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5j
cmVhdGVBc3luY1N1aXRlKCJET01EZWJ1Z2dlci5FdmVudC5BbmltYXRpb25GcmFtZSIpOwogCi0g
ICAgZnVuY3Rpb24gYWRkVGVzdENhc2VzRm9yRXZlbnROYW1lKGV2ZW50TmFtZSkgewotICAgICAg
ICBzdWl0ZS5hZGRUZXN0Q2FzZSh7Ci0gICAgICAgICAgICBuYW1lOiBgRE9NRGVidWdnZXIuRXZl
bnQuQW5pbWF0aW9uRnJhbWUuQWRkQnJlYWtwb2ludCAiJHtldmVudE5hbWV9ImAsCi0gICAgICAg
ICAgICBkZXNjcmlwdGlvbjogIkNoZWNrIHRoYXQgdGhlIGRlYnVnZ2VyIHBhdXNlcyBmb3IgZW5h
YmxlZCBicmVha3BvaW50cy4iLAotICAgICAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsK
LSAgICAgICAgICAgICAgICBsZXQgcGF1c2VkID0gZmFsc2U7CisgICAgc3VpdGUuYWRkVGVzdENh
c2UoeworICAgICAgICBuYW1lOiBgRE9NRGVidWdnZXIuRXZlbnQuQW5pbWF0aW9uRnJhbWUuQWRk
QnJlYWtwb2ludGAsCisgICAgICAgIGRlc2NyaXB0aW9uOiAiQ2hlY2sgdGhhdCB0aGUgZGVidWdn
ZXIgcGF1c2VzIGZvciBlbmFibGVkIGJyZWFrcG9pbnRzLiIsCisgICAgICAgIHRlc3QocmVzb2x2
ZSwgcmVqZWN0KSB7CisgICAgICAgICAgICBsZXQgcGF1c2VkID0gZmFsc2U7CiAKLSAgICAgICAg
ICAgICAgICBsZXQgbGlzdGVuZXIgPSBXSS5kZWJ1Z2dlck1hbmFnZXIuc2luZ2xlRmlyZUV2ZW50
TGlzdGVuZXIoV0kuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCwgKGV2ZW50KSA9PiB7Ci0g
ICAgICAgICAgICAgICAgICAgIHBhdXNlZCA9IHRydWU7CisgICAgICAgICAgICBsZXQgbGlzdGVu
ZXIgPSBXSS5kZWJ1Z2dlck1hbmFnZXIuc2luZ2xlRmlyZUV2ZW50TGlzdGVuZXIoV0kuRGVidWdn
ZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCwgKGV2ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgcGF1
c2VkID0gdHJ1ZTsKIAotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnBhc3MoIlNo
b3VsZCBwYXVzZSBiZWZvcmUgZXZlbnQgaGFuZGxlciBpcyBydW4uIik7Ci0gICAgICAgICAgICAg
ICAgICAgIGxvZ0FjdGl2ZVN0YWNrVHJhY2UoKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LnBhc3MoIlNob3VsZCBwYXVzZSBiZWZvcmUgZXZlbnQgaGFuZGxlciBpcyBydW4uIik7Cisg
ICAgICAgICAgICAgICAgbG9nQWN0aXZlU3RhY2tUcmFjZSgpOwogCi0gICAgICAgICAgICAgICAg
ICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5yZXN1bWUoKQotICAgICAgICAgICAgICAgICAgICAuY2F0
Y2gocmVqZWN0KTsKLSAgICAgICAgICAgICAgICB9KTsKLQotICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3Quc2luZ2xlRmlyZUV2ZW50TGlzdGVuZXIoYFRlc3RQYWdlLSR7ZXZlbnROYW1lfWAs
IChldmVudCkgPT4gewotICAgICAgICAgICAgICAgICAgICBpZiAoIXBhdXNlZCkgewotICAgICAg
ICAgICAgICAgICAgICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIo
V0kuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCwgbGlzdGVuZXIpOwotCi0gICAgICAgICAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmZhaWwoIlNob3VsZCBwYXVzZSBiZWZvcmUgZXZl
bnQgaGFuZGxlciBpcyBydW4uIik7Ci0gICAgICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAg
ICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0KLSAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hZGRCcmVha3BvaW50KFdJLkV2ZW50
QnJlYWtwb2ludC5UeXBlLkFuaW1hdGlvbkZyYW1lLCBldmVudE5hbWUpCi0gICAgICAgICAgICAg
ICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYXdhaXRFdmVudCgid2luZG93
IiwgZXZlbnROYW1lKSkKKyAgICAgICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIucmVzdW1l
KCkKICAgICAgICAgICAgICAgICAuY2F0Y2gocmVqZWN0KTsKLSAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICB0ZWFyZG93bjogSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQudGVhcmRvd24s
Ci0gICAgICAgIH0pOworICAgICAgICAgICAgfSk7CiAKLSAgICAgICAgc3VpdGUuYWRkVGVzdENh
c2UoewotICAgICAgICAgICAgbmFtZTogYERPTURlYnVnZ2VyLkV2ZW50LkFuaW1hdGlvbkZyYW1l
LkFkZERpc2FibGVkQnJlYWtwb2ludCAiJHtldmVudE5hbWV9ImAsCi0gICAgICAgICAgICBkZXNj
cmlwdGlvbjogIkNoZWNrIHRoYXQgZGVidWdnZXIgZG9lcyBub3QgcGF1c2UgZm9yIGRpc2FibGVk
IGJyZWFrcG9pbnRzLiIsCi0gICAgICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewotICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmZhaWxPblBhdXNlKHJl
c29sdmUsIHJlamVjdCwgV0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVhc29uLkFuaW1hdGlvbkZy
YW1lLCBldmVudE5hbWUsICJTaG91bGQgbm90IHBhdXNlIGZvciBkaXNhYmxlZCBicmVha3BvaW50
LiIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zaW5nbGVGaXJlRXZlbnRMaXN0ZW5lcihg
VGVzdFBhZ2UtJHtldmVudE5hbWV9YCwgKGV2ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgaWYg
KCFwYXVzZWQpIHsKKyAgICAgICAgICAgICAgICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLnJlbW92
ZUV2ZW50TGlzdGVuZXIoV0kuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCwgbGlzdGVuZXIp
OwogCi0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYWRkQnJl
YWtwb2ludChXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5BbmltYXRpb25GcmFtZSwgZXZlbnROYW1l
KQotICAgICAgICAgICAgICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmRp
c2FibGVCcmVha3BvaW50KQotICAgICAgICAgICAgICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZl
bnRCcmVha3BvaW50LmF3YWl0RXZlbnQoIndpbmRvdyIsIGV2ZW50TmFtZSkpCi0gICAgICAgICAg
ICAgICAgLmNhdGNoKHJlamVjdCk7Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgdGVhcmRv
d246IEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LnRlYXJkb3duLAotICAgICAgICB9KTsK
KyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5mYWlsKCJTaG91bGQgcGF1c2UgYmVm
b3JlIGV2ZW50IGhhbmRsZXIgaXMgcnVuLiIpOworICAgICAgICAgICAgICAgIH0KIAotICAgICAg
ICBzdWl0ZS5hZGRUZXN0Q2FzZSh7Ci0gICAgICAgICAgICBuYW1lOiBgRE9NRGVidWdnZXIuRXZl
bnQuQW5pbWF0aW9uRnJhbWUuUmVtb3ZlQnJlYWtwb2ludCAiJHtldmVudE5hbWV9ImAsCi0gICAg
ICAgICAgICBkZXNjcmlwdGlvbjogIkNoZWNrIHRoYXQgZGVidWdnZXIgZG9lcyBub3QgcGF1c2Ug
Zm9yIHJlbW92ZWQgYnJlYWtwb2ludC4iLAotICAgICAgICAgICAgdGVzdChyZXNvbHZlLCByZWpl
Y3QpIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5mYWls
T25QYXVzZShyZXNvbHZlLCByZWplY3QsIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5B
bmltYXRpb25GcmFtZSwgZXZlbnROYW1lLCAiU2hvdWxkIG5vdCBwYXVzZSBmb3IgcmVtb3ZlZCBi
cmVha3BvaW50LiIpOworICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAgIH0p
OwogCi0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYWRkQnJl
YWtwb2ludChXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5BbmltYXRpb25GcmFtZSwgZXZlbnROYW1l
KQotICAgICAgICAgICAgICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LnJl
bW92ZUJyZWFrcG9pbnQpCi0gICAgICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVu
dEJyZWFrcG9pbnQuYXdhaXRFdmVudCgid2luZG93IiwgZXZlbnROYW1lKSkKLSAgICAgICAgICAg
ICAgICAuY2F0Y2gocmVqZWN0KTsKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB0ZWFyZG93
bjogSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQudGVhcmRvd24sCi0gICAgICAgIH0pOwor
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYWRkQnJlYWtwb2ludChX
SS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsQW5pbWF0aW9uRnJhbWVzQnJlYWtwb2ludCkKKyAgICAg
ICAgICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmF3YWl0RXZlbnQoIndp
bmRvdyIsIGV2ZW50TmFtZSkpCisgICAgICAgICAgICAuY2F0Y2gocmVqZWN0KTsKKyAgICAgICAg
fSwKKyAgICAgICAgdGVhcmRvd246IEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LnRlYXJk
b3duLAorICAgIH0pOwogCi0gICAgICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKLSAgICAgICAgICAg
IG5hbWU6IGBET01EZWJ1Z2dlci5FdmVudC5BbmltYXRpb25GcmFtZS5SZW1vdmVEaXNhYmxlZEJy
ZWFrcG9pbnQgIiR7ZXZlbnROYW1lfSJgLAotICAgICAgICAgICAgZGVzY3JpcHRpb246ICJDaGVj
ayB0aGF0IGEgZGlzYWJsZWQgYnJlYWtwb2ludCBjYW4gYmUgcmVtb3ZlZC4iLAotICAgICAgICAg
ICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LkV2ZW50QnJlYWtwb2ludC5mYWlsT25QYXVzZShyZXNvbHZlLCByZWplY3QsIFdJLkRlYnVnZ2Vy
TWFuYWdlci5QYXVzZVJlYXNvbi5BbmltYXRpb25GcmFtZSwgZXZlbnROYW1lLCAiU2hvdWxkIG5v
dCBwYXVzZSBmb3IgcmVtb3ZlZCBkaXNhYmxlZCBicmVha3BvaW50LiIpOworICAgIHN1aXRlLmFk
ZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogYERPTURlYnVnZ2VyLkV2ZW50LkFuaW1hdGlvbkZy
YW1lLkFkZERpc2FibGVkQnJlYWtwb2ludGAsCisgICAgICAgIGRlc2NyaXB0aW9uOiAiQ2hlY2sg
dGhhdCBkZWJ1Z2dlciBkb2VzIG5vdCBwYXVzZSBmb3IgZGlzYWJsZWQgYnJlYWtwb2ludHMuIiwK
KyAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuRXZlbnRCcmVha3BvaW50LmZhaWxPblBhdXNlKHJlc29sdmUsIHJlamVjdCwgV0kuRGVidWdn
ZXJNYW5hZ2VyLlBhdXNlUmVhc29uLkFuaW1hdGlvbkZyYW1lLCBldmVudE5hbWUsICJTaG91bGQg
bm90IHBhdXNlIGZvciBkaXNhYmxlZCBicmVha3BvaW50LiIpOwogCi0gICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYWRkQnJlYWtwb2ludChXSS5FdmVudEJyZWFr
cG9pbnQuVHlwZS5BbmltYXRpb25GcmFtZSwgZXZlbnROYW1lKQotICAgICAgICAgICAgICAgIC50
aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmRpc2FibGVCcmVha3BvaW50KQotICAg
ICAgICAgICAgICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LnJlbW92ZUJy
ZWFrcG9pbnQpCi0gICAgICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFr
cG9pbnQuYXdhaXRFdmVudCgid2luZG93IiwgZXZlbnROYW1lKSkKLSAgICAgICAgICAgICAgICAu
Y2F0Y2gocmVqZWN0KTsKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB0ZWFyZG93bjogSW5z
cGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQudGVhcmRvd24sCi0gICAgICAgIH0pOwotICAgIH0K
KyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmFkZEJyZWFrcG9pbnQo
V0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEFuaW1hdGlvbkZyYW1lc0JyZWFrcG9pbnQpCisgICAg
ICAgICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5kaXNhYmxlQnJlYWtw
b2ludCkKKyAgICAgICAgICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmF3
YWl0RXZlbnQoIndpbmRvdyIsIGV2ZW50TmFtZSkpCisgICAgICAgICAgICAuY2F0Y2gocmVqZWN0
KTsKKyAgICAgICAgfSwKKyAgICAgICAgdGVhcmRvd246IEluc3BlY3RvclRlc3QuRXZlbnRCcmVh
a3BvaW50LnRlYXJkb3duLAorICAgIH0pOwogCi0gICAgYWRkVGVzdENhc2VzRm9yRXZlbnROYW1l
KCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiKTsKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAg
ICAgIG5hbWU6IGBET01EZWJ1Z2dlci5FdmVudC5BbmltYXRpb25GcmFtZS5SZW1vdmVCcmVha3Bv
aW50YCwKKyAgICAgICAgZGVzY3JpcHRpb246ICJDaGVjayB0aGF0IGRlYnVnZ2VyIGRvZXMgbm90
IHBhdXNlIGZvciByZW1vdmVkIGJyZWFrcG9pbnQuIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCBy
ZWplY3QpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmZhaWxP
blBhdXNlKHJlc29sdmUsIHJlamVjdCwgV0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVhc29uLkFu
aW1hdGlvbkZyYW1lLCBldmVudE5hbWUsICJTaG91bGQgbm90IHBhdXNlIGZvciByZW1vdmVkIGJy
ZWFrcG9pbnQuIik7CisKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50
LmFkZEJyZWFrcG9pbnQoV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEFuaW1hdGlvbkZyYW1lc0Jy
ZWFrcG9pbnQpCisgICAgICAgICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2lu
dC5yZW1vdmVCcmVha3BvaW50KQorICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVu
dEJyZWFrcG9pbnQuYXdhaXRFdmVudCgid2luZG93IiwgZXZlbnROYW1lKSkKKyAgICAgICAgICAg
IC5jYXRjaChyZWplY3QpOworICAgICAgICB9LAorICAgICAgICB0ZWFyZG93bjogSW5zcGVjdG9y
VGVzdC5FdmVudEJyZWFrcG9pbnQudGVhcmRvd24sCisgICAgfSk7CisKKyAgICBzdWl0ZS5hZGRU
ZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6IGBET01EZWJ1Z2dlci5FdmVudC5BbmltYXRpb25GcmFt
ZS5SZW1vdmVEaXNhYmxlZEJyZWFrcG9pbnRgLAorICAgICAgICBkZXNjcmlwdGlvbjogIkNoZWNr
IHRoYXQgYSBkaXNhYmxlZCBicmVha3BvaW50IGNhbiBiZSByZW1vdmVkLiIsCisgICAgICAgIHRl
c3QocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJl
YWtwb2ludC5mYWlsT25QYXVzZShyZXNvbHZlLCByZWplY3QsIFdJLkRlYnVnZ2VyTWFuYWdlci5Q
YXVzZVJlYXNvbi5BbmltYXRpb25GcmFtZSwgZXZlbnROYW1lLCAiU2hvdWxkIG5vdCBwYXVzZSBm
b3IgcmVtb3ZlZCBkaXNhYmxlZCBicmVha3BvaW50LiIpOworCisgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hZGRCcmVha3BvaW50KFdJLmRvbURlYnVnZ2VyTWFuYWdl
ci5hbGxBbmltYXRpb25GcmFtZXNCcmVha3BvaW50KQorICAgICAgICAgICAgLnRoZW4oSW5zcGVj
dG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuZGlzYWJsZUJyZWFrcG9pbnQpCisgICAgICAgICAgICAu
dGhlbihJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5yZW1vdmVCcmVha3BvaW50KQorICAg
ICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYXdhaXRFdmVudCgi
d2luZG93IiwgZXZlbnROYW1lKSkKKyAgICAgICAgICAgIC5jYXRjaChyZWplY3QpOworICAgICAg
ICB9LAorICAgICAgICB0ZWFyZG93bjogSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQudGVh
cmRvd24sCisgICAgfSk7CiAKICAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKIH0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtYnJl
YWtwb2ludC13aXRoLW5hdmlnYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2RvbS1kZWJ1Z2dlci9ldmVudC1icmVha3BvaW50LXdpdGgtbmF2aWdhdGlvbi1leHBlY3Rl
ZC50eHQKaW5kZXggNTBiYTVjOWI2ZGZjNGNjMTFjNzdkNGQ2ZGNmM2Y4MGVmMzFmZTljYi4uYzRj
MzkzOWQxMjU4YjU3YzhjNDVkMTY2ZmM1MGEzNzhkOGE5YWNjZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC1icmVha3BvaW50LXdpdGgtbmF2aWdh
dGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dl
ci9ldmVudC1icmVha3BvaW50LXdpdGgtbmF2aWdhdGlvbi1leHBlY3RlZC50eHQKQEAgLTUsNyAr
NSw3IEBAIFRlc3RzIGZvciBFdmVudCBMaXN0ZW5lciBicmVha3BvaW50cy4KIC0tIFJ1bm5pbmcg
dGVzdCBjYXNlOiBET01EZWJ1Z2dlci5FdmVudFdpdGhOYXZpZ2F0aW9uLkFkZEJyZWFrcG9pbnQK
IEFkZGluZyAibG9hZCIgRXZlbnQgQnJlYWtwb2ludC4uLgogUmVsb2FkaW5nIFdlYkluc3BlY3Rv
ci4uLgotUEFTUzogUGF1c2UgcmVhc29uIHNob3VsZCBiZSBFdmVudExpc3RlbmVyLgorUEFTUzog
UGF1c2UgcmVhc29uIHNob3VsZCBiZSBMaXN0ZW5lci4KIFBBU1M6IFBhdXNlIGRhdGEgZXZlbnRO
YW1lIHNob3VsZCBiZSAibG9hZCIuCiAtLSBSdW5uaW5nIHRlc3QgdGVhcmRvd24uCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtYnJlYWtwb2lu
dC13aXRoLW5hdmlnYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdn
ZXIvZXZlbnQtYnJlYWtwb2ludC13aXRoLW5hdmlnYXRpb24uaHRtbAppbmRleCBlNzBiYjY1NWJj
NTE1YzE3YzQ3MGRkMjMyMjE5NDdlNDgzM2E1NTdmLi5jNDFkYjcyZWFkNjc1NTdkMjg1YWU2Yjgx
OWJmMjBiYzJlNTQ2YWM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLWRl
YnVnZ2VyL2V2ZW50LWJyZWFrcG9pbnQtd2l0aC1uYXZpZ2F0aW9uLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC1icmVha3BvaW50LXdpdGgtbmF2aWdh
dGlvbi5odG1sCkBAIC0yLDYgKzIsNyBAQAogPGh0bWw+CiA8aGVhZD4KIDxzY3JpcHQgc3JjPSIu
Li8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9ldmVudC1icmVha3BvaW50LXV0aWxpdGll
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogZnVuY3Rpb24gaGFuZGxlTG9hZChldmVudCkgewog
ICAgIFRlc3RQYWdlLmRpc3BhdGNoRXZlbnRUb0Zyb250ZW5kKCJUZXN0UGFnZUxvYWQiKTsKQEAg
LTIyLDcgKzIzLDcgQEAgZnVuY3Rpb24gdGVzdCgpIHsKICAgICAgICAgICAgICAgICBwYXVzZWQg
PSB0cnVlOwogCiAgICAgICAgICAgICAgICAgbGV0IHRhcmdldERhdGEgPSBXSS5kZWJ1Z2dlck1h
bmFnZXIuZGF0YUZvclRhcmdldChXSS5kZWJ1Z2dlck1hbmFnZXIuYWN0aXZlQ2FsbEZyYW1lLnRh
cmdldCk7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbCh0YXJnZXRE
YXRhLnBhdXNlUmVhc29uLCBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uRXZlbnRMaXN0
ZW5lciwgIlBhdXNlIHJlYXNvbiBzaG91bGQgYmUgRXZlbnRMaXN0ZW5lci4iKTsKKyAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHRhcmdldERhdGEucGF1c2VSZWFzb24s
IFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5MaXN0ZW5lciwgIlBhdXNlIHJlYXNvbiBz
aG91bGQgYmUgTGlzdGVuZXIuIik7CiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBl
Y3RFcXVhbCh0YXJnZXREYXRhLnBhdXNlRGF0YS5ldmVudE5hbWUsICJsb2FkIiwgIlBhdXNlIGRh
dGEgZXZlbnROYW1lIHNob3VsZCBiZSBcImxvYWRcIi4iKTsKIAogICAgICAgICAgICAgICAgIFdJ
LmRlYnVnZ2VyTWFuYWdlci5yZXN1bWUoKQpAQCAtNDQsNyArNDUsNyBAQCBmdW5jdGlvbiB0ZXN0
KCkgewogCiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiQWRkaW5nIFwibG9hZFwiIEV2
ZW50IEJyZWFrcG9pbnQuLi4iKTsKIAotICAgICAgICAgICAgbGV0IGJyZWFrcG9pbnQgPSBuZXcg
V0kuRXZlbnRCcmVha3BvaW50KFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkxpc3RlbmVyLCAibG9h
ZCIpOworICAgICAgICAgICAgbGV0IGJyZWFrcG9pbnQgPSBuZXcgV0kuRXZlbnRCcmVha3BvaW50
KFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkxpc3RlbmVyLCB7ZXZlbnROYW1lOiAibG9hZCJ9KTsK
IAogICAgICAgICAgICAgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmF3YWl0RXZlbnQoV0kuRE9NRGVi
dWdnZXJNYW5hZ2VyLkV2ZW50LkV2ZW50QnJlYWtwb2ludEFkZGVkKQogICAgICAgICAgICAgLnRo
ZW4oKGV2ZW50KSA9PiB7CkBAIC01OCwxMyArNTksNyBAQCBmdW5jdGlvbiB0ZXN0KCkgewogCiAg
ICAgICAgICAgICBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRCcmVha3BvaW50KGJyZWFr
cG9pbnQpOwogICAgICAgICB9LAotICAgICAgICB0ZWFyZG93bihyZXNvbHZlLCByZWplY3QpIHsK
LSAgICAgICAgICAgIGxldCBicmVha3BvaW50cyA9IFdJLmRvbURlYnVnZ2VyTWFuYWdlci5ldmVu
dEJyZWFrcG9pbnRzOwotICAgICAgICAgICAgZm9yIChsZXQgYnJlYWtwb2ludCBvZiBicmVha3Bv
aW50cykKLSAgICAgICAgICAgICAgICBXSS5kb21EZWJ1Z2dlck1hbmFnZXIucmVtb3ZlRXZlbnRC
cmVha3BvaW50KGJyZWFrcG9pbnQpOwotCi0gICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAg
IH0sCisgICAgICAgIHRlYXJkb3duOiBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC50ZWFy
ZG93biwKICAgICB9KTsKIAogICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC1pbnRlcnZh
bC1icmVha3BvaW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLWRl
YnVnZ2VyL2V2ZW50LWludGVydmFsLWJyZWFrcG9pbnRzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41ZWM0ODBhNzhiNWQ4M2JjZDcwZWFiNzNhOTdhMjBkZmRlYjgzNjhkCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC1pbnRlcnZhbC1i
cmVha3BvaW50cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1NyBAQAorVGVzdHMgZm9yIEV2ZW50
IFRpbWVyIGJyZWFrcG9pbnRzLgorCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogRE9NRGVidWdn
ZXIuRXZlbnQuVGltZXIKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01EZWJ1Z2dlci5FdmVudC5J
bnRlcnZhbC5BZGRCcmVha3BvaW50CitBZGRpbmcgImludGVydmFsIiBFdmVudCBCcmVha3BvaW50
Li4uCitGaXJpbmcgInNldEludGVydmFsIiBvbiB3aW5kb3cuLi4KK1BBU1M6IFNob3VsZCBwYXVz
ZSBiZWZvcmUgZXZlbnQgaGFuZGxlciBpcyBydW4uCitDQUxMIFNUQUNLOgorMDogW0ZdIGhhbmRs
ZVdpbmRvd19zZXRJbnRlcnZhbAorQVNZTkMgQ0FMTCBTVEFDSzoKKzE6IC0tLSBzZXRJbnRlcnZh
bCAtLS0KKzI6IFtGXSB0cmlnZ2VyX3NldEludGVydmFsCiszOiBbUF0gR2xvYmFsIENvZGUKKy0t
IFJ1bm5pbmcgdGVzdCB0ZWFyZG93bi4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IERPTURlYnVn
Z2VyLkV2ZW50LkludGVydmFsLkFkZERpc2FibGVkQnJlYWtwb2ludAorQWRkaW5nICJpbnRlcnZh
bCIgRXZlbnQgQnJlYWtwb2ludC4uLgorRGlzYWJsaW5nICJpbnRlcnZhbCIgRXZlbnQgQnJlYWtw
b2ludC4uLgorRmlyaW5nICJzZXRJbnRlcnZhbCIgb24gd2luZG93Li4uCitQQVNTOiBTaG91bGQg
bm90IHBhdXNlIGZvciBkaXNhYmxlZCBicmVha3BvaW50LgorLS0gUnVubmluZyB0ZXN0IHRlYXJk
b3duLgorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogRE9NRGVidWdnZXIuRXZlbnQuSW50ZXJ2YWwu
UmVtb3ZlQnJlYWtwb2ludAorQWRkaW5nICJpbnRlcnZhbCIgRXZlbnQgQnJlYWtwb2ludC4uLgor
UmVtb3ZpbmcgImludGVydmFsIiBFdmVudCBCcmVha3BvaW50Li4uCitGaXJpbmcgInNldEludGVy
dmFsIiBvbiB3aW5kb3cuLi4KK1BBU1M6IFNob3VsZCBub3QgcGF1c2UgZm9yIHJlbW92ZWQgYnJl
YWtwb2ludC4KKy0tIFJ1bm5pbmcgdGVzdCB0ZWFyZG93bi4KKworLS0gUnVubmluZyB0ZXN0IGNh
c2U6IERPTURlYnVnZ2VyLkV2ZW50LkludGVydmFsLlJlbW92ZURpc2FibGVkQnJlYWtwb2ludAor
QWRkaW5nICJpbnRlcnZhbCIgRXZlbnQgQnJlYWtwb2ludC4uLgorRGlzYWJsaW5nICJpbnRlcnZh
bCIgRXZlbnQgQnJlYWtwb2ludC4uLgorUmVtb3ZpbmcgImludGVydmFsIiBFdmVudCBCcmVha3Bv
aW50Li4uCitGaXJpbmcgInNldEludGVydmFsIiBvbiB3aW5kb3cuLi4KK1BBU1M6IFNob3VsZCBu
b3QgcGF1c2UgZm9yIHJlbW92ZWQgZGlzYWJsZWQgYnJlYWtwb2ludC4KKy0tIFJ1bm5pbmcgdGVz
dCB0ZWFyZG93bi4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IERPTURlYnVnZ2VyLkV2ZW50Lklu
dGVydmFsLlJlcGVhdEZpcmVCcmVha3BvaW50CitBZGRpbmcgImludGVydmFsIiBFdmVudCBCcmVh
a3BvaW50Li4uCitGaXJpbmcgInNldEludGVydmFsIiBvbiB3aW5kb3cuLi4KK1BBU1M6IFNob3Vs
ZCBwYXVzZSBiZWZvcmUgZXZlbnQgaGFuZGxlciBpcyBydW4uCitDQUxMIFNUQUNLOgorMDogW0Zd
IGhhbmRsZVJlcGVhdAorQVNZTkMgQ0FMTCBTVEFDSzoKKzE6IC0tLSBzZXRJbnRlcnZhbCAtLS0K
KzI6IFtGXSByZXBlYXRTZXRJbnRlcnZhbAorMzogW1BdIEdsb2JhbCBDb2RlCitQQVNTOiBTaG91
bGQgcGF1c2UgYmVmb3JlIGV2ZW50IGhhbmRsZXIgaXMgcnVuLgorQ0FMTCBTVEFDSzoKKzA6IFtG
XSBoYW5kbGVSZXBlYXQKK0FTWU5DIENBTEwgU1RBQ0s6CisxOiAtLS0gc2V0SW50ZXJ2YWwgLS0t
CisyOiBbRl0gcmVwZWF0U2V0SW50ZXJ2YWwKKzM6IFtQXSBHbG9iYWwgQ29kZQorLS0gUnVubmlu
ZyB0ZXN0IHRlYXJkb3duLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9t
LWRlYnVnZ2VyL2V2ZW50LWludGVydmFsLWJyZWFrcG9pbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWludGVydmFsLWJyZWFrcG9pbnRzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYjNiMmFmZmU4NjRmYzAyNzlhYTg4OWUyNjRlODNiN2MxYzg4YzQ2NAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtaW50
ZXJ2YWwtYnJlYWtwb2ludHMuaHRtbApAQCAtMCwwICsxLDE1NCBAQAorPCFkb2N0eXBlIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
ZGVidWdnZXIvcmVzb3VyY2VzL2xvZy1hY3RpdmUtc3RhY2stdHJhY2UuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9ldmVudC1icmVha3BvaW50LXV0aWxpdGllcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0PgorCitsZXQgaW50ZXJ2YWxJRCA9IE5hTjsKKworZnVuY3Rpb24gaGFu
ZGxlV2luZG93X3NldEludGVydmFsKCkgeworICAgIFRlc3RQYWdlLmRpc3BhdGNoRXZlbnRUb0Zy
b250ZW5kKCJUZXN0UGFnZS1zZXRJbnRlcnZhbCIpOworCisgICAgcmVwZWF0Q2xlYXJJbnRlcnZh
bCgpOworfQorCitmdW5jdGlvbiBoYW5kbGVSZXBlYXQoKSB7Cit9CisKK2Z1bmN0aW9uIHRyaWdn
ZXJfc2V0SW50ZXJ2YWwoKSB7CisgICAgaW50ZXJ2YWxJRCA9IHNldEludGVydmFsKGhhbmRsZVdp
bmRvd19zZXRJbnRlcnZhbCwgMTAwKTsKK30KKworZnVuY3Rpb24gcmVwZWF0U2V0SW50ZXJ2YWwo
KSB7CisgICAgaW50ZXJ2YWxJRCA9IHNldEludGVydmFsKGhhbmRsZVJlcGVhdCwgMTAwKTsKK30K
KworZnVuY3Rpb24gcmVwZWF0Q2xlYXJJbnRlcnZhbCgpIHsKKyAgICBjbGVhckludGVydmFsKGlu
dGVydmFsSUQpOworICAgIGludGVydmFsSUQgPSBOYU47Cit9CisKK2Z1bmN0aW9uIHRlc3QoKSB7
CisgICAgY29uc3QgZXZlbnROYW1lID0gInNldEludGVydmFsIjsKKworICAgIGxldCBzdWl0ZSA9
IEluc3BlY3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiRE9NRGVidWdnZXIuRXZlbnQuVGltZXIi
KTsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogYERPTURlYnVnZ2Vy
LkV2ZW50LkludGVydmFsLkFkZEJyZWFrcG9pbnRgLAorICAgICAgICBkZXNjcmlwdGlvbjogIkNo
ZWNrIHRoYXQgdGhlIGRlYnVnZ2VyIHBhdXNlcyBmb3IgZW5hYmxlZCBicmVha3BvaW50cy4iLAor
ICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICAgICAgbGV0IHBhdXNlZCA9
IGZhbHNlOworCisgICAgICAgICAgICBsZXQgbGlzdGVuZXIgPSBXSS5kZWJ1Z2dlck1hbmFnZXIu
c2luZ2xlRmlyZUV2ZW50TGlzdGVuZXIoV0kuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCwg
KGV2ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgcGF1c2VkID0gdHJ1ZTsKKworICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QucGFzcygiU2hvdWxkIHBhdXNlIGJlZm9yZSBldmVudCBoYW5k
bGVyIGlzIHJ1bi4iKTsKKyAgICAgICAgICAgICAgICBsb2dBY3RpdmVTdGFja1RyYWNlKCk7CisK
KyAgICAgICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIucmVzdW1lKCkKKyAgICAgICAgICAg
ICAgICAuY2F0Y2gocmVqZWN0KTsKKyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LnNpbmdsZUZpcmVFdmVudExpc3RlbmVyKGBUZXN0UGFnZS0ke2V2ZW50TmFtZX1g
LCAoZXZlbnQpID0+IHsKKyAgICAgICAgICAgICAgICBpZiAoIXBhdXNlZCkgeworICAgICAgICAg
ICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5EZWJ1
Z2dlck1hbmFnZXIuRXZlbnQuUGF1c2VkLCBsaXN0ZW5lcik7CisKKyAgICAgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5mYWlsKCJTaG91bGQgcGF1c2UgYmVmb3JlIGV2ZW50IGhhbmRsZXIg
aXMgcnVuLiIpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIHJlc29sdmUo
KTsKKyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJl
YWtwb2ludC5hZGRCcmVha3BvaW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxJbnRlcnZhbHNC
cmVha3BvaW50KQorICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9p
bnQuYXdhaXRFdmVudCgid2luZG93IiwgZXZlbnROYW1lKSkKKyAgICAgICAgICAgIC5jYXRjaChy
ZWplY3QpOworICAgICAgICB9LAorICAgICAgICB0ZWFyZG93bjogSW5zcGVjdG9yVGVzdC5FdmVu
dEJyZWFrcG9pbnQudGVhcmRvd24sCisgICAgfSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7
CisgICAgICAgIG5hbWU6IGBET01EZWJ1Z2dlci5FdmVudC5JbnRlcnZhbC5BZGREaXNhYmxlZEJy
ZWFrcG9pbnRgLAorICAgICAgICBkZXNjcmlwdGlvbjogIkNoZWNrIHRoYXQgZGVidWdnZXIgZG9l
cyBub3QgcGF1c2UgZm9yIGRpc2FibGVkIGJyZWFrcG9pbnRzLiIsCisgICAgICAgIHRlc3QocmVz
b2x2ZSwgcmVqZWN0KSB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2lu
dC5mYWlsT25QYXVzZShyZXNvbHZlLCByZWplY3QsIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJl
YXNvbi5JbnRlcnZhbCwgZXZlbnROYW1lLCAiU2hvdWxkIG5vdCBwYXVzZSBmb3IgZGlzYWJsZWQg
YnJlYWtwb2ludC4iKTsKKworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9p
bnQuYWRkQnJlYWtwb2ludChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsSW50ZXJ2YWxzQnJlYWtw
b2ludCkKKyAgICAgICAgICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmRp
c2FibGVCcmVha3BvaW50KQorICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVudEJy
ZWFrcG9pbnQuYXdhaXRFdmVudCgid2luZG93IiwgZXZlbnROYW1lKSkKKyAgICAgICAgICAgIC5j
YXRjaChyZWplY3QpOworICAgICAgICB9LAorICAgICAgICB0ZWFyZG93bjogSW5zcGVjdG9yVGVz
dC5FdmVudEJyZWFrcG9pbnQudGVhcmRvd24sCisgICAgfSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0
Q2FzZSh7CisgICAgICAgIG5hbWU6IGBET01EZWJ1Z2dlci5FdmVudC5JbnRlcnZhbC5SZW1vdmVC
cmVha3BvaW50YCwKKyAgICAgICAgZGVzY3JpcHRpb246ICJDaGVjayB0aGF0IGRlYnVnZ2VyIGRv
ZXMgbm90IHBhdXNlIGZvciByZW1vdmVkIGJyZWFrcG9pbnQuIiwKKyAgICAgICAgdGVzdChyZXNv
bHZlLCByZWplY3QpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50
LmZhaWxPblBhdXNlKHJlc29sdmUsIHJlamVjdCwgV0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVh
c29uLkludGVydmFsLCBldmVudE5hbWUsICJTaG91bGQgbm90IHBhdXNlIGZvciByZW1vdmVkIGJy
ZWFrcG9pbnQuIik7CisKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50
LmFkZEJyZWFrcG9pbnQoV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbEludGVydmFsc0JyZWFrcG9p
bnQpCisgICAgICAgICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5yZW1v
dmVCcmVha3BvaW50KQorICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFr
cG9pbnQuYXdhaXRFdmVudCgid2luZG93IiwgZXZlbnROYW1lKSkKKyAgICAgICAgICAgIC5jYXRj
aChyZWplY3QpOworICAgICAgICB9LAorICAgICAgICB0ZWFyZG93bjogSW5zcGVjdG9yVGVzdC5F
dmVudEJyZWFrcG9pbnQudGVhcmRvd24sCisgICAgfSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2Fz
ZSh7CisgICAgICAgIG5hbWU6IGBET01EZWJ1Z2dlci5FdmVudC5JbnRlcnZhbC5SZW1vdmVEaXNh
YmxlZEJyZWFrcG9pbnRgLAorICAgICAgICBkZXNjcmlwdGlvbjogIkNoZWNrIHRoYXQgYSBkaXNh
YmxlZCBicmVha3BvaW50IGNhbiBiZSByZW1vdmVkLiIsCisgICAgICAgIHRlc3QocmVzb2x2ZSwg
cmVqZWN0KSB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5mYWls
T25QYXVzZShyZXNvbHZlLCByZWplY3QsIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5J
bnRlcnZhbCwgZXZlbnROYW1lLCAiU2hvdWxkIG5vdCBwYXVzZSBmb3IgcmVtb3ZlZCBkaXNhYmxl
ZCBicmVha3BvaW50LiIpOworCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtw
b2ludC5hZGRCcmVha3BvaW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxJbnRlcnZhbHNCcmVh
a3BvaW50KQorICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQu
ZGlzYWJsZUJyZWFrcG9pbnQpCisgICAgICAgICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2ZW50
QnJlYWtwb2ludC5yZW1vdmVCcmVha3BvaW50KQorICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9y
VGVzdC5FdmVudEJyZWFrcG9pbnQuYXdhaXRFdmVudCgid2luZG93IiwgZXZlbnROYW1lKSkKKyAg
ICAgICAgICAgIC5jYXRjaChyZWplY3QpOworICAgICAgICB9LAorICAgICAgICB0ZWFyZG93bjog
SW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQudGVhcmRvd24sCisgICAgfSk7CisKKyAgICBz
dWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6IGBET01EZWJ1Z2dlci5FdmVudC5JbnRl
cnZhbC5SZXBlYXRGaXJlQnJlYWtwb2ludGAsCisgICAgICAgIGRlc2NyaXB0aW9uOiAiQ2hlY2sg
dGhhdCBhIHNpbmdsZSBicmVha3BvaW50IHBhdXNlcyBtdWx0aXBsZSB0aW1lcyBmb3IgdGhlIHNh
bWUgaW50ZXJ2YWwuIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAgICAgICAg
ICAgIGxldCBwYXVzZUNvdW50ID0gMDsKKworICAgICAgICAgICAgbGV0IGxpc3RlbmVyID0gV0ku
ZGVidWdnZXJNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuRGVidWdnZXJNYW5hZ2VyLkV2ZW50
LlBhdXNlZCwgKGV2ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgKytwYXVzZUNvdW50OworCisg
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5wYXNzKCJTaG91bGQgcGF1c2UgYmVmb3JlIGV2
ZW50IGhhbmRsZXIgaXMgcnVuLiIpOworICAgICAgICAgICAgICAgIGxvZ0FjdGl2ZVN0YWNrVHJh
Y2UoKTsKKworICAgICAgICAgICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5yZXN1bWUoKQorICAg
ICAgICAgICAgICAgIC5jYXRjaChyZWplY3QpOworCisgICAgICAgICAgICAgICAgaWYgKHBhdXNl
Q291bnQgPj0gMikgeworICAgICAgICAgICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIucmVt
b3ZlRXZlbnRMaXN0ZW5lcihXSS5EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuUGF1c2VkLCBsaXN0ZW5l
cik7CisKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShg
cmVwZWF0Q2xlYXJJbnRlcnZhbCgpYCkKKyAgICAgICAgICAgICAgICAgICAgLnRoZW4ocmVzb2x2
ZSwgcmVqZWN0KQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pOworCisgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hZGRCcmVha3BvaW50KFdJLmRvbURl
YnVnZ2VyTWFuYWdlci5hbGxJbnRlcnZhbHNCcmVha3BvaW50KQorICAgICAgICAgICAgLnRoZW4o
KCkgPT4geworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJGaXJpbmcgXCJzZXRJ
bnRlcnZhbFwiIG9uIHdpbmRvdy4uLiIpOworICAgICAgICAgICAgICAgIHJldHVybiBJbnNwZWN0
b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGByZXBlYXRTZXRJbnRlcnZhbCgpYCk7CisgICAgICAgICAg
ICB9KQorICAgICAgICAgICAgLmNhdGNoKHJlamVjdCk7CisgICAgICAgIH0sCisgICAgICAgIHRl
YXJkb3duOiBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC50ZWFyZG93biwKKyAgICB9KTsK
KworICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOworfQorPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgPHA+VGVzdHMgZm9yIEV2ZW50IFRp
bWVyIGJyZWFrcG9pbnRzLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtbGlzdGVuZXItYnJlYWtwb2ludHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC1s
aXN0ZW5lci1icmVha3BvaW50cy1leHBlY3RlZC50eHQKaW5kZXggNzQzM2M5YWM3NDU5NDY1M2U4
ZDEyNGViOGZkYmYyMDk0OTg4ODc4Mi4uNzgxYjdjZDJkZDBhNTgwZWU5OTQ1Mzc5ZTQzYWI2OGFj
M2E1MGEyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9l
dmVudC1saXN0ZW5lci1icmVha3BvaW50cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC1saXN0ZW5lci1icmVha3BvaW50cy1leHBlY3Rl
ZC50eHQKQEAgLTMsNyArMyw4IEBAIFRlc3RzIGZvciBFdmVudCBMaXN0ZW5lciBicmVha3BvaW50
cy4KIAogPT0gUnVubmluZyB0ZXN0IHN1aXRlOiBET01EZWJ1Z2dlci5FdmVudC5MaXN0ZW5lcgog
LS0gUnVubmluZyB0ZXN0IGNhc2U6IERPTURlYnVnZ2VyLkV2ZW50Lkxpc3RlbmVyLkFkZEJyZWFr
cG9pbnQgImNsaWNrIgotQWRkaW5nICJjbGljayIgRXZlbnQgQnJlYWtwb2ludC4uLgorQ3JlYXRp
bmcgImNsaWNrIiBFdmVudCBCcmVha3BvaW50Li4uCitBZGRpbmcgImxpc3RlbmVyOmNsaWNrIiBF
dmVudCBCcmVha3BvaW50Li4uCiBGaXJpbmcgImNsaWNrIiBvbiBib2R5Li4uCiBQQVNTOiBTaG91
bGQgcGF1c2UgYmVmb3JlIGV2ZW50IGhhbmRsZXIgaXMgcnVuLgogQ0FMTCBTVEFDSzoKQEAgLTEz
LDI5ICsxNCwzMyBAQCBDQUxMIFNUQUNLOgogLS0gUnVubmluZyB0ZXN0IHRlYXJkb3duLgogCiAt
LSBSdW5uaW5nIHRlc3QgY2FzZTogRE9NRGVidWdnZXIuRXZlbnQuTGlzdGVuZXIuQWRkRGlzYWJs
ZWRCcmVha3BvaW50ICJjbGljayIKLUFkZGluZyAiY2xpY2siIEV2ZW50IEJyZWFrcG9pbnQuLi4K
LURpc2FibGluZyAiY2xpY2siIEV2ZW50IEJyZWFrcG9pbnQuLi4KK0NyZWF0aW5nICJjbGljayIg
RXZlbnQgQnJlYWtwb2ludC4uLgorQWRkaW5nICJsaXN0ZW5lcjpjbGljayIgRXZlbnQgQnJlYWtw
b2ludC4uLgorRGlzYWJsaW5nICJsaXN0ZW5lcjpjbGljayIgRXZlbnQgQnJlYWtwb2ludC4uLgog
RmlyaW5nICJjbGljayIgb24gYm9keS4uLgogUEFTUzogU2hvdWxkIG5vdCBwYXVzZSBmb3IgZGlz
YWJsZWQgYnJlYWtwb2ludC4KIC0tIFJ1bm5pbmcgdGVzdCB0ZWFyZG93bi4KIAogLS0gUnVubmlu
ZyB0ZXN0IGNhc2U6IERPTURlYnVnZ2VyLkV2ZW50Lkxpc3RlbmVyLlJlbW92ZUJyZWFrcG9pbnQg
ImNsaWNrIgotQWRkaW5nICJjbGljayIgRXZlbnQgQnJlYWtwb2ludC4uLgotUmVtb3ZpbmcgImNs
aWNrIiBFdmVudCBCcmVha3BvaW50Li4uCitDcmVhdGluZyAiY2xpY2siIEV2ZW50IEJyZWFrcG9p
bnQuLi4KK0FkZGluZyAibGlzdGVuZXI6Y2xpY2siIEV2ZW50IEJyZWFrcG9pbnQuLi4KK1JlbW92
aW5nICJsaXN0ZW5lcjpjbGljayIgRXZlbnQgQnJlYWtwb2ludC4uLgogRmlyaW5nICJjbGljayIg
b24gYm9keS4uLgogUEFTUzogU2hvdWxkIG5vdCBwYXVzZSBmb3IgcmVtb3ZlZCBicmVha3BvaW50
LgogLS0gUnVubmluZyB0ZXN0IHRlYXJkb3duLgogCiAtLSBSdW5uaW5nIHRlc3QgY2FzZTogRE9N
RGVidWdnZXIuRXZlbnQuTGlzdGVuZXIuUmVtb3ZlRGlzYWJsZWRCcmVha3BvaW50ICJjbGljayIK
LUFkZGluZyAiY2xpY2siIEV2ZW50IEJyZWFrcG9pbnQuLi4KLURpc2FibGluZyAiY2xpY2siIEV2
ZW50IEJyZWFrcG9pbnQuLi4KLVJlbW92aW5nICJjbGljayIgRXZlbnQgQnJlYWtwb2ludC4uLgor
Q3JlYXRpbmcgImNsaWNrIiBFdmVudCBCcmVha3BvaW50Li4uCitBZGRpbmcgImxpc3RlbmVyOmNs
aWNrIiBFdmVudCBCcmVha3BvaW50Li4uCitEaXNhYmxpbmcgImxpc3RlbmVyOmNsaWNrIiBFdmVu
dCBCcmVha3BvaW50Li4uCitSZW1vdmluZyAibGlzdGVuZXI6Y2xpY2siIEV2ZW50IEJyZWFrcG9p
bnQuLi4KIEZpcmluZyAiY2xpY2siIG9uIGJvZHkuLi4KIFBBU1M6IFNob3VsZCBub3QgcGF1c2Ug
Zm9yIHJlbW92ZWQgZGlzYWJsZWQgYnJlYWtwb2ludC4KIC0tIFJ1bm5pbmcgdGVzdCB0ZWFyZG93
bi4KIAogLS0gUnVubmluZyB0ZXN0IGNhc2U6IERPTURlYnVnZ2VyLkV2ZW50Lkxpc3RlbmVyLkFk
ZEJyZWFrcG9pbnQgImN1c3RvbSIKLUFkZGluZyAiY3VzdG9tIiBFdmVudCBCcmVha3BvaW50Li4u
CitDcmVhdGluZyAiY3VzdG9tIiBFdmVudCBCcmVha3BvaW50Li4uCitBZGRpbmcgImxpc3RlbmVy
OmN1c3RvbSIgRXZlbnQgQnJlYWtwb2ludC4uLgogRmlyaW5nICJjdXN0b20iIG9uIGJvZHkuLi4K
IFBBU1M6IFNob3VsZCBwYXVzZSBiZWZvcmUgZXZlbnQgaGFuZGxlciBpcyBydW4uCiBDQUxMIFNU
QUNLOgpAQCAtNDUsMjkgKzUwLDUwIEBAIENBTEwgU1RBQ0s6CiAtLSBSdW5uaW5nIHRlc3QgdGVh
cmRvd24uCiAKIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01EZWJ1Z2dlci5FdmVudC5MaXN0ZW5l
ci5BZGREaXNhYmxlZEJyZWFrcG9pbnQgImN1c3RvbSIKLUFkZGluZyAiY3VzdG9tIiBFdmVudCBC
cmVha3BvaW50Li4uCi1EaXNhYmxpbmcgImN1c3RvbSIgRXZlbnQgQnJlYWtwb2ludC4uLgorQ3Jl
YXRpbmcgImN1c3RvbSIgRXZlbnQgQnJlYWtwb2ludC4uLgorQWRkaW5nICJsaXN0ZW5lcjpjdXN0
b20iIEV2ZW50IEJyZWFrcG9pbnQuLi4KK0Rpc2FibGluZyAibGlzdGVuZXI6Y3VzdG9tIiBFdmVu
dCBCcmVha3BvaW50Li4uCiBGaXJpbmcgImN1c3RvbSIgb24gYm9keS4uLgogUEFTUzogU2hvdWxk
IG5vdCBwYXVzZSBmb3IgZGlzYWJsZWQgYnJlYWtwb2ludC4KIC0tIFJ1bm5pbmcgdGVzdCB0ZWFy
ZG93bi4KIAogLS0gUnVubmluZyB0ZXN0IGNhc2U6IERPTURlYnVnZ2VyLkV2ZW50Lkxpc3RlbmVy
LlJlbW92ZUJyZWFrcG9pbnQgImN1c3RvbSIKLUFkZGluZyAiY3VzdG9tIiBFdmVudCBCcmVha3Bv
aW50Li4uCi1SZW1vdmluZyAiY3VzdG9tIiBFdmVudCBCcmVha3BvaW50Li4uCitDcmVhdGluZyAi
Y3VzdG9tIiBFdmVudCBCcmVha3BvaW50Li4uCitBZGRpbmcgImxpc3RlbmVyOmN1c3RvbSIgRXZl
bnQgQnJlYWtwb2ludC4uLgorUmVtb3ZpbmcgImxpc3RlbmVyOmN1c3RvbSIgRXZlbnQgQnJlYWtw
b2ludC4uLgogRmlyaW5nICJjdXN0b20iIG9uIGJvZHkuLi4KIFBBU1M6IFNob3VsZCBub3QgcGF1
c2UgZm9yIHJlbW92ZWQgYnJlYWtwb2ludC4KIC0tIFJ1bm5pbmcgdGVzdCB0ZWFyZG93bi4KIAog
LS0gUnVubmluZyB0ZXN0IGNhc2U6IERPTURlYnVnZ2VyLkV2ZW50Lkxpc3RlbmVyLlJlbW92ZURp
c2FibGVkQnJlYWtwb2ludCAiY3VzdG9tIgotQWRkaW5nICJjdXN0b20iIEV2ZW50IEJyZWFrcG9p
bnQuLi4KLURpc2FibGluZyAiY3VzdG9tIiBFdmVudCBCcmVha3BvaW50Li4uCi1SZW1vdmluZyAi
Y3VzdG9tIiBFdmVudCBCcmVha3BvaW50Li4uCitDcmVhdGluZyAiY3VzdG9tIiBFdmVudCBCcmVh
a3BvaW50Li4uCitBZGRpbmcgImxpc3RlbmVyOmN1c3RvbSIgRXZlbnQgQnJlYWtwb2ludC4uLgor
RGlzYWJsaW5nICJsaXN0ZW5lcjpjdXN0b20iIEV2ZW50IEJyZWFrcG9pbnQuLi4KK1JlbW92aW5n
ICJsaXN0ZW5lcjpjdXN0b20iIEV2ZW50IEJyZWFrcG9pbnQuLi4KIEZpcmluZyAiY3VzdG9tIiBv
biBib2R5Li4uCiBQQVNTOiBTaG91bGQgbm90IHBhdXNlIGZvciByZW1vdmVkIGRpc2FibGVkIGJy
ZWFrcG9pbnQuCiAtLSBSdW5uaW5nIHRlc3QgdGVhcmRvd24uCiAKKy0tIFJ1bm5pbmcgdGVzdCBj
YXNlOiBET01EZWJ1Z2dlci5FdmVudC5MaXN0ZW5lci5BbGxFdmVudHNCcmVha3BvaW50CitBZGRp
bmcgImxpc3RlbmVyIiBFdmVudCBCcmVha3BvaW50Li4uCitGaXJpbmcgImNsaWNrIiBvbiBib2R5
Li4uCitQQVNTOiBTaG91bGQgcGF1c2UgYmVmb3JlIGV2ZW50IGhhbmRsZXIgaXMgcnVuLgorQ0FM
TCBTVEFDSzoKKzA6IFtGXSBoYW5kbGVCb2R5X2NsaWNrCisxOiBbRl0gdHJpZ2dlcl9jbGljawor
MjogW1BdIEdsb2JhbCBDb2RlCitGaXJpbmcgImN1c3RvbSIgb24gYm9keS4uLgorUEFTUzogU2hv
dWxkIHBhdXNlIGJlZm9yZSBldmVudCBoYW5kbGVyIGlzIHJ1bi4KK0NBTEwgU1RBQ0s6CiswOiBb
Rl0gaGFuZGxlQm9keV9jdXN0b20KKzE6IFtGXSB0cmlnZ2VyX2N1c3RvbQorMjogW1BdIEdsb2Jh
bCBDb2RlCitQQVNTOiBTaG91bGQgaGF2ZSBwYXVzZWQgdHdpY2UuCistLSBSdW5uaW5nIHRlc3Qg
dGVhcmRvd24uCisKIC0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01EZWJ1Z2dlci5FdmVudC5MaXN0
ZW5lci5BZGRNdWx0aXBsZUJyZWFrcG9pbnRzCi1BZGRpbmcgImNsaWNrIiBFdmVudCBCcmVha3Bv
aW50Li4uCitDcmVhdGluZyAiY2xpY2siIEV2ZW50IEJyZWFrcG9pbnQuLi4KK0FkZGluZyAibGlz
dGVuZXI6Y2xpY2siIEV2ZW50IEJyZWFrcG9pbnQuLi4KIEZpcmluZyAiY2xpY2siIG9uIGRpdiN4
Li4uCiBQQVNTOiBTaG91bGQgcGF1c2UgYmVmb3JlIGV2ZW50IGhhbmRsZXIgaXMgcnVuLgogQ0FM
TCBTVEFDSzoKQEAgLTgzLDcgKzEwOSw4IEBAIFBBU1M6IFNob3VsZCBoYXZlIHBhdXNlZCB0d2lj
ZS4KIC0tIFJ1bm5pbmcgdGVzdCB0ZWFyZG93bi4KIAogLS0gUnVubmluZyB0ZXN0IGNhc2U6IERP
TURlYnVnZ2VyLkV2ZW50Lkxpc3RlbmVyLkRpc2FibGVCZXR3ZWVuRGlzcGF0Y2hlcwotQWRkaW5n
ICJjbGljayIgRXZlbnQgQnJlYWtwb2ludC4uLgorQ3JlYXRpbmcgImNsaWNrIiBFdmVudCBCcmVh
a3BvaW50Li4uCitBZGRpbmcgImxpc3RlbmVyOmNsaWNrIiBFdmVudCBCcmVha3BvaW50Li4uCiBG
aXJpbmcgImNsaWNrIiBvbiBkaXYjeC4uLgogUEFTUzogU2hvdWxkIHBhdXNlIGJlZm9yZSBldmVu
dCBoYW5kbGVyIGlzIHJ1bi4KIENBTEwgU1RBQ0s6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWxpc3RlbmVyLWJyZWFrcG9pbnRzLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LWxpc3RlbmVyLWJyZWFrcG9p
bnRzLmh0bWwKaW5kZXggY2RlZDllNDFiOGU0N2QzOTBkZmM4ZjIzZmYxYzBlOGNiNzE4NTVhYy4u
ZmJiNDk4MDhlZmU5NzhjYjU1ZDQ2MTQzOWVlMGViYjhkYTdiYjU3MSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC1saXN0ZW5lci1icmVha3BvaW50
cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtbGlz
dGVuZXItYnJlYWtwb2ludHMuaHRtbApAQCAtNTgsNyArNTgsNyBAQCBmdW5jdGlvbiB0ZXN0KCkg
ewogICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7CiAgICAgICAgICAgICAgICAgfSk7CiAK
LSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hZGRCcmVha3Bv
aW50KFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkxpc3RlbmVyLCBldmVudE5hbWUpCisgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuY3JlYXRlQnJlYWtwb2ludChX
SS5FdmVudEJyZWFrcG9pbnQuVHlwZS5MaXN0ZW5lciwgZXZlbnROYW1lKQogICAgICAgICAgICAg
ICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmF3YWl0RXZlbnQoImJvZHki
LCBldmVudE5hbWUpKQogICAgICAgICAgICAgICAgIC5jYXRjaChyZWplY3QpOwogICAgICAgICAg
ICAgfSwKQEAgLTY5LDkgKzY5LDkgQEAgZnVuY3Rpb24gdGVzdCgpIHsKICAgICAgICAgICAgIG5h
bWU6IGBET01EZWJ1Z2dlci5FdmVudC5MaXN0ZW5lci5BZGREaXNhYmxlZEJyZWFrcG9pbnQgIiR7
ZXZlbnROYW1lfSJgLAogICAgICAgICAgICAgZGVzY3JpcHRpb246ICJDaGVjayB0aGF0IGRlYnVn
Z2VyIGRvZXMgbm90IHBhdXNlIGZvciBkaXNhYmxlZCBicmVha3BvaW50cy4iLAogICAgICAgICAg
ICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LkV2ZW50QnJlYWtwb2ludC5mYWlsT25QYXVzZShyZXNvbHZlLCByZWplY3QsIFdJLkRlYnVnZ2Vy
TWFuYWdlci5QYXVzZVJlYXNvbi5FdmVudExpc3RlbmVyLCBldmVudE5hbWUsICJTaG91bGQgbm90
IHBhdXNlIGZvciBkaXNhYmxlZCBicmVha3BvaW50LiIpOworICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmZhaWxPblBhdXNlKHJlc29sdmUsIHJlamVjdCwgV0ku
RGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVhc29uLkxpc3RlbmVyLCBldmVudE5hbWUsICJTaG91bGQg
bm90IHBhdXNlIGZvciBkaXNhYmxlZCBicmVha3BvaW50LiIpOwogCi0gICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYWRkQnJlYWtwb2ludChXSS5FdmVudEJyZWFr
cG9pbnQuVHlwZS5MaXN0ZW5lciwgZXZlbnROYW1lKQorICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuRXZlbnRCcmVha3BvaW50LmNyZWF0ZUJyZWFrcG9pbnQoV0kuRXZlbnRCcmVha3BvaW50
LlR5cGUuTGlzdGVuZXIsIGV2ZW50TmFtZSkKICAgICAgICAgICAgICAgICAudGhlbihJbnNwZWN0
b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5kaXNhYmxlQnJlYWtwb2ludCkKICAgICAgICAgICAgICAg
ICAudGhlbihJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hd2FpdEV2ZW50KCJib2R5Iiwg
ZXZlbnROYW1lKSkKICAgICAgICAgICAgICAgICAuY2F0Y2gocmVqZWN0KTsKQEAgLTgzLDkgKzgz
LDkgQEAgZnVuY3Rpb24gdGVzdCgpIHsKICAgICAgICAgICAgIG5hbWU6IGBET01EZWJ1Z2dlci5F
dmVudC5MaXN0ZW5lci5SZW1vdmVCcmVha3BvaW50ICIke2V2ZW50TmFtZX0iYCwKICAgICAgICAg
ICAgIGRlc2NyaXB0aW9uOiAiQ2hlY2sgdGhhdCBkZWJ1Z2dlciBkb2VzIG5vdCBwYXVzZSBmb3Ig
cmVtb3ZlZCBicmVha3BvaW50LiIsCiAgICAgICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkg
ewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmZhaWxPblBh
dXNlKHJlc29sdmUsIHJlamVjdCwgV0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVhc29uLkV2ZW50
TGlzdGVuZXIsIGV2ZW50TmFtZSwgIlNob3VsZCBub3QgcGF1c2UgZm9yIHJlbW92ZWQgYnJlYWtw
b2ludC4iKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5m
YWlsT25QYXVzZShyZXNvbHZlLCByZWplY3QsIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNv
bi5MaXN0ZW5lciwgZXZlbnROYW1lLCAiU2hvdWxkIG5vdCBwYXVzZSBmb3IgcmVtb3ZlZCBicmVh
a3BvaW50LiIpOwogCi0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9p
bnQuYWRkQnJlYWtwb2ludChXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5MaXN0ZW5lciwgZXZlbnRO
YW1lKQorICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmNyZWF0
ZUJyZWFrcG9pbnQoV0kuRXZlbnRCcmVha3BvaW50LlR5cGUuTGlzdGVuZXIsIGV2ZW50TmFtZSkK
ICAgICAgICAgICAgICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5yZW1v
dmVCcmVha3BvaW50KQogICAgICAgICAgICAgICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRC
cmVha3BvaW50LmF3YWl0RXZlbnQoImJvZHkiLCBldmVudE5hbWUpKQogICAgICAgICAgICAgICAg
IC5jYXRjaChyZWplY3QpOwpAQCAtOTcsOSArOTcsOSBAQCBmdW5jdGlvbiB0ZXN0KCkgewogICAg
ICAgICAgICAgbmFtZTogYERPTURlYnVnZ2VyLkV2ZW50Lkxpc3RlbmVyLlJlbW92ZURpc2FibGVk
QnJlYWtwb2ludCAiJHtldmVudE5hbWV9ImAsCiAgICAgICAgICAgICBkZXNjcmlwdGlvbjogIkNo
ZWNrIHRoYXQgYSBkaXNhYmxlZCBicmVha3BvaW50IGNhbiBiZSByZW1vdmVkLiIsCiAgICAgICAg
ICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuRXZlbnRCcmVha3BvaW50LmZhaWxPblBhdXNlKHJlc29sdmUsIHJlamVjdCwgV0kuRGVidWdn
ZXJNYW5hZ2VyLlBhdXNlUmVhc29uLkV2ZW50TGlzdGVuZXIsIGV2ZW50TmFtZSwgIlNob3VsZCBu
b3QgcGF1c2UgZm9yIHJlbW92ZWQgZGlzYWJsZWQgYnJlYWtwb2ludC4iKTsKKyAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5mYWlsT25QYXVzZShyZXNvbHZlLCBy
ZWplY3QsIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5MaXN0ZW5lciwgZXZlbnROYW1l
LCAiU2hvdWxkIG5vdCBwYXVzZSBmb3IgcmVtb3ZlZCBkaXNhYmxlZCBicmVha3BvaW50LiIpOwog
Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYWRkQnJlYWtw
b2ludChXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5MaXN0ZW5lciwgZXZlbnROYW1lKQorICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmNyZWF0ZUJyZWFrcG9pbnQo
V0kuRXZlbnRCcmVha3BvaW50LlR5cGUuTGlzdGVuZXIsIGV2ZW50TmFtZSkKICAgICAgICAgICAg
ICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5kaXNhYmxlQnJlYWtwb2lu
dCkKICAgICAgICAgICAgICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5y
ZW1vdmVCcmVha3BvaW50KQogICAgICAgICAgICAgICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZl
bnRCcmVha3BvaW50LmF3YWl0RXZlbnQoImJvZHkiLCBldmVudE5hbWUpKQpAQCAtMTEyLDYgKzEx
Miw0MiBAQCBmdW5jdGlvbiB0ZXN0KCkgewogICAgIGFkZFRlc3RDYXNlc0ZvckV2ZW50TmFtZSgi
Y2xpY2siKTsKICAgICBhZGRUZXN0Q2FzZXNGb3JFdmVudE5hbWUoImN1c3RvbSIpOwogCisgICAg
c3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiBgRE9NRGVidWdnZXIuRXZlbnQuTGlz
dGVuZXIuQWxsRXZlbnRzQnJlYWtwb2ludGAsCisgICAgICAgIGRlc2NyaXB0aW9uOiAiQ2hlY2sg
dGhhdCB0aGUgYWxsIGV2ZW50cyBicmVha3BvaW50IHBhdXNlcyBmb3IgZXZlcnkgZXZlbnQuIiwK
KyAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAgICAgICAgICAgIGxldCBwYXVzZUNv
dW50ID0gMDsKKworICAgICAgICAgICAgbGV0IGxpc3RlbmVyID0gV0kuZGVidWdnZXJNYW5hZ2Vy
LmFkZEV2ZW50TGlzdGVuZXIoV0kuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCwgKGV2ZW50
KSA9PiB7CisgICAgICAgICAgICAgICAgKytwYXVzZUNvdW50OworCisgICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5wYXNzKCJTaG91bGQgcGF1c2UgYmVmb3JlIGV2ZW50IGhhbmRsZXIgaXMg
cnVuLiIpOworICAgICAgICAgICAgICAgIGxvZ0FjdGl2ZVN0YWNrVHJhY2UoKTsKKworICAgICAg
ICAgICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5yZXN1bWUoKQorICAgICAgICAgICAgICAgIC5j
YXRjaChyZWplY3QpOworICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuRXZlbnRCcmVha3BvaW50LmFkZEJyZWFrcG9pbnQoV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFs
bExpc3RlbmVyc0JyZWFrcG9pbnQpCisgICAgICAgICAgICAudGhlbigoKSA9PiB7CisgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkZpcmluZyBcImNsaWNrXCIgb24gYm9keS4uLiIp
OworICAgICAgICAgICAgICAgIHJldHVybiBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGB0
cmlnZ2VyX2NsaWNrKClgKTsKKyAgICAgICAgICAgIH0pCisgICAgICAgICAgICAudGhlbigoKSA9
PiB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkZpcmluZyBcImN1c3RvbVwi
IG9uIGJvZHkuLi4iKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gSW5zcGVjdG9yVGVzdC5ldmFs
dWF0ZUluUGFnZShgdHJpZ2dlcl9jdXN0b20oKWApOworICAgICAgICAgICAgfSkKKyAgICAgICAg
ICAgIC50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVx
dWFsKHBhdXNlQ291bnQsIDIsICJTaG91bGQgaGF2ZSBwYXVzZWQgdHdpY2UuIik7CisgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoIVdJLmRlYnVnZ2VyTWFuYWdlci5wYXVzZWQs
ICJTaG91bGQgbm90IGJlIHBhdXNlZC4iKTsKKworICAgICAgICAgICAgICAgIFdJLmRlYnVnZ2Vy
TWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkRlYnVnZ2VyTWFuYWdlci5FdmVudC5QYXVz
ZWQsIGxpc3RlbmVyKTsKKyAgICAgICAgICAgIH0pCisgICAgICAgICAgICAudGhlbihyZXNvbHZl
LCByZWplY3QpOworICAgICAgICB9LAorICAgICAgICB0ZWFyZG93bjogSW5zcGVjdG9yVGVzdC5F
dmVudEJyZWFrcG9pbnQudGVhcmRvd24sCisgICAgfSk7CisKICAgICBzdWl0ZS5hZGRUZXN0Q2Fz
ZSh7CiAgICAgICAgIG5hbWU6IGBET01EZWJ1Z2dlci5FdmVudC5MaXN0ZW5lci5BZGRNdWx0aXBs
ZUJyZWFrcG9pbnRzYCwKICAgICAgICAgZGVzY3JpcHRpb246ICJDaGVjayB0aGF0IGEgc2luZ2xl
IGJyZWFrcG9pbnQgcGF1c2VzIGZvciBldmVyeSBldmVudCBvZiB0aGF0IHR5cGUuIiwKQEAgLTEz
Nyw3ICsxNzMsNyBAQCBmdW5jdGlvbiB0ZXN0KCkgewogICAgICAgICAgICAgICAgIHJlc29sdmUo
KTsKICAgICAgICAgICAgIH0pOwogCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJl
YWtwb2ludC5hZGRCcmVha3BvaW50KFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkxpc3RlbmVyLCAi
Y2xpY2siKQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuY3JlYXRl
QnJlYWtwb2ludChXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5MaXN0ZW5lciwgImNsaWNrIikKICAg
ICAgICAgICAgIC50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0Lmxv
ZygiRmlyaW5nIFwiY2xpY2tcIiBvbiBkaXYjeC4uLiIpOwogICAgICAgICAgICAgICAgIHJldHVy
biBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBjbGlja1goKWApOwpAQCAtMTc1LDcgKzIx
MSw3IEBAIGZ1bmN0aW9uIHRlc3QoKSB7CiAgICAgICAgICAgICAgICAgLnRoZW4ocmVzb2x2ZSwg
cmVqZWN0KTsKICAgICAgICAgICAgIH0pOwogCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LkV2
ZW50QnJlYWtwb2ludC5hZGRCcmVha3BvaW50KFdJLkV2ZW50QnJlYWtwb2ludC5UeXBlLkxpc3Rl
bmVyLCAiY2xpY2siKQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQu
Y3JlYXRlQnJlYWtwb2ludChXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5MaXN0ZW5lciwgImNsaWNr
IikKICAgICAgICAgICAgIC50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmxvZygiRmlyaW5nIFwiY2xpY2tcIiBvbiBkaXYjeC4uLiIpOwogICAgICAgICAgICAgICAg
IHJldHVybiBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBjbGlja1goKWApOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC10aW1lb3V0LWJy
ZWFrcG9pbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdn
ZXIvZXZlbnQtdGltZW91dC1icmVha3BvaW50cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2E1
ZDAxMGRlZWM5YWE0OWNiYmI0MWI0ZTRlYTNmY2I0OGQzYTdkYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtdGltZW91dC1icmVha3Bv
aW50cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzOCBAQAorVGVzdHMgZm9yIEV2ZW50IFRpbWVy
IGJyZWFrcG9pbnRzLgorCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogRE9NRGVidWdnZXIuRXZl
bnQuVGltZXIKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01EZWJ1Z2dlci5FdmVudC5UaW1lb3V0
LkFkZEJyZWFrcG9pbnQKK0FkZGluZyAidGltZW91dCIgRXZlbnQgQnJlYWtwb2ludC4uLgorRmly
aW5nICJzZXRUaW1lb3V0IiBvbiB3aW5kb3cuLi4KK1BBU1M6IFNob3VsZCBwYXVzZSBiZWZvcmUg
ZXZlbnQgaGFuZGxlciBpcyBydW4uCitDQUxMIFNUQUNLOgorMDogW0ZdIGhhbmRsZVdpbmRvd19z
ZXRUaW1lb3V0CitBU1lOQyBDQUxMIFNUQUNLOgorMTogLS0tIHNldFRpbWVvdXQgLS0tCisyOiBb
Rl0gdHJpZ2dlcl9zZXRUaW1lb3V0CiszOiBbUF0gR2xvYmFsIENvZGUKKy0tIFJ1bm5pbmcgdGVz
dCB0ZWFyZG93bi4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IERPTURlYnVnZ2VyLkV2ZW50LlRp
bWVvdXQuQWRkRGlzYWJsZWRCcmVha3BvaW50CitBZGRpbmcgInRpbWVvdXQiIEV2ZW50IEJyZWFr
cG9pbnQuLi4KK0Rpc2FibGluZyAidGltZW91dCIgRXZlbnQgQnJlYWtwb2ludC4uLgorRmlyaW5n
ICJzZXRUaW1lb3V0IiBvbiB3aW5kb3cuLi4KK1BBU1M6IFNob3VsZCBub3QgcGF1c2UgZm9yIGRp
c2FibGVkIGJyZWFrcG9pbnQuCistLSBSdW5uaW5nIHRlc3QgdGVhcmRvd24uCisKKy0tIFJ1bm5p
bmcgdGVzdCBjYXNlOiBET01EZWJ1Z2dlci5FdmVudC5UaW1lb3V0LlJlbW92ZUJyZWFrcG9pbnQK
K0FkZGluZyAidGltZW91dCIgRXZlbnQgQnJlYWtwb2ludC4uLgorUmVtb3ZpbmcgInRpbWVvdXQi
IEV2ZW50IEJyZWFrcG9pbnQuLi4KK0ZpcmluZyAic2V0VGltZW91dCIgb24gd2luZG93Li4uCitQ
QVNTOiBTaG91bGQgbm90IHBhdXNlIGZvciByZW1vdmVkIGJyZWFrcG9pbnQuCistLSBSdW5uaW5n
IHRlc3QgdGVhcmRvd24uCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01EZWJ1Z2dlci5FdmVu
dC5UaW1lb3V0LlJlbW92ZURpc2FibGVkQnJlYWtwb2ludAorQWRkaW5nICJ0aW1lb3V0IiBFdmVu
dCBCcmVha3BvaW50Li4uCitEaXNhYmxpbmcgInRpbWVvdXQiIEV2ZW50IEJyZWFrcG9pbnQuLi4K
K1JlbW92aW5nICJ0aW1lb3V0IiBFdmVudCBCcmVha3BvaW50Li4uCitGaXJpbmcgInNldFRpbWVv
dXQiIG9uIHdpbmRvdy4uLgorUEFTUzogU2hvdWxkIG5vdCBwYXVzZSBmb3IgcmVtb3ZlZCBkaXNh
YmxlZCBicmVha3BvaW50LgorLS0gUnVubmluZyB0ZXN0IHRlYXJkb3duLgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LXRpbWVvdXQtYnJlYWtw
b2ludHMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtdGlt
ZW91dC1icmVha3BvaW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0MWVjZDY5ZWNiN2QxMzg0ZDA3N2I5
NTBjYzEwMDU3YWU0MTAwOTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZG9tLWRlYnVnZ2VyL2V2ZW50LXRpbWVvdXQtYnJlYWtwb2ludHMuaHRtbApAQCAtMCwwICsx
LDEwNSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vZGVidWdnZXIvcmVzb3VyY2VzL2xvZy1hY3RpdmUtc3Rh
Y2stdHJhY2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9ldmVudC1icmVh
a3BvaW50LXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBoYW5k
bGVXaW5kb3dfc2V0VGltZW91dCgpIHsKKyAgICBUZXN0UGFnZS5kaXNwYXRjaEV2ZW50VG9Gcm9u
dGVuZCgiVGVzdFBhZ2Utc2V0VGltZW91dCIpOworfQorCitmdW5jdGlvbiB0cmlnZ2VyX3NldFRp
bWVvdXQoKSB7CisgICAgc2V0VGltZW91dChoYW5kbGVXaW5kb3dfc2V0VGltZW91dCwgMTAwKTsK
K30KKworZnVuY3Rpb24gdGVzdCgpIHsKKyAgICBjb25zdCBldmVudE5hbWUgPSAic2V0VGltZW91
dCI7CisKKyAgICBsZXQgc3VpdGUgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZUFzeW5jU3VpdGUoIkRP
TURlYnVnZ2VyLkV2ZW50LlRpbWVyIik7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAg
ICAgIG5hbWU6IGBET01EZWJ1Z2dlci5FdmVudC5UaW1lb3V0LkFkZEJyZWFrcG9pbnRgLAorICAg
ICAgICBkZXNjcmlwdGlvbjogIkNoZWNrIHRoYXQgdGhlIGRlYnVnZ2VyIHBhdXNlcyBmb3IgZW5h
YmxlZCBicmVha3BvaW50cy4iLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAg
ICAgICAgICAgbGV0IHBhdXNlZCA9IGZhbHNlOworCisgICAgICAgICAgICBsZXQgbGlzdGVuZXIg
PSBXSS5kZWJ1Z2dlck1hbmFnZXIuc2luZ2xlRmlyZUV2ZW50TGlzdGVuZXIoV0kuRGVidWdnZXJN
YW5hZ2VyLkV2ZW50LlBhdXNlZCwgKGV2ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgcGF1c2Vk
ID0gdHJ1ZTsKKworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QucGFzcygiU2hvdWxkIHBh
dXNlIGJlZm9yZSBldmVudCBoYW5kbGVyIGlzIHJ1bi4iKTsKKyAgICAgICAgICAgICAgICBsb2dB
Y3RpdmVTdGFja1RyYWNlKCk7CisKKyAgICAgICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIu
cmVzdW1lKCkKKyAgICAgICAgICAgICAgICAuY2F0Y2gocmVqZWN0KTsKKyAgICAgICAgICAgIH0p
OworCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNpbmdsZUZpcmVFdmVudExpc3RlbmVyKGBU
ZXN0UGFnZS0ke2V2ZW50TmFtZX1gLCAoZXZlbnQpID0+IHsKKyAgICAgICAgICAgICAgICBpZiAo
IXBhdXNlZCkgeworICAgICAgICAgICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIucmVtb3Zl
RXZlbnRMaXN0ZW5lcihXSS5EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuUGF1c2VkLCBsaXN0ZW5lcik7
CisKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5mYWlsKCJTaG91bGQgcGF1c2Ug
YmVmb3JlIGV2ZW50IGhhbmRsZXIgaXMgcnVuLiIpOworICAgICAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hZGRCcmVha3BvaW50KFdJLmRvbURlYnVnZ2Vy
TWFuYWdlci5hbGxUaW1lb3V0c0JyZWFrcG9pbnQpCisgICAgICAgICAgICAudGhlbihJbnNwZWN0
b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hd2FpdEV2ZW50KCJ3aW5kb3ciLCBldmVudE5hbWUpKQor
ICAgICAgICAgICAgLmNhdGNoKHJlamVjdCk7CisgICAgICAgIH0sCisgICAgICAgIHRlYXJkb3du
OiBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC50ZWFyZG93biwKKyAgICB9KTsKKworICAg
IHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogYERPTURlYnVnZ2VyLkV2ZW50LlRp
bWVvdXQuQWRkRGlzYWJsZWRCcmVha3BvaW50YCwKKyAgICAgICAgZGVzY3JpcHRpb246ICJDaGVj
ayB0aGF0IGRlYnVnZ2VyIGRvZXMgbm90IHBhdXNlIGZvciBkaXNhYmxlZCBicmVha3BvaW50cy4i
LAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5FdmVudEJyZWFrcG9pbnQuZmFpbE9uUGF1c2UocmVzb2x2ZSwgcmVqZWN0LCBXSS5EZWJ1
Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uVGltZW91dCwgZXZlbnROYW1lLCAiU2hvdWxkIG5vdCBw
YXVzZSBmb3IgZGlzYWJsZWQgYnJlYWtwb2ludC4iKTsKKworICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5FdmVudEJyZWFrcG9pbnQuYWRkQnJlYWtwb2ludChXSS5kb21EZWJ1Z2dlck1hbmFnZXIu
YWxsVGltZW91dHNCcmVha3BvaW50KQorICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5F
dmVudEJyZWFrcG9pbnQuZGlzYWJsZUJyZWFrcG9pbnQpCisgICAgICAgICAgICAudGhlbihJbnNw
ZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hd2FpdEV2ZW50KCJ3aW5kb3ciLCBldmVudE5hbWUp
KQorICAgICAgICAgICAgLmNhdGNoKHJlamVjdCk7CisgICAgICAgIH0sCisgICAgICAgIHRlYXJk
b3duOiBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC50ZWFyZG93biwKKyAgICB9KTsKKwor
ICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogYERPTURlYnVnZ2VyLkV2ZW50
LlRpbWVvdXQuUmVtb3ZlQnJlYWtwb2ludGAsCisgICAgICAgIGRlc2NyaXB0aW9uOiAiQ2hlY2sg
dGhhdCBkZWJ1Z2dlciBkb2VzIG5vdCBwYXVzZSBmb3IgcmVtb3ZlZCBicmVha3BvaW50LiIsCisg
ICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LkV2ZW50QnJlYWtwb2ludC5mYWlsT25QYXVzZShyZXNvbHZlLCByZWplY3QsIFdJLkRlYnVnZ2Vy
TWFuYWdlci5QYXVzZVJlYXNvbi5UaW1lb3V0LCBldmVudE5hbWUsICJTaG91bGQgbm90IHBhdXNl
IGZvciByZW1vdmVkIGJyZWFrcG9pbnQuIik7CisKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
RXZlbnRCcmVha3BvaW50LmFkZEJyZWFrcG9pbnQoV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmFsbFRp
bWVvdXRzQnJlYWtwb2ludCkKKyAgICAgICAgICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRC
cmVha3BvaW50LnJlbW92ZUJyZWFrcG9pbnQpCisgICAgICAgICAgICAudGhlbihJbnNwZWN0b3JU
ZXN0LkV2ZW50QnJlYWtwb2ludC5hd2FpdEV2ZW50KCJ3aW5kb3ciLCBldmVudE5hbWUpKQorICAg
ICAgICAgICAgLmNhdGNoKHJlamVjdCk7CisgICAgICAgIH0sCisgICAgICAgIHRlYXJkb3duOiBJ
bnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC50ZWFyZG93biwKKyAgICB9KTsKKworICAgIHN1
aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogYERPTURlYnVnZ2VyLkV2ZW50LlRpbWVv
dXQuUmVtb3ZlRGlzYWJsZWRCcmVha3BvaW50YCwKKyAgICAgICAgZGVzY3JpcHRpb246ICJDaGVj
ayB0aGF0IGEgZGlzYWJsZWQgYnJlYWtwb2ludCBjYW4gYmUgcmVtb3ZlZC4iLAorICAgICAgICB0
ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJy
ZWFrcG9pbnQuZmFpbE9uUGF1c2UocmVzb2x2ZSwgcmVqZWN0LCBXSS5EZWJ1Z2dlck1hbmFnZXIu
UGF1c2VSZWFzb24uVGltZW91dCwgZXZlbnROYW1lLCAiU2hvdWxkIG5vdCBwYXVzZSBmb3IgcmVt
b3ZlZCBkaXNhYmxlZCBicmVha3BvaW50LiIpOworCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LkV2ZW50QnJlYWtwb2ludC5hZGRCcmVha3BvaW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxU
aW1lb3V0c0JyZWFrcG9pbnQpCisgICAgICAgICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2ZW50
QnJlYWtwb2ludC5kaXNhYmxlQnJlYWtwb2ludCkKKyAgICAgICAgICAgIC50aGVuKEluc3BlY3Rv
clRlc3QuRXZlbnRCcmVha3BvaW50LnJlbW92ZUJyZWFrcG9pbnQpCisgICAgICAgICAgICAudGhl
bihJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hd2FpdEV2ZW50KCJ3aW5kb3ciLCBldmVu
dE5hbWUpKQorICAgICAgICAgICAgLmNhdGNoKHJlamVjdCk7CisgICAgICAgIH0sCisgICAgICAg
IHRlYXJkb3duOiBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC50ZWFyZG93biwKKyAgICB9
KTsKKworICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOworfQorPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgPHA+VGVzdHMgZm9yIEV2ZW50
IFRpbWVyIGJyZWFrcG9pbnRzLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtdGltZXItYnJlYWtwb2ludHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9ldmVudC10
aW1lci1icmVha3BvaW50cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDc4ZGM0MTMyNzYwMTUwNDFjMGM1ZDA1YWM5MTMxMjNmNjMxZDJhYmYuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2RvbS1kZWJ1Z2dlci9ldmVudC10aW1lci1icmVha3BvaW50cy1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSw5MSArMCwwIEBACi1UZXN0cyBmb3IgRXZlbnQgVGltZXIgYnJlYWtwb2lu
dHMuCi0KLQotPT0gUnVubmluZyB0ZXN0IHN1aXRlOiBET01EZWJ1Z2dlci5FdmVudC5UaW1lcgot
LS0gUnVubmluZyB0ZXN0IGNhc2U6IERPTURlYnVnZ2VyLkV2ZW50LlRpbWVyLkFkZEJyZWFrcG9p
bnQgInNldFRpbWVvdXQiCi1BZGRpbmcgInNldFRpbWVvdXQiIEV2ZW50IEJyZWFrcG9pbnQuLi4K
LUZpcmluZyAic2V0VGltZW91dCIgb24gd2luZG93Li4uCi1QQVNTOiBTaG91bGQgcGF1c2UgYmVm
b3JlIGV2ZW50IGhhbmRsZXIgaXMgcnVuLgotQ0FMTCBTVEFDSzoKLTA6IFtGXSBoYW5kbGVXaW5k
b3dfc2V0VGltZW91dAotQVNZTkMgQ0FMTCBTVEFDSzoKLTE6IC0tLSBzZXRUaW1lb3V0IC0tLQot
MjogW0ZdIHRyaWdnZXJfc2V0VGltZW91dAotMzogW1BdIEdsb2JhbCBDb2RlCi0tLSBSdW5uaW5n
IHRlc3QgdGVhcmRvd24uCi0KLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01EZWJ1Z2dlci5FdmVu
dC5UaW1lci5BZGREaXNhYmxlZEJyZWFrcG9pbnQgInNldFRpbWVvdXQiCi1BZGRpbmcgInNldFRp
bWVvdXQiIEV2ZW50IEJyZWFrcG9pbnQuLi4KLURpc2FibGluZyAic2V0VGltZW91dCIgRXZlbnQg
QnJlYWtwb2ludC4uLgotRmlyaW5nICJzZXRUaW1lb3V0IiBvbiB3aW5kb3cuLi4KLVBBU1M6IFNo
b3VsZCBub3QgcGF1c2UgZm9yIGRpc2FibGVkIGJyZWFrcG9pbnQuCi0tLSBSdW5uaW5nIHRlc3Qg
dGVhcmRvd24uCi0KLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01EZWJ1Z2dlci5FdmVudC5UaW1l
ci5SZW1vdmVCcmVha3BvaW50ICJzZXRUaW1lb3V0IgotQWRkaW5nICJzZXRUaW1lb3V0IiBFdmVu
dCBCcmVha3BvaW50Li4uCi1SZW1vdmluZyAic2V0VGltZW91dCIgRXZlbnQgQnJlYWtwb2ludC4u
LgotRmlyaW5nICJzZXRUaW1lb3V0IiBvbiB3aW5kb3cuLi4KLVBBU1M6IFNob3VsZCBub3QgcGF1
c2UgZm9yIHJlbW92ZWQgYnJlYWtwb2ludC4KLS0tIFJ1bm5pbmcgdGVzdCB0ZWFyZG93bi4KLQot
LS0gUnVubmluZyB0ZXN0IGNhc2U6IERPTURlYnVnZ2VyLkV2ZW50LlRpbWVyLlJlbW92ZURpc2Fi
bGVkQnJlYWtwb2ludCAic2V0VGltZW91dCIKLUFkZGluZyAic2V0VGltZW91dCIgRXZlbnQgQnJl
YWtwb2ludC4uLgotRGlzYWJsaW5nICJzZXRUaW1lb3V0IiBFdmVudCBCcmVha3BvaW50Li4uCi1S
ZW1vdmluZyAic2V0VGltZW91dCIgRXZlbnQgQnJlYWtwb2ludC4uLgotRmlyaW5nICJzZXRUaW1l
b3V0IiBvbiB3aW5kb3cuLi4KLVBBU1M6IFNob3VsZCBub3QgcGF1c2UgZm9yIHJlbW92ZWQgZGlz
YWJsZWQgYnJlYWtwb2ludC4KLS0tIFJ1bm5pbmcgdGVzdCB0ZWFyZG93bi4KLQotLS0gUnVubmlu
ZyB0ZXN0IGNhc2U6IERPTURlYnVnZ2VyLkV2ZW50LlRpbWVyLkFkZEJyZWFrcG9pbnQgInNldElu
dGVydmFsIgotQWRkaW5nICJzZXRJbnRlcnZhbCIgRXZlbnQgQnJlYWtwb2ludC4uLgotRmlyaW5n
ICJzZXRJbnRlcnZhbCIgb24gd2luZG93Li4uCi1QQVNTOiBTaG91bGQgcGF1c2UgYmVmb3JlIGV2
ZW50IGhhbmRsZXIgaXMgcnVuLgotQ0FMTCBTVEFDSzoKLTA6IFtGXSBoYW5kbGVXaW5kb3dfc2V0
SW50ZXJ2YWwKLUFTWU5DIENBTEwgU1RBQ0s6Ci0xOiAtLS0gc2V0SW50ZXJ2YWwgLS0tCi0yOiBb
Rl0gdHJpZ2dlcl9zZXRJbnRlcnZhbAotMzogW1BdIEdsb2JhbCBDb2RlCi0tLSBSdW5uaW5nIHRl
c3QgdGVhcmRvd24uCi0KLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01EZWJ1Z2dlci5FdmVudC5U
aW1lci5BZGREaXNhYmxlZEJyZWFrcG9pbnQgInNldEludGVydmFsIgotQWRkaW5nICJzZXRJbnRl
cnZhbCIgRXZlbnQgQnJlYWtwb2ludC4uLgotRGlzYWJsaW5nICJzZXRJbnRlcnZhbCIgRXZlbnQg
QnJlYWtwb2ludC4uLgotRmlyaW5nICJzZXRJbnRlcnZhbCIgb24gd2luZG93Li4uCi1QQVNTOiBT
aG91bGQgbm90IHBhdXNlIGZvciBkaXNhYmxlZCBicmVha3BvaW50LgotLS0gUnVubmluZyB0ZXN0
IHRlYXJkb3duLgotCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogRE9NRGVidWdnZXIuRXZlbnQuVGlt
ZXIuUmVtb3ZlQnJlYWtwb2ludCAic2V0SW50ZXJ2YWwiCi1BZGRpbmcgInNldEludGVydmFsIiBF
dmVudCBCcmVha3BvaW50Li4uCi1SZW1vdmluZyAic2V0SW50ZXJ2YWwiIEV2ZW50IEJyZWFrcG9p
bnQuLi4KLUZpcmluZyAic2V0SW50ZXJ2YWwiIG9uIHdpbmRvdy4uLgotUEFTUzogU2hvdWxkIG5v
dCBwYXVzZSBmb3IgcmVtb3ZlZCBicmVha3BvaW50LgotLS0gUnVubmluZyB0ZXN0IHRlYXJkb3du
LgotCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogRE9NRGVidWdnZXIuRXZlbnQuVGltZXIuUmVtb3Zl
RGlzYWJsZWRCcmVha3BvaW50ICJzZXRJbnRlcnZhbCIKLUFkZGluZyAic2V0SW50ZXJ2YWwiIEV2
ZW50IEJyZWFrcG9pbnQuLi4KLURpc2FibGluZyAic2V0SW50ZXJ2YWwiIEV2ZW50IEJyZWFrcG9p
bnQuLi4KLVJlbW92aW5nICJzZXRJbnRlcnZhbCIgRXZlbnQgQnJlYWtwb2ludC4uLgotRmlyaW5n
ICJzZXRJbnRlcnZhbCIgb24gd2luZG93Li4uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlIGZvciBy
ZW1vdmVkIGRpc2FibGVkIGJyZWFrcG9pbnQuCi0tLSBSdW5uaW5nIHRlc3QgdGVhcmRvd24uCi0K
LS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01EZWJ1Z2dlci5FdmVudC5MaXN0ZW5lci5SZXBlYXRG
aXJlQnJlYWtwb2ludAotQWRkaW5nICJzZXRJbnRlcnZhbCIgRXZlbnQgQnJlYWtwb2ludC4uLgot
RmlyaW5nICJzZXRJbnRlcnZhbCIgb24gd2luZG93Li4uCi1QQVNTOiBTaG91bGQgcGF1c2UgYmVm
b3JlIGV2ZW50IGhhbmRsZXIgaXMgcnVuLgotQ0FMTCBTVEFDSzoKLTA6IFtGXSBoYW5kbGVSZXBl
YXQKLUFTWU5DIENBTEwgU1RBQ0s6Ci0xOiAtLS0gc2V0SW50ZXJ2YWwgLS0tCi0yOiBbRl0gcmVw
ZWF0U2V0SW50ZXJ2YWwKLTM6IFtQXSBHbG9iYWwgQ29kZQotUEFTUzogU2hvdWxkIHBhdXNlIGJl
Zm9yZSBldmVudCBoYW5kbGVyIGlzIHJ1bi4KLUNBTEwgU1RBQ0s6Ci0wOiBbRl0gaGFuZGxlUmVw
ZWF0Ci1BU1lOQyBDQUxMIFNUQUNLOgotMTogLS0tIHNldEludGVydmFsIC0tLQotMjogW0ZdIHJl
cGVhdFNldEludGVydmFsCi0zOiBbUF0gR2xvYmFsIENvZGUKLS0tIFJ1bm5pbmcgdGVzdCB0ZWFy
ZG93bi4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9l
dmVudC10aW1lci1icmVha3BvaW50cy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1k
ZWJ1Z2dlci9ldmVudC10aW1lci1icmVha3BvaW50cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAxYzNmNmNmZTY1MWFiZWEyZmIyNzdkNjg0NDVlZTYzODVlYzZjMDllLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9kb20tZGVidWdnZXIvZXZlbnQtdGltZXItYnJlYWtwb2ludHMuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDE2NSArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3Bl
Y3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9kZWJ1Z2dlci9yZXNvdXJj
ZXMvbG9nLWFjdGl2ZS1zdGFjay10cmFjZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVz
b3VyY2VzL2V2ZW50LWJyZWFrcG9pbnQtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+
Ci0KLWxldCBpbnRlcnZhbElEID0gTmFOOwotCi1mdW5jdGlvbiBoYW5kbGVXaW5kb3dfc2V0VGlt
ZW91dCgpIHsKLSAgICBUZXN0UGFnZS5kaXNwYXRjaEV2ZW50VG9Gcm9udGVuZCgiVGVzdFBhZ2Ut
c2V0VGltZW91dCIpOwotfQotCi1mdW5jdGlvbiBoYW5kbGVXaW5kb3dfc2V0SW50ZXJ2YWwoKSB7
Ci0gICAgVGVzdFBhZ2UuZGlzcGF0Y2hFdmVudFRvRnJvbnRlbmQoIlRlc3RQYWdlLXNldEludGVy
dmFsIik7Ci0KLSAgICByZXBlYXRDbGVhckludGVydmFsKCk7Ci19Ci0KLWZ1bmN0aW9uIGhhbmRs
ZVJlcGVhdCgpIHsKLX0KLQotZnVuY3Rpb24gdHJpZ2dlcl9zZXRUaW1lb3V0KCkgewotICAgIHNl
dFRpbWVvdXQoaGFuZGxlV2luZG93X3NldFRpbWVvdXQsIDEwMCk7Ci19Ci0KLWZ1bmN0aW9uIHRy
aWdnZXJfc2V0SW50ZXJ2YWwoKSB7Ci0gICAgaW50ZXJ2YWxJRCA9IHNldEludGVydmFsKGhhbmRs
ZVdpbmRvd19zZXRJbnRlcnZhbCwgMTAwKTsKLX0KLQotZnVuY3Rpb24gcmVwZWF0U2V0SW50ZXJ2
YWwoKSB7Ci0gICAgaW50ZXJ2YWxJRCA9IHNldEludGVydmFsKGhhbmRsZVJlcGVhdCwgMTAwKTsK
LX0KLQotZnVuY3Rpb24gcmVwZWF0Q2xlYXJJbnRlcnZhbCgpIHsKLSAgICBjbGVhckludGVydmFs
KGludGVydmFsSUQpOwotICAgIGludGVydmFsSUQgPSBOYU47Ci19Ci0KLWZ1bmN0aW9uIHRlc3Qo
KSB7Ci0gICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJET01E
ZWJ1Z2dlci5FdmVudC5UaW1lciIpOwotCi0gICAgZnVuY3Rpb24gYWRkVGVzdENhc2VzRm9yRXZl
bnROYW1lKGV2ZW50TmFtZSkgewotICAgICAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7Ci0gICAgICAg
ICAgICBuYW1lOiBgRE9NRGVidWdnZXIuRXZlbnQuVGltZXIuQWRkQnJlYWtwb2ludCAiJHtldmVu
dE5hbWV9ImAsCi0gICAgICAgICAgICBkZXNjcmlwdGlvbjogIkNoZWNrIHRoYXQgdGhlIGRlYnVn
Z2VyIHBhdXNlcyBmb3IgZW5hYmxlZCBicmVha3BvaW50cy4iLAotICAgICAgICAgICAgdGVzdChy
ZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgICAgICBsZXQgcGF1c2VkID0gZmFsc2U7Ci0K
LSAgICAgICAgICAgICAgICBsZXQgbGlzdGVuZXIgPSBXSS5kZWJ1Z2dlck1hbmFnZXIuc2luZ2xl
RmlyZUV2ZW50TGlzdGVuZXIoV0kuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCwgKGV2ZW50
KSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgIHBhdXNlZCA9IHRydWU7Ci0KLSAgICAgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5wYXNzKCJTaG91bGQgcGF1c2UgYmVmb3JlIGV2ZW50IGhh
bmRsZXIgaXMgcnVuLiIpOwotICAgICAgICAgICAgICAgICAgICBsb2dBY3RpdmVTdGFja1RyYWNl
KCk7Ci0KLSAgICAgICAgICAgICAgICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLnJlc3VtZSgpCi0g
ICAgICAgICAgICAgICAgICAgIC5jYXRjaChyZWplY3QpOwotICAgICAgICAgICAgICAgIH0pOwot
Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zaW5nbGVGaXJlRXZlbnRMaXN0ZW5lcihg
VGVzdFBhZ2UtJHtldmVudE5hbWV9YCwgKGV2ZW50KSA9PiB7Ci0gICAgICAgICAgICAgICAgICAg
IGlmICghcGF1c2VkKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFn
ZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuUGF1c2VkLCBs
aXN0ZW5lcik7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZmFpbCgi
U2hvdWxkIHBhdXNlIGJlZm9yZSBldmVudCBoYW5kbGVyIGlzIHJ1bi4iKTsKLSAgICAgICAgICAg
ICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAg
ICAgICB9KTsKLQotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50
LmFkZEJyZWFrcG9pbnQoV0kuRXZlbnRCcmVha3BvaW50LlR5cGUuVGltZXIsIGV2ZW50TmFtZSkK
LSAgICAgICAgICAgICAgICAudGhlbihJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hd2Fp
dEV2ZW50KCJ3aW5kb3ciLCBldmVudE5hbWUpKQotICAgICAgICAgICAgICAgIC5jYXRjaChyZWpl
Y3QpOwotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHRlYXJkb3duOiBJbnNwZWN0b3JUZXN0
LkV2ZW50QnJlYWtwb2ludC50ZWFyZG93biwKLSAgICAgICAgfSk7Ci0KLSAgICAgICAgc3VpdGUu
YWRkVGVzdENhc2UoewotICAgICAgICAgICAgbmFtZTogYERPTURlYnVnZ2VyLkV2ZW50LlRpbWVy
LkFkZERpc2FibGVkQnJlYWtwb2ludCAiJHtldmVudE5hbWV9ImAsCi0gICAgICAgICAgICBkZXNj
cmlwdGlvbjogIkNoZWNrIHRoYXQgZGVidWdnZXIgZG9lcyBub3QgcGF1c2UgZm9yIGRpc2FibGVk
IGJyZWFrcG9pbnRzLiIsCi0gICAgICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewotICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmZhaWxPblBhdXNlKHJl
c29sdmUsIHJlamVjdCwgV0kuRGVidWdnZXJNYW5hZ2VyLlBhdXNlUmVhc29uLlRpbWVyLCBldmVu
dE5hbWUsICJTaG91bGQgbm90IHBhdXNlIGZvciBkaXNhYmxlZCBicmVha3BvaW50LiIpOwotCi0g
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYWRkQnJlYWtwb2lu
dChXSS5FdmVudEJyZWFrcG9pbnQuVHlwZS5UaW1lciwgZXZlbnROYW1lKQotICAgICAgICAgICAg
ICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmRpc2FibGVCcmVha3BvaW50
KQotICAgICAgICAgICAgICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmF3
YWl0RXZlbnQoIndpbmRvdyIsIGV2ZW50TmFtZSkpCi0gICAgICAgICAgICAgICAgLmNhdGNoKHJl
amVjdCk7Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgdGVhcmRvd246IEluc3BlY3RvclRl
c3QuRXZlbnRCcmVha3BvaW50LnRlYXJkb3duLAotICAgICAgICB9KTsKLQotICAgICAgICBzdWl0
ZS5hZGRUZXN0Q2FzZSh7Ci0gICAgICAgICAgICBuYW1lOiBgRE9NRGVidWdnZXIuRXZlbnQuVGlt
ZXIuUmVtb3ZlQnJlYWtwb2ludCAiJHtldmVudE5hbWV9ImAsCi0gICAgICAgICAgICBkZXNjcmlw
dGlvbjogIkNoZWNrIHRoYXQgZGVidWdnZXIgZG9lcyBub3QgcGF1c2UgZm9yIHJlbW92ZWQgYnJl
YWtwb2ludC4iLAotICAgICAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5mYWlsT25QYXVzZShyZXNvbHZl
LCByZWplY3QsIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5UaW1lciwgZXZlbnROYW1l
LCAiU2hvdWxkIG5vdCBwYXVzZSBmb3IgcmVtb3ZlZCBicmVha3BvaW50LiIpOwotCi0gICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYWRkQnJlYWtwb2ludChXSS5F
dmVudEJyZWFrcG9pbnQuVHlwZS5UaW1lciwgZXZlbnROYW1lKQotICAgICAgICAgICAgICAgIC50
aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LnJlbW92ZUJyZWFrcG9pbnQpCi0gICAg
ICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYXdhaXRFdmVu
dCgid2luZG93IiwgZXZlbnROYW1lKSkKLSAgICAgICAgICAgICAgICAuY2F0Y2gocmVqZWN0KTsK
LSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB0ZWFyZG93bjogSW5zcGVjdG9yVGVzdC5FdmVu
dEJyZWFrcG9pbnQudGVhcmRvd24sCi0gICAgICAgIH0pOwotCi0gICAgICAgIHN1aXRlLmFkZFRl
c3RDYXNlKHsKLSAgICAgICAgICAgIG5hbWU6IGBET01EZWJ1Z2dlci5FdmVudC5UaW1lci5SZW1v
dmVEaXNhYmxlZEJyZWFrcG9pbnQgIiR7ZXZlbnROYW1lfSJgLAotICAgICAgICAgICAgZGVzY3Jp
cHRpb246ICJDaGVjayB0aGF0IGEgZGlzYWJsZWQgYnJlYWtwb2ludCBjYW4gYmUgcmVtb3ZlZC4i
LAotICAgICAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5mYWlsT25QYXVzZShyZXNvbHZlLCByZWplY3Qs
IFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5UaW1lciwgZXZlbnROYW1lLCAiU2hvdWxk
IG5vdCBwYXVzZSBmb3IgcmVtb3ZlZCBkaXNhYmxlZCBicmVha3BvaW50LiIpOwotCi0gICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuYWRkQnJlYWtwb2ludChXSS5F
dmVudEJyZWFrcG9pbnQuVHlwZS5UaW1lciwgZXZlbnROYW1lKQotICAgICAgICAgICAgICAgIC50
aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmRpc2FibGVCcmVha3BvaW50KQotICAg
ICAgICAgICAgICAgIC50aGVuKEluc3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LnJlbW92ZUJy
ZWFrcG9pbnQpCi0gICAgICAgICAgICAgICAgLnRoZW4oSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFr
cG9pbnQuYXdhaXRFdmVudCgid2luZG93IiwgZXZlbnROYW1lKSkKLSAgICAgICAgICAgICAgICAu
Y2F0Y2gocmVqZWN0KTsKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB0ZWFyZG93bjogSW5z
cGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQudGVhcmRvd24sCi0gICAgICAgIH0pOwotICAgIH0K
LQotICAgIGFkZFRlc3RDYXNlc0ZvckV2ZW50TmFtZSgic2V0VGltZW91dCIpOwotICAgIGFkZFRl
c3RDYXNlc0ZvckV2ZW50TmFtZSgic2V0SW50ZXJ2YWwiKTsKLQotICAgIHN1aXRlLmFkZFRlc3RD
YXNlKHsKLSAgICAgICAgbmFtZTogYERPTURlYnVnZ2VyLkV2ZW50Lkxpc3RlbmVyLlJlcGVhdEZp
cmVCcmVha3BvaW50YCwKLSAgICAgICAgZGVzY3JpcHRpb246ICJDaGVjayB0aGF0IGEgc2luZ2xl
IGJyZWFrcG9pbnQgcGF1c2VzIG11bHRpcGxlIHRpbWVzIGZvciB0aGUgc2FtZSBpbnRlcnZhbC4i
LAotICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAgICAgbGV0IHBhdXNl
Q291bnQgPSAwOwotCi0gICAgICAgICAgICBsZXQgbGlzdGVuZXIgPSBXSS5kZWJ1Z2dlck1hbmFn
ZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuUGF1c2VkLCAoZXZl
bnQpID0+IHsKLSAgICAgICAgICAgICAgICArK3BhdXNlQ291bnQ7Ci0KLSAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LnBhc3MoIlNob3VsZCBwYXVzZSBiZWZvcmUgZXZlbnQgaGFuZGxlciBp
cyBydW4uIik7Ci0gICAgICAgICAgICAgICAgbG9nQWN0aXZlU3RhY2tUcmFjZSgpOwotCi0gICAg
ICAgICAgICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLnJlc3VtZSgpCi0gICAgICAgICAgICAgICAg
LmNhdGNoKHJlamVjdCk7Ci0KLSAgICAgICAgICAgICAgICBpZiAocGF1c2VDb3VudCA+PSAyKSB7
Ci0gICAgICAgICAgICAgICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5yZW1vdmVFdmVudExpc3Rl
bmVyKFdJLkRlYnVnZ2VyTWFuYWdlci5FdmVudC5QYXVzZWQsIGxpc3RlbmVyKTsKLQotICAgICAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGByZXBlYXRDbGVhcklu
dGVydmFsKClgKQotICAgICAgICAgICAgICAgICAgICAudGhlbihyZXNvbHZlLCByZWplY3QpCi0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSk7Ci0KLSAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuRXZlbnRCcmVha3BvaW50LmFkZEJyZWFrcG9pbnQoV0kuRXZlbnRCcmVha3BvaW50LlR5
cGUuVGltZXIsICJzZXRJbnRlcnZhbCIpCi0gICAgICAgICAgICAudGhlbigoKSA9PiB7Ci0gICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkZpcmluZyBcInNldEludGVydmFsXCIgb24g
d2luZG93Li4uIik7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIEluc3BlY3RvclRlc3QuZXZhbHVh
dGVJblBhZ2UoYHJlcGVhdFNldEludGVydmFsKClgKTsKLSAgICAgICAgICAgIH0pCi0gICAgICAg
ICAgICAuY2F0Y2gocmVqZWN0KTsKLSAgICAgICAgfSwKLSAgICAgICAgdGVhcmRvd246IEluc3Bl
Y3RvclRlc3QuRXZlbnRCcmVha3BvaW50LnRlYXJkb3duLAotICAgIH0pOwotCi0gICAgc3VpdGUu
cnVuVGVzdENhc2VzQW5kRmluaXNoKCk7Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9u
bG9hZD0icnVuVGVzdCgpIj4KLSAgICA8cD5UZXN0cyBmb3IgRXZlbnQgVGltZXIgYnJlYWtwb2lu
dHMuPC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2RvbS1kZWJ1Z2dlci9yZXNvdXJjZXMvZXZlbnQtYnJlYWtwb2ludC11dGlsaXRpZXMuanMg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLWRlYnVnZ2VyL3Jlc291cmNlcy9ldmVudC1icmVh
a3BvaW50LXV0aWxpdGllcy5qcwppbmRleCA5ZTg0ZDQ3NjgxNDMyOTYzN2M3NDhiZmFmZThlOTU4
Nzk2NDBjYjA4Li4xOWIyNWQxYWRkMjBiMmY1ZTBhMWIyZjdkODMzMjhmZmJiZTE2ZGM2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLWRlYnVnZ2VyL3Jlc291cmNlcy9ldmVu
dC1icmVha3BvaW50LXV0aWxpdGllcy5qcworKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9t
LWRlYnVnZ2VyL3Jlc291cmNlcy9ldmVudC1icmVha3BvaW50LXV0aWxpdGllcy5qcwpAQCAtMiw4
ICsyLDEyIEBAIFRlc3RQYWdlLnJlZ2lzdGVySW5pdGlhbGl6ZXIoKCkgPT4gewogICAgIEluc3Bl
Y3RvclRlc3QuRXZlbnRCcmVha3BvaW50ID0ge307CiAKICAgICBJbnNwZWN0b3JUZXN0LkV2ZW50
QnJlYWtwb2ludC50ZWFyZG93biA9IGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAg
ICBsZXQgYnJlYWtwb2ludHMgPSBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuZXZlbnRCcmVha3BvaW50
czsKLSAgICAgICAgZm9yIChsZXQgYnJlYWtwb2ludCBvZiBicmVha3BvaW50cykKKyAgICAgICAg
V0kuZG9tRGVidWdnZXJNYW5hZ2VyLnJlbW92ZUV2ZW50QnJlYWtwb2ludChXSS5kb21EZWJ1Z2dl
ck1hbmFnZXIuYWxsQW5pbWF0aW9uRnJhbWVzQnJlYWtwb2ludCk7CisgICAgICAgIFdJLmRvbURl
YnVnZ2VyTWFuYWdlci5yZW1vdmVFdmVudEJyZWFrcG9pbnQoV0kuZG9tRGVidWdnZXJNYW5hZ2Vy
LmFsbEludGVydmFsc0JyZWFrcG9pbnQpOworICAgICAgICBXSS5kb21EZWJ1Z2dlck1hbmFnZXIu
cmVtb3ZlRXZlbnRCcmVha3BvaW50KFdJLmRvbURlYnVnZ2VyTWFuYWdlci5hbGxMaXN0ZW5lcnNC
cmVha3BvaW50KTsKKyAgICAgICAgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLnJlbW92ZUV2ZW50QnJl
YWtwb2ludChXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYWxsVGltZW91dHNCcmVha3BvaW50KTsKKwor
ICAgICAgICBmb3IgKGxldCBicmVha3BvaW50IG9mIFdJLmRvbURlYnVnZ2VyTWFuYWdlci5saXN0
ZW5lckJyZWFrcG9pbnRzKQogICAgICAgICAgICAgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLnJlbW92
ZUV2ZW50QnJlYWtwb2ludChicmVha3BvaW50KTsKIAogICAgICAgICByZXNvbHZlKCk7CkBAIC0x
Nyw3ICsyMSw4IEBAIFRlc3RQYWdlLnJlZ2lzdGVySW5pdGlhbGl6ZXIoKCkgPT4gewogCiAgICAg
ICAgICAgICBsZXQgdGFyZ2V0RGF0YSA9IFdJLmRlYnVnZ2VyTWFuYWdlci5kYXRhRm9yVGFyZ2V0
KFdJLmRlYnVnZ2VyTWFuYWdlci5hY3RpdmVDYWxsRnJhbWUudGFyZ2V0KTsKICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuYXNzZXJ0KHRhcmdldERhdGEucGF1c2VSZWFzb24gPT09IHBhdXNlUmVh
c29uLCBgUGF1c2UgcmVhc29uIHNob3VsZCBiZSAiJHtwYXVzZVJlYXNvbn0iLmApOwotICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQodGFyZ2V0RGF0YS5wYXVzZURhdGEuZXZlbnROYW1l
ID09PSBldmVudE5hbWUsIGBQYXVzZSBkYXRhIGV2ZW50TmFtZSBzaG91bGQgYmUgIiR7ZXZlbnRO
YW1lfSIuYCk7CisgICAgICAgICAgICBpZiAodGFyZ2V0RGF0YS5wYXVzZURhdGEuZXZlbnROYW1l
KQorICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHRhcmdldERhdGEucGF1c2VE
YXRhLmV2ZW50TmFtZSA9PT0gZXZlbnROYW1lLCBgUGF1c2UgZGF0YSBldmVudE5hbWUgc2hvdWxk
IGJlICIke2V2ZW50TmFtZX0iLmApOwogCiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmZhaWwo
bWVzc2FnZSk7CiAgICAgICAgICAgICBsb2dBY3RpdmVTdGFja1RyYWNlKCk7CkBAIC0zNywxNiAr
NDIsMTkgQEAgVGVzdFBhZ2UucmVnaXN0ZXJJbml0aWFsaXplcigoKSA9PiB7CiAgICAgICAgIH0p
OwogICAgIH07CiAKLSAgICBJbnNwZWN0b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5hZGRCcmVha3Bv
aW50ID0gZnVuY3Rpb24odHlwZSwgZXZlbnROYW1lKSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
bG9nKGBBZGRpbmcgIiR7ZXZlbnROYW1lfSIgRXZlbnQgQnJlYWtwb2ludC4uLmApOworICAgIElu
c3BlY3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmNyZWF0ZUJyZWFrcG9pbnQgPSBmdW5jdGlvbih0
eXBlLCBldmVudE5hbWUpIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coYENyZWF0aW5nICIk
e2V2ZW50TmFtZX0iIEV2ZW50IEJyZWFrcG9pbnQuLi5gKTsKKyAgICAgICAgcmV0dXJuIEluc3Bl
Y3RvclRlc3QuRXZlbnRCcmVha3BvaW50LmFkZEJyZWFrcG9pbnQobmV3IFdJLkV2ZW50QnJlYWtw
b2ludCh0eXBlLCB7ZXZlbnROYW1lfSkpOworICAgIH07CiAKKyAgICBJbnNwZWN0b3JUZXN0LkV2
ZW50QnJlYWtwb2ludC5hZGRCcmVha3BvaW50ID0gZnVuY3Rpb24oYnJlYWtwb2ludCkgeworICAg
ICAgICBJbnNwZWN0b3JUZXN0LmxvZyhgQWRkaW5nICIke2JyZWFrcG9pbnQudHlwZSArIChicmVh
a3BvaW50LmV2ZW50TmFtZSA/ICI6IiArIGJyZWFrcG9pbnQuZXZlbnROYW1lIDogIiIpfSIgRXZl
bnQgQnJlYWtwb2ludC4uLmApOworCisgICAgICAgIGJyZWFrcG9pbnQuZGlzYWJsZWQgPSBmYWxz
ZTsKICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKLSAg
ICAgICAgICAgIGxldCBicmVha3BvaW50ID0gbmV3IFdJLkV2ZW50QnJlYWtwb2ludCh0eXBlLCBl
dmVudE5hbWUpOwotCiAgICAgICAgICAgICBXSS5kb21EZWJ1Z2dlck1hbmFnZXIuYXdhaXRFdmVu
dChXSS5ET01EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuRXZlbnRCcmVha3BvaW50QWRkZWQpCiAgICAg
ICAgICAgICAudGhlbigoZXZlbnQpID0+IHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFzc2VydChldmVudC5kYXRhLmJyZWFrcG9pbnQudHlwZSA9PT0gdHlwZSwgYEJyZWFrcG9pbnQg
c2hvdWxkIGJlIGZvciBleHBlY3RlZCB0eXBlICIke3R5cGV9Ii5gKTsKLSAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFzc2VydChldmVudC5kYXRhLmJyZWFrcG9pbnQuZXZlbnROYW1lID09
PSBldmVudE5hbWUsIGBCcmVha3BvaW50IHNob3VsZCBiZSBmb3IgZXhwZWN0ZWQgZXZlbnQgbmFt
ZSAiJHtldmVudE5hbWV9Ii5gKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2Vy
dChldmVudC5kYXRhLmJyZWFrcG9pbnQgPT09IGJyZWFrcG9pbnQsICJBZGRlZCBCcmVha3BvaW50
IHNob3VsZCBiZSBleHBlY3RlZCBvYmplY3QuIik7CiAgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hc3NlcnQoIWV2ZW50LmRhdGEuYnJlYWtwb2ludC5kaXNhYmxlZCwgIkJyZWFrcG9pbnQg
c2hvdWxkIG5vdCBiZSBkaXNhYmxlZCBpbml0aWFsbHkuIik7CiAgICAgICAgICAgICAgICAgcmVz
b2x2ZShicmVha3BvaW50KTsKICAgICAgICAgICAgIH0pOwpAQCAtNTYsMTMgKzY0LDEzIEBAIFRl
c3RQYWdlLnJlZ2lzdGVySW5pdGlhbGl6ZXIoKCkgPT4gewogICAgIH07CiAKICAgICBJbnNwZWN0
b3JUZXN0LkV2ZW50QnJlYWtwb2ludC5yZW1vdmVCcmVha3BvaW50ID0gZnVuY3Rpb24oYnJlYWtw
b2ludCkgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZyhgUmVtb3ZpbmcgIiR7YnJlYWtwb2lu
dC5ldmVudE5hbWV9IiBFdmVudCBCcmVha3BvaW50Li4uYCk7CisgICAgICAgIEluc3BlY3RvclRl
c3QubG9nKGBSZW1vdmluZyAiJHticmVha3BvaW50LnR5cGUgKyAoYnJlYWtwb2ludC5ldmVudE5h
bWUgPyAiOiIgKyBicmVha3BvaW50LmV2ZW50TmFtZSA6ICIiKX0iIEV2ZW50IEJyZWFrcG9pbnQu
Li5gKTsKIAogICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4g
ewogICAgICAgICAgICAgV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmF3YWl0RXZlbnQoV0kuRE9NRGVi
dWdnZXJNYW5hZ2VyLkV2ZW50LkV2ZW50QnJlYWtwb2ludFJlbW92ZWQpCiAgICAgICAgICAgICAu
dGhlbigoZXZlbnQpID0+IHsKICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChl
dmVudC5kYXRhLmJyZWFrcG9pbnQgPT09IGJyZWFrcG9pbnQsICJSZW1vdmVkIEJyZWFrcG9pbnQg
c2hvdWxkIGJlIGV4cGVjdGVkIG9iamVjdC4iKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFzc2VydCghV0kuZG9tRGVidWdnZXJNYW5hZ2VyLmV2ZW50QnJlYWtwb2ludHMuaW5jbHVk
ZXMoYnJlYWtwb2ludCksICJCcmVha3BvaW50IHNob3VsZCBub3QgYmUgaW4gdGhlIGxpc3Qgb2Yg
YnJlYWtwb2ludHMuIik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoIVdJ
LmRvbURlYnVnZ2VyTWFuYWdlci5saXN0ZW5lckJyZWFrcG9pbnRzLmluY2x1ZGVzKGJyZWFrcG9p
bnQpLCAiQnJlYWtwb2ludCBzaG91bGQgbm90IGJlIGluIHRoZSBsaXN0IG9mIGJyZWFrcG9pbnRz
LiIpOwogICAgICAgICAgICAgICAgIHJlc29sdmUoYnJlYWtwb2ludCk7CiAgICAgICAgICAgICB9
KTsKIApAQCAtNzEsNyArNzksNyBAQCBUZXN0UGFnZS5yZWdpc3RlckluaXRpYWxpemVyKCgpID0+
IHsKICAgICB9OwogCiAgICAgSW5zcGVjdG9yVGVzdC5FdmVudEJyZWFrcG9pbnQuZGlzYWJsZUJy
ZWFrcG9pbnQgPSBmdW5jdGlvbihicmVha3BvaW50KSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
bG9nKGBEaXNhYmxpbmcgIiR7YnJlYWtwb2ludC5ldmVudE5hbWV9IiBFdmVudCBCcmVha3BvaW50
Li4uYCk7CisgICAgICAgIEluc3BlY3RvclRlc3QubG9nKGBEaXNhYmxpbmcgIiR7YnJlYWtwb2lu
dC50eXBlICsgKGJyZWFrcG9pbnQuZXZlbnROYW1lID8gIjoiICsgYnJlYWtwb2ludC5ldmVudE5h
bWUgOiAiIil9IiBFdmVudCBCcmVha3BvaW50Li4uYCk7CiAKICAgICAgICAgYnJlYWtwb2ludC5k
aXNhYmxlZCA9IHRydWU7CiAgICAgICAgIHJldHVybiBicmVha3BvaW50OwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9icmVha3BvaW50LWZvci1ldmVudC1saXN0ZW5lci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL2JyZWFrcG9pbnQtZm9yLWV2
ZW50LWxpc3RlbmVyLWV4cGVjdGVkLnR4dAppbmRleCA0YzU3NDZiOGZkMDIzNjMzNzE4ZWQ4Y2Iz
MGRmYmI1NDQ5NjcyZTk3Li5kZTJjOGQwOWU2NGM2N2YzMDYxZGI5NzU2NGIzMzliY2ZjMjYyZWIz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL2JyZWFrcG9pbnQtZm9yLWV2
ZW50LWxpc3RlbmVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9t
L2JyZWFrcG9pbnQtZm9yLWV2ZW50LWxpc3RlbmVyLWV4cGVjdGVkLnR4dApAQCAtOSw3ICs5LDcg
QEAgQ2xpY2tpbmcgYnV0dG9uMi4uLgogUEFTUzogU2hvdWxkIG5vdCBwYXVzZSBiZWZvcmUgYnV0
dG9uMiBldmVudCBoYW5kbGVyIGlzIHJ1bi4KIENsaWNraW5nIGJ1dHRvbjEuLi4KIFBBU1M6IFNo
b3VsZCBwYXVzZSBiZWZvcmUgYnV0dG9uMSBldmVudCBoYW5kbGVyIGlzIHJ1bi4KLVBBU1M6IFBh
dXNlIHJlYXNvbiBzaG91bGQgYmUgRXZlbnRMaXN0ZW5lci4KK1BBU1M6IFBhdXNlIHJlYXNvbiBz
aG91bGQgYmUgTGlzdGVuZXIuCiBQQVNTOiBQYXVzZSBkYXRhIGV2ZW50TmFtZSBzaG91bGQgYmUg
ImNsaWNrIi4KIAogLS0gUnVubmluZyB0ZXN0IGNhc2U6IERPTS5yZW1vdmVCcmVha3BvaW50Rm9y
RXZlbnRMaXN0ZW5lcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9icmVh
a3BvaW50LWZvci1ldmVudC1saXN0ZW5lci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Rv
bS9icmVha3BvaW50LWZvci1ldmVudC1saXN0ZW5lci5odG1sCmluZGV4IDg2MmNhNTMxMTkyMTVi
YjA3NjljZDVkMTgyYjAxYWRjZmE1ZTk2NDQuLjMyNDgxMTEzMjY0OTU0M2RhOGNiYjcxNzJhOTVm
ODUyOTMyOWNjMjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vYnJlYWtw
b2ludC1mb3ItZXZlbnQtbGlzdGVuZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZG9tL2JyZWFrcG9pbnQtZm9yLWV2ZW50LWxpc3RlbmVyLmh0bWwKQEAgLTQ2LDcgKzQ2LDcgQEAg
ZnVuY3Rpb24gdGVzdCgpIHsKICAgICAgICAgICAgICAgICBwYXVzZWQgPSB0cnVlOwogCiAgICAg
ICAgICAgICAgICAgbGV0IHRhcmdldERhdGEgPSBXSS5kZWJ1Z2dlck1hbmFnZXIuZGF0YUZvclRh
cmdldChXSS5kZWJ1Z2dlck1hbmFnZXIuYWN0aXZlQ2FsbEZyYW1lLnRhcmdldCk7Ci0gICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbCh0YXJnZXREYXRhLnBhdXNlUmVhc29u
LCBXSS5EZWJ1Z2dlck1hbmFnZXIuUGF1c2VSZWFzb24uRXZlbnRMaXN0ZW5lciwgYFBhdXNlIHJl
YXNvbiBzaG91bGQgYmUgRXZlbnRMaXN0ZW5lci5gKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmV4cGVjdEVxdWFsKHRhcmdldERhdGEucGF1c2VSZWFzb24sIFdJLkRlYnVnZ2VyTWFu
YWdlci5QYXVzZVJlYXNvbi5MaXN0ZW5lciwgYFBhdXNlIHJlYXNvbiBzaG91bGQgYmUgTGlzdGVu
ZXIuYCk7CiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbCh0YXJnZXRE
YXRhLnBhdXNlRGF0YS5ldmVudE5hbWUsICJjbGljayIsIGBQYXVzZSBkYXRhIGV2ZW50TmFtZSBz
aG91bGQgYmUgImNsaWNrIi5gKTsKIAogICAgICAgICAgICAgICAgIGF3YWl0R2V0Q2xpY2tFdmVu
dExpc3RlbmVyKGJ1dHRvbjFOb2RlLmlkKQpAQCAtMTA4LDcgKzEwOCw3IEBAIGZ1bmN0aW9uIHRl
c3QoKSB7CiAgICAgICAgICAgICAgICAgcGF1c2VkID0gdHJ1ZTsKIAogICAgICAgICAgICAgICAg
IGxldCB0YXJnZXREYXRhID0gV0kuZGVidWdnZXJNYW5hZ2VyLmRhdGFGb3JUYXJnZXQoV0kuZGVi
dWdnZXJNYW5hZ2VyLmFjdGl2ZUNhbGxGcmFtZS50YXJnZXQpOwotICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYXNzZXJ0KHRhcmdldERhdGEucGF1c2VSZWFzb24sIFdJLkRlYnVnZ2VyTWFu
YWdlci5QYXVzZVJlYXNvbi5FdmVudExpc3RlbmVyLCBgUGF1c2UgcmVhc29uIHNob3VsZCBiZSBF
dmVudExpc3RlbmVyLmApOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHRh
cmdldERhdGEucGF1c2VSZWFzb24sIFdJLkRlYnVnZ2VyTWFuYWdlci5QYXVzZVJlYXNvbi5MaXN0
ZW5lciwgYFBhdXNlIHJlYXNvbiBzaG91bGQgYmUgTGlzdGVuZXIuYCk7CiAgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQodGFyZ2V0RGF0YS5wYXVzZURhdGEuZXZlbnROYW1lLCAi
Y2xpY2siLCBgUGF1c2UgZGF0YSBldmVudE5hbWUgc2hvdWxkIGJlICJjbGljayIuYCk7CiAKICAg
ICAgICAgICAgICAgICBhd2FpdEdldENsaWNrRXZlbnRMaXN0ZW5lcihidXR0b24xTm9kZS5pZCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>