<?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>214448</bug_id>
          
          <creation_ts>2020-07-17 01:12:47 -0700</creation_ts>
          <short_desc>Web Share permission policy &quot;web-share&quot; and &quot;self&quot; as the allowlist</short_desc>
          <delta_ts>2022-01-24 01:56:50 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>https://github.com/w3c/web-share/pull/166/</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="Marcos Caceres">marcos</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>thorton</cc>
    
    <cc>tomac</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1672426</commentid>
    <comment_count>0</comment_count>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2020-07-17 01:12:47 -0700</bug_when>
    <thetext>Calling .share() should be restricted by permission policy &quot;web-share&quot; with a &quot;self&quot; allowlist. 

https://github.com/w3c/web-share/pull/166/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672815</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-18 11:28:43 -0700</bug_when>
    <thetext>&lt;rdar://problem/65771552&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789687</commentid>
    <comment_count>2</comment_count>
      <attachid>437144</attachid>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-09-02 06:38:29 -0700</bug_when>
    <thetext>Created attachment 437144
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789717</commentid>
    <comment_count>3</comment_count>
      <attachid>437154</attachid>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-09-02 08:51:26 -0700</bug_when>
    <thetext>Created attachment 437154
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789833</commentid>
    <comment_count>4</comment_count>
      <attachid>437154</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-09-02 12:26:07 -0700</bug_when>
    <thetext>Comment on attachment 437154
Patch

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

&gt; Source/WebCore/page/Navigator.cpp:131
&gt; +    if (!frame || !frame-&gt;page() || !isFeaturePolicyAllowedByDocumentAndAllOwners(FeaturePolicy::Type::WebShare, *frame-&gt;document(), LogFeaturePolicyFailure::Yes))

It&apos;s a bit unfortunate that this is here since it means that we&apos;ll check `isFeaturePolicyAllowedByDocumentAndAllOwners` twice when calling `Navigator::share`, but I suppose that&apos;s not the worst thing 🤔

NIT: I&apos;d put this check on another line

&gt; Source/WebCore/page/Navigator.cpp:148
&gt; +    auto* frame = this-&gt;frame();
&gt; +    if (!isFeaturePolicyAllowedByDocumentAndAllOwners(FeaturePolicy::Type::WebShare, *frame-&gt;document(), LogFeaturePolicyFailure::Yes)) {

Why not just use the `document` argument?

Also, EWS appears to be crashing in this function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789904</commentid>
    <comment_count>5</comment_count>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-09-02 14:45:29 -0700</bug_when>
    <thetext>(In reply to Devin Rousso from comment #4)
&gt; Comment on attachment 437154 [details]
&gt; Patch
&gt; &gt; Source/WebCore/page/Navigator.cpp:148
&gt; &gt; +    auto* frame = this-&gt;frame();
&gt; &gt; +    if (!isFeaturePolicyAllowedByDocumentAndAllOwners(FeaturePolicy::Type::WebShare, *frame-&gt;document(), LogFeaturePolicyFailure::Yes)) {
&gt; 
&gt; Why not just use the `document` argument?

oops, yeah... copy/pasta from the other patch.  
 
&gt; Also, EWS appears to be crashing in this function.

Question: canShare() does this check:

```
    auto* frame = this-&gt;frame();
    if (!frame || !frame-&gt;page())
        return false;
```

As a followup, I wonder if we should do the same check in .share() and reject with something? The spec doesn&apos;t currently to cover this (or maybe this should change to be a &quot;fully active&quot; check?).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789911</commentid>
    <comment_count>6</comment_count>
      <attachid>437200</attachid>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-09-02 14:55:08 -0700</bug_when>
    <thetext>Created attachment 437200
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789939</commentid>
    <comment_count>7</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-09-02 15:38:08 -0700</bug_when>
    <thetext>(In reply to Marcos Caceres from comment #5)
&gt; (In reply to Devin Rousso from comment #4) 
&gt; &gt; Also, EWS appears to be crashing in this function.
&gt; 
&gt; Question: canShare() does this check:
&gt; 
&gt; ```
&gt;     auto* frame = this-&gt;frame();
&gt;     if (!frame || !frame-&gt;page())
&gt;         return false;
&gt; ```
&gt; 
&gt; As a followup, I wonder if we should do the same check in .share() and
&gt; reject with something? The spec doesn&apos;t currently to cover this (or maybe
&gt; this should change to be a &quot;fully active&quot; check?).

`share()` calls `canShare()`, so it should already be checked :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789941</commentid>
    <comment_count>8</comment_count>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-09-02 15:43:37 -0700</bug_when>
    <thetext>(In reply to Devin Rousso from comment #7) 
&gt; &gt; As a followup, I wonder if we should do the same check in .share() and
&gt; &gt; reject with something? The spec doesn&apos;t currently to cover this (or maybe
&gt; &gt; this should change to be a &quot;fully active&quot; check?).
&gt; 
&gt; `share()` calls `canShare()`, so it should already be checked :)

Indeed. Just checked, and all browsers do different things here tho: 

 * WebKit -&gt; TypeError
 * Firefox -&gt; Internal &quot;UNEXPECTED_ERROR&quot;
 * Chrome -&gt; NotAllowedError

https://marcoscaceres.github.io/playground/share-parent.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789996</commentid>
    <comment_count>9</comment_count>
      <attachid>437223</attachid>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-09-02 17:30:54 -0700</bug_when>
    <thetext>Created attachment 437223
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790054</commentid>
    <comment_count>10</comment_count>
      <attachid>437223</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-09-02 21:39:58 -0700</bug_when>
    <thetext>Comment on attachment 437223
Patch

r=me once EWS is happy :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790056</commentid>
    <comment_count>11</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-09-02 21:43:10 -0700</bug_when>
    <thetext>(In reply to Marcos Caceres from comment #8)
&gt; (In reply to Devin Rousso from comment #7) 
&gt; &gt; &gt; As a followup, I wonder if we should do the same check in .share() and reject with something? The spec doesn&apos;t currently to cover this (or maybe this should change to be a &quot;fully active&quot; check?).
&gt; &gt; 
&gt; &gt; `share()` calls `canShare()`, so it should already be checked :)
&gt; 
&gt; Indeed. Just checked, and all browsers do different things here tho: 
&gt; 
&gt;  * WebKit -&gt; TypeError
&gt;  * Firefox -&gt; Internal &quot;UNEXPECTED_ERROR&quot;
&gt;  * Chrome -&gt; NotAllowedError
&gt; 
&gt; https://marcoscaceres.github.io/playground/share-parent.html

Interesting.  `TypeError` feels kinda wrong to me.  Maybe it should be `InvalidStateError`?  🤔</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790059</commentid>
    <comment_count>12</comment_count>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-09-02 22:01:48 -0700</bug_when>
    <thetext>(In reply to Devin Rousso from comment #11)
&gt; Interesting.  `TypeError` feels kinda wrong to me.  Maybe it should be
&gt; `InvalidStateError`?  🤔

Coincidently, Kagami from Mozilla said the same thing [1]. I don&apos;t mind TypeError, as this is quite an edge-case. Also, using TypeError is &quot;cheap&quot;, as the fully-active check happens now in canUse(). 

Alternatively, we can do the check in both share() and canUse(), which is fine too.

Let me know which you prefer and I can update the pull request for the spec [2].   

[1] https://github.com/w3c/web-share/issues/218#issuecomment-912122895
[2] https://github.com/w3c/web-share/pull/219</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790062</commentid>
    <comment_count>13</comment_count>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-09-02 23:03:55 -0700</bug_when>
    <thetext>WRT to the tests, could it be that the API is not exposed on &quot;mac-wk1&quot;?
  
I can see from the logs that:

 - &quot;navigator.canShare is undefined&quot;.
 - &quot;navigator.share is not a function.&quot;

On Windows, looks like the click is not going through. 

Any suggestions?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790063</commentid>
    <comment_count>14</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-09-02 23:34:22 -0700</bug_when>
    <thetext>The API is definitely not exposed (or at least should not be, because the UI parts aren’t implemented) on Mac-wk1. Dunno about windows, but it seems almost certain that it’s not implemented there either</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790066</commentid>
    <comment_count>15</comment_count>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-09-02 23:49:06 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #14)
&gt; The API is definitely not exposed (or at least should not be, because the UI
&gt; parts aren’t implemented) on Mac-wk1. Dunno about windows, but it seems
&gt; almost certain that it’s not implemented there either

Ok, thanks for confirming. It&apos;s ok if I set the expectations to fail on those two platforms? Presumedly yes.

I&apos;ll update the patch and wait for a confirmation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790070</commentid>
    <comment_count>16</comment_count>
      <attachid>437248</attachid>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-09-03 00:13:00 -0700</bug_when>
    <thetext>Created attachment 437248
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790092</commentid>
    <comment_count>17</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-09-03 01:50:15 -0700</bug_when>
    <thetext>(In reply to Marcos Caceres from comment #15)
&gt; (In reply to Tim Horton from comment #14)
&gt; &gt; The API is definitely not exposed (or at least should not be, because the UI
&gt; &gt; parts aren’t implemented) on Mac-wk1. Dunno about windows, but it seems
&gt; &gt; almost certain that it’s not implemented there either
&gt; 
&gt; Ok, thanks for confirming. It&apos;s ok if I set the expectations to fail on
&gt; those two platforms? Presumedly yes.

Definitely (or skip them, there’s little point running them).

&gt; I&apos;ll update the patch and wait for a confirmation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790093</commentid>
    <comment_count>18</comment_count>
      <attachid>437248</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-09-03 01:51:41 -0700</bug_when>
    <thetext>Comment on attachment 437248
Patch

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

&gt; LayoutTests/platform/win/webshare/webshare-allow-attribute-canShare.https-expected.txt:1
&gt; +FAIL: Timed out waiting for notifyDone to be called

You don’t want to do this, I think, because it means the test had to wait for the timeout. Add the directory as a skip to this platform’s TestExpectations file (I’m surprised it’s not already).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790112</commentid>
    <comment_count>19</comment_count>
      <attachid>437259</attachid>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-09-03 04:29:59 -0700</bug_when>
    <thetext>Created attachment 437259
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790114</commentid>
    <comment_count>20</comment_count>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-09-03 04:32:35 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #18) 
&gt; You don’t want to do this, I think, because it means the test had to wait
&gt; for the timeout. Add the directory as a skip to this platform’s
&gt; TestExpectations file (I’m surprised it’s not already).

thanks! I didn&apos;t know about the TestExpectations file. All makes sense now ^_^ 

Hopefully I got it right this time 🤞</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790349</commentid>
    <comment_count>21</comment_count>
      <attachid>437259</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-09-03 13:53:29 -0700</bug_when>
    <thetext>Comment on attachment 437259
Patch

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

Still one failure on ios-wk2 but otherwise seems reasonable.

&gt; LayoutTests/platform/mac-wk1/TestExpectations:1419
&gt; +http/tests/webshare/webshare-allow-attribute-canShare.https.html [ Skip ]
&gt; +http/tests/webshare/webshare-allow-attribute-share.https.html [ Skip ]

Probably just want to skip the whole directory?

&gt; LayoutTests/platform/win/TestExpectations:4694
&gt; +http/tests/webshare/webshare-allow-attribute-canShare.https.html [ Skip ]
&gt; +http/tests/webshare/webshare-allow-attribute-share.https.html [ Skip ]

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1791722</commentid>
    <comment_count>22</comment_count>
      <attachid>437694</attachid>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-09-08 18:35:23 -0700</bug_when>
    <thetext>Created attachment 437694
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1791727</commentid>
    <comment_count>23</comment_count>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-09-08 18:44:44 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #21)
&gt; Still one failure on ios-wk2 but otherwise seems reasonable.

Investigating that now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1791749</commentid>
    <comment_count>24</comment_count>
      <attachid>437702</attachid>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-09-08 20:35:36 -0700</bug_when>
    <thetext>Created attachment 437702
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1791750</commentid>
    <comment_count>25</comment_count>
      <attachid>437703</attachid>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-09-08 20:41:23 -0700</bug_when>
    <thetext>Created attachment 437703
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793573</commentid>
    <comment_count>26</comment_count>
      <attachid>438206</attachid>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-09-14 19:26:04 -0700</bug_when>
    <thetext>Created attachment 438206
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793578</commentid>
    <comment_count>27</comment_count>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-09-14 19:29:16 -0700</bug_when>
    <thetext>(In reply to Marcos Caceres from comment #26)
&gt; Created attachment 438206 [details]
&gt; Patch

The click on &quot;webshare-allow-attribute-share.https.html&quot; tests ended up being racy, which was causing iOS/wk2 to fail. Also, I needed to send a &quot;tap&quot; on iOS, not a click.  

I refactored that test so that each iframe is loaded dynamically, the click/tap is sent, and then each iframe is removed... rinse and repeat. 

Hopefully all good now ^_^</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794979</commentid>
    <comment_count>28</comment_count>
      <attachid>438640</attachid>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-09-19 23:10:43 -0700</bug_when>
    <thetext>Created attachment 438640
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794980</commentid>
    <comment_count>29</comment_count>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-09-19 23:11:31 -0700</bug_when>
    <thetext>Rebased.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795011</commentid>
    <comment_count>30</comment_count>
      <attachid>438640</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-09-20 03:16:49 -0700</bug_when>
    <thetext>Comment on attachment 438640
Patch

r=me if canShare implementation is aligning with other browsers and/or ongoing spec work.

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

&gt; Source/WebCore/page/Navigator.cpp:134
&gt; +        return false;

I am unsure whether we actually want that check.
https://w3c.github.io/web-share/#canshare-data-method does not mention this check. Is the idea to update the spec?
What are doing other browsers?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795048</commentid>
    <comment_count>31</comment_count>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-09-20 06:33:47 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #30)
&gt; Comment on attachment 438640 [details]
&gt; Patch
&gt; 
&gt; r=me if canShare implementation is aligning with other browsers and/or
&gt; ongoing spec work.
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=438640&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/Navigator.cpp:134
&gt; &gt; +        return false;
&gt; 
&gt; I am unsure whether we actually want that check.
&gt; https://w3c.github.io/web-share/#canshare-data-method does not mention this
&gt; check. Is the idea to update the spec?
&gt; What are doing other browsers?

Oh, whoops! Good catch. I thought I added that to spec. I&apos;ll send a PR now.  

I have the check as part of the Gecko patch for ::CanShare() - line 1495:
https://phabricator.services.mozilla.com/D90834</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795054</commentid>
    <comment_count>32</comment_count>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2021-09-20 06:43:22 -0700</bug_when>
    <thetext>Sent spec pull request https://github.com/w3c/web-share/pull/220</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795059</commentid>
    <comment_count>33</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-09-20 07:01:17 -0700</bug_when>
    <thetext>(In reply to Marcos Caceres from comment #32)
&gt; Sent spec pull request https://github.com/w3c/web-share/pull/220

Looks good then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795069</commentid>
    <comment_count>34</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-20 07:22:10 -0700</bug_when>
    <thetext>Committed r282746 (241883@main): &lt;https://commits.webkit.org/241883@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 438640.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833073</commentid>
    <comment_count>35</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2022-01-22 21:22:59 -0800</bug_when>
    <thetext>Turns out this change is not web-compatible; Twitter embeds use Web Share but don&apos;t have the feature set (and are always cross-origin). Should we roll this out?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833130</commentid>
    <comment_count>36</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-23 12:35:18 -0800</bug_when>
    <thetext>We could start with a quirk for now</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833157</commentid>
    <comment_count>37</comment_count>
    <who name="Marcos Caceres">marcos</who>
    <bug_when>2022-01-23 16:16:40 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #36)
&gt; We could start with a quirk for now

In case it helps, a little more context on the web compat situation: Firefox ships with the policy set to &apos;self&apos;, but web share is only supported on Firefox for Windows.

Alternatively, if we can&apos;t get Chrome to change (or it&apos;s too late because web compat), we could set the allow list to &quot;all&quot; both in WebKit and in the spec. That would retain web compat with Chrome, while also giving more priv/sec aware sites control over the permissions policy.

The thing to consider is if allowing web share liberally in third party contexts could have significant user privacy or security implications (as happened previously [1]). There is still ongoing work to better secure the API (e.g., [2]). 

Let me know how you would like to proceed. I&apos;m happy to update the spec, Gecko, and WebKit.


[1] https://blog.redteam.pl/2020/08/stealing-local-files-using-safari-web.html
[2] https://github.com/w3c/web-share/issues/178</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833214</commentid>
    <comment_count>38</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-24 01:04:00 -0800</bug_when>
    <thetext>(In reply to Marcos Caceres from comment #37)
&gt; (In reply to youenn fablet from comment #36)
&gt; &gt; We could start with a quirk for now
&gt; 
&gt; In case it helps, a little more context on the web compat situation: Firefox
&gt; ships with the policy set to &apos;self&apos;, but web share is only supported on
&gt; Firefox for Windows.
&gt; 
&gt; Alternatively, if we can&apos;t get Chrome to change (or it&apos;s too late because
&gt; web compat), we could set the allow list to &quot;all&quot; both in WebKit and in the
&gt; spec. That would retain web compat with Chrome, while also giving more
&gt; priv/sec aware sites control over the permissions policy.

Is there a bug tracker for Chrome? Do you know their position?

&gt; The thing to consider is if allowing web share liberally in third party
&gt; contexts could have significant user privacy or security implications (as
&gt; happened previously [1]). There is still ongoing work to better secure the
&gt; API (e.g., [2]). 

Twitter is not same origin but same site which is better than arbitrary third-party iframes. Let&apos;s add a quirk for now, https://bugs.webkit.org/show_bug.cgi?id=235502.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833227</commentid>
    <comment_count>39</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-01-24 01:56:50 -0800</bug_when>
    <thetext>&gt; Twitter is not same origin but same site which is better than arbitrary
&gt; third-party iframes

Scratch that.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437144</attachid>
            <date>2021-09-02 06:38:29 -0700</date>
            <delta_ts>2021-09-02 08:51:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214448-20210902233828.patch</filename>
            <type>text/plain</type>
            <size>24117</size>
            <attacher name="Marcos Caceres">marcos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxODg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjRkOTNmN2YwMzYxNDgy
Y2Y2NzY4NTRkNjQ5YzFmYTk3MjYwOWFjMS4uZmUwNDYyZTkzODQ3Yzc2Y2RiMDcxYzRlYmJjODMx
NzYwYzM5NmYxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA5LTAyICBNYXJj
b3MgQ2FjZXJlcyAgPG1hcmNvc0BtYXJjb3NjLmNvbT4KKworICAgICAgICBXZWIgU2hhcmUgcGVy
bWlzc2lvbiBwb2xpY3kgIndlYi1zaGFyZSIgYW5kICJzZWxmIiBhcyB0aGUgYWxsb3dsaXN0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ0NDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czogaHR0
cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMu
aHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1h
dHRyaWJ1dGUtc2hhcmUuaHR0cHMuaHRtbAorCisgICAgICAgICogaHRtbC9GZWF0dXJlUG9saWN5
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBvbGljeVR5cGVOYW1lKToKKyAgICAgICAgKFdlYkNv
cmU6OkZlYXR1cmVQb2xpY3k6OnBhcnNlKToKKyAgICAgICAgKFdlYkNvcmU6OkZlYXR1cmVQb2xp
Y3k6OmFsbG93cyBjb25zdCk6CisgICAgICAgICogaHRtbC9GZWF0dXJlUG9saWN5Lmg6CisgICAg
ICAgICogcGFnZS9OYXZpZ2F0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yOjpj
YW5TaGFyZSk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3I6OnNoYXJlKToKKwogMjAyMS0w
OS0wMSAgTWFyY29zIENhY2VyZXMgIDxtYXJjb3NAbWFyY29zYy5jb20+CiAKICAgICAgICAgQWRk
ICJwYXltZW50IiBwZXJtaXNzaW9ucyBwb2xpY3kKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvRmVhdHVyZVBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZlYXR1cmVQb2xp
Y3kuY3BwCmluZGV4IDBmNDIxNjNkM2VkMGJkMGI2Zjc4ZjZjZWRhYzZkNDQwMGY4MTFlZjcuLjZl
NTZjYzI5NGZhMTFiNTNjNzEwMzJmYWM4OTE2MTdiNjYzY2U4NjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvRmVhdHVyZVBvbGljeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9GZWF0dXJlUG9saWN5LmNwcApAQCAtNTYsNiArNTYsOCBAQCBzdGF0aWMgY29uc3QgY2hhciog
cG9saWN5VHlwZU5hbWUoRmVhdHVyZVBvbGljeTo6VHlwZSB0eXBlKQogICAgICAgICByZXR1cm4g
IlN5bmNYSFIiOwogICAgIGNhc2UgRmVhdHVyZVBvbGljeTo6VHlwZTo6RnVsbHNjcmVlbjoKICAg
ICAgICAgcmV0dXJuICJGdWxsc2NyZWVuIjsKKyAgICBjYXNlIEZlYXR1cmVQb2xpY3k6OlR5cGU6
OldlYlNoYXJlOgorICAgICAgICByZXR1cm4gIldlYlNoYXJlIjsKICNpZiBFTkFCTEUoREVWSUNF
X09SSUVOVEFUSU9OKQogICAgIGNhc2UgRmVhdHVyZVBvbGljeTo6VHlwZTo6R3lyb3Njb3BlOgog
ICAgICAgICByZXR1cm4gIkd5cm9zY29wZSI7CkBAIC0xNzUsNiArMTc3LDcgQEAgRmVhdHVyZVBv
bGljeSBGZWF0dXJlUG9saWN5OjpwYXJzZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IEhUTUxJ
RnJhbWVFbGVtZW50JgogICAgIGJvb2wgaXNQYXltZW50SW5pdGlhbGl6ZWQgPSBmYWxzZTsKICAg
ICBib29sIGlzU3luY1hIUkluaXRpYWxpemVkID0gZmFsc2U7CiAgICAgYm9vbCBpc0Z1bGxzY3Jl
ZW5Jbml0aWFsaXplZCA9IGZhbHNlOworICAgIGJvb2wgaXNXZWJTaGFyZUluaXRpYWxpemVkID0g
ZmFsc2U7CiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKICAgICBib29sIGlzR3lyb3Nj
b3BlSW5pdGlhbGl6ZWQgPSBmYWxzZTsKICAgICBib29sIGlzQWNjZWxlcm9tZXRlckluaXRpYWxp
emVkID0gZmFsc2U7CkBAIC0yMjUsNiArMjI4LDExIEBAIEZlYXR1cmVQb2xpY3kgRmVhdHVyZVBv
bGljeTo6cGFyc2UoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBIVE1MSUZyYW1lRWxlbWVudCYK
ICAgICAgICAgICAgIHVwZGF0ZUxpc3QoZG9jdW1lbnQsIHBvbGljeS5tX2Z1bGxzY3JlZW5SdWxl
LCBpdGVtLnN1YnN0cmluZygxMSkpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0K
KyAgICAgICAgaWYgKGl0ZW0uc3RhcnRzV2l0aCgid2ViLXNoYXJlIikpIHsKKyAgICAgICAgICAg
IGlzV2ViU2hhcmVJbml0aWFsaXplZCA9IHRydWU7CisgICAgICAgICAgICB1cGRhdGVMaXN0KGRv
Y3VtZW50LCBwb2xpY3kubV93ZWJTaGFyZVJ1bGUsIGl0ZW0uc3Vic3RyaW5nKDEwKSk7CisgICAg
ICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJ
T04pCiAgICAgICAgIGlmIChpdGVtLnN0YXJ0c1dpdGgoImd5cm9zY29wZSIpKSB7CiAgICAgICAg
ICAgICBpc0d5cm9zY29wZUluaXRpYWxpemVkID0gdHJ1ZTsKQEAgLTI2NCw2ICsyNzIsOCBAQCBG
ZWF0dXJlUG9saWN5IEZlYXR1cmVQb2xpY3k6OnBhcnNlKERvY3VtZW50JiBkb2N1bWVudCwgY29u
c3QgSFRNTElGcmFtZUVsZW1lbnQmCiAgICAgICAgIHBvbGljeS5tX2dlb2xvY2F0aW9uUnVsZS5h
bGxvd2VkTGlzdC5hZGQoZG9jdW1lbnQuc2VjdXJpdHlPcmlnaW4oKS5kYXRhKCkpOwogICAgIGlm
ICghaXNQYXltZW50SW5pdGlhbGl6ZWQpCiAgICAgICAgIHBvbGljeS5tX3BheW1lbnRSdWxlLmFs
bG93ZWRMaXN0LmFkZChkb2N1bWVudC5zZWN1cml0eU9yaWdpbigpLmRhdGEoKSk7CisgICAgaWYg
KCFpc1dlYlNoYXJlSW5pdGlhbGl6ZWQpCisgICAgICAgIHBvbGljeS5tX3dlYlNoYXJlUnVsZS5h
bGxvd2VkTGlzdC5hZGQoZG9jdW1lbnQuc2VjdXJpdHlPcmlnaW4oKS5kYXRhKCkpOwogI2lmIEVO
QUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAgICAgaWYgKCFpc0d5cm9zY29wZUluaXRpYWxpemVk
KQogICAgICAgICBwb2xpY3kubV9neXJvc2NvcGVSdWxlLmFsbG93ZWRMaXN0LmFkZChkb2N1bWVu
dC5zZWN1cml0eU9yaWdpbigpLmRhdGEoKSk7CkBAIC0zMTcsNiArMzI3LDggQEAgYm9vbCBGZWF0
dXJlUG9saWN5OjphbGxvd3MoVHlwZSB0eXBlLCBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIG9y
aWdpbikgY29uc3QKICAgICAgICAgcmV0dXJuIGlzQWxsb3dlZEJ5RmVhdHVyZVBvbGljeShtX3N5
bmNYSFJSdWxlLCBvcmlnaW4pOwogICAgIGNhc2UgVHlwZTo6RnVsbHNjcmVlbjoKICAgICAgICAg
cmV0dXJuIGlzQWxsb3dlZEJ5RmVhdHVyZVBvbGljeShtX2Z1bGxzY3JlZW5SdWxlLCBvcmlnaW4p
OworICAgIGNhc2UgVHlwZTo6V2ViU2hhcmU6CisgICAgICAgIHJldHVybiBpc0FsbG93ZWRCeUZl
YXR1cmVQb2xpY3kobV93ZWJTaGFyZVJ1bGUsIG9yaWdpbik7CiAjaWYgRU5BQkxFKERFVklDRV9P
UklFTlRBVElPTikKICAgICBjYXNlIFR5cGU6Okd5cm9zY29wZToKICAgICAgICAgcmV0dXJuIGlz
QWxsb3dlZEJ5RmVhdHVyZVBvbGljeShtX2d5cm9zY29wZVJ1bGUsIG9yaWdpbik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZlYXR1cmVQb2xpY3kuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvRmVhdHVyZVBvbGljeS5oCmluZGV4IDc5ZTY2ZmIxNjQxYjI0MTZiYjM5NzZiNzZhMTQ4
YThhMTBmZGFmNzUuLmU2NDBmOGE1ZDcyM2RlMDFlOWE2NGI1MTA2NjZiOTNhNjc5N2E3OTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmVhdHVyZVBvbGljeS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvRmVhdHVyZVBvbGljeS5oCkBAIC00Nyw2ICs0Nyw3IEBAIHB1YmxpYzoK
ICAgICAgICAgUGF5bWVudCwKICAgICAgICAgU3luY1hIUiwKICAgICAgICAgRnVsbHNjcmVlbiwK
KyAgICAgICAgV2ViU2hhcmUsCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKICAgICAg
ICAgR3lyb3Njb3BlLAogICAgICAgICBBY2NlbGVyb21ldGVyLApAQCAtNzMsNiArNzQsOCBAQCBw
cml2YXRlOgogICAgIEFsbG93UnVsZSBtX3BheW1lbnRSdWxlOwogICAgIEFsbG93UnVsZSBtX3N5
bmNYSFJSdWxlOwogICAgIEFsbG93UnVsZSBtX2Z1bGxzY3JlZW5SdWxlOworICAgIEFsbG93UnVs
ZSBtX3dlYlNoYXJlUnVsZTsKKwogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAgICAg
QWxsb3dSdWxlIG1fZ3lyb3Njb3BlUnVsZTsKICAgICBBbGxvd1J1bGUgbV9hY2NlbGVyb21ldGVy
UnVsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcAppbmRleCBjMGEwYzE4ZDc0ODBhMTY0YjBi
ZTkwOGFlMTE3YmQ3NDIyNTI5OGIxLi4wNjk4MTNiMTE5ZGE1ZTVjOGMxZTVmYTBjMDk1OGM0NjUz
YWFkYzYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAj
aW5jbHVkZSAiRE9NUGx1Z2luLmgiCiAjaW5jbHVkZSAiRE9NUGx1Z2luQXJyYXkuaCIKICNpbmNs
dWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkZlYXR1cmVQb2xpY3kuaCIKICNpbmNsdWRlICJG
cmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJD
bGllbnQuaCIKQEAgLTEyNyw3ICsxMjgsNyBAQCBzdGF0aWMgc3RkOjpvcHRpb25hbDxVUkw+IHNo
YXJlYWJsZVVSTEZvclNoYXJlRGF0YShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZQogYm9v
bCBOYXZpZ2F0b3I6OmNhblNoYXJlKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU2hhcmVEYXRh
JiBkYXRhKQogewogICAgIGF1dG8qIGZyYW1lID0gdGhpcy0+ZnJhbWUoKTsKLSAgICBpZiAoIWZy
YW1lIHx8ICFmcmFtZS0+cGFnZSgpKQorICAgIGlmICghZnJhbWUgfHwgIWZyYW1lLT5wYWdlKCkg
fHwgIWlzRmVhdHVyZVBvbGljeUFsbG93ZWRCeURvY3VtZW50QW5kQWxsT3duZXJzKEZlYXR1cmVQ
b2xpY3k6OlR5cGU6OldlYlNoYXJlLCAqZnJhbWUtPmRvY3VtZW50KCksIExvZ0ZlYXR1cmVQb2xp
Y3lGYWlsdXJlOjpZZXMpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBib29sIGhhc1No
YXJlYWJsZVRpdGxlT3JUZXh0ID0gIWRhdGEudGl0bGUuaXNOdWxsKCkgfHwgIWRhdGEudGV4dC5p
c051bGwoKTsKQEAgLTE0Myw2ICsxNDQsMTIgQEAgYm9vbCBOYXZpZ2F0b3I6OmNhblNoYXJlKERv
Y3VtZW50JiBkb2N1bWVudCwgY29uc3QgU2hhcmVEYXRhJiBkYXRhKQogCiB2b2lkIE5hdmlnYXRv
cjo6c2hhcmUoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTaGFyZURhdGEmIGRhdGEsIFJlZjxE
ZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKIHsKKyAgICBhdXRvKiBmcmFtZSA9IHRoaXMtPmZy
YW1lKCk7CisgICAgaWYgKCFpc0ZlYXR1cmVQb2xpY3lBbGxvd2VkQnlEb2N1bWVudEFuZEFsbE93
bmVycyhGZWF0dXJlUG9saWN5OjpUeXBlOjpXZWJTaGFyZSwgKmZyYW1lLT5kb2N1bWVudCgpLCBM
b2dGZWF0dXJlUG9saWN5RmFpbHVyZTo6WWVzKSkgeworICAgICAgICBwcm9taXNlLT5yZWplY3Qo
Tm90QWxsb3dlZEVycm9yLCAiVGhpcmQtcGFydHkgaWZyYW1lcyBhcmUgbm90IGFsbG93ZWQgdG8g
Y2FsbCBzaGFyZSgpIHVubGVzcyBleHBsaWNpdGx5IGFsbG93ZWQgdmlhIEZlYXR1cmUtUG9saWN5
ICh3ZWItc2hhcmUpIl9zKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmIChtX2hh
c1BlbmRpbmdTaGFyZSkgewogICAgICAgICBwcm9taXNlLT5yZWplY3QoTm90QWxsb3dlZEVycm9y
KTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGNjYzI5MGVlMDAxODhiMzFhNTRlNWNhYjk1ZmQx
ZjU5MWQzZjhhNDMuLmE0ZmQwYTFmNjFkNjg0NDZhYjc1ZTFlYTYyMTAyY2VlY2RmNGJmOWIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0wOS0wMiAgTWFyY29zIENhY2VyZXMgIDxtYXJjb3NA
bWFyY29zYy5jb20+CisKKyAgICAgICAgV2ViIFNoYXJlIHBlcm1pc3Npb24gcG9saWN5ICJ3ZWIt
c2hhcmUiIGFuZCAic2VsZiIgYXMgdGhlIGFsbG93bGlzdAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0NDQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNoYXJlL3Jlc291cmNl
cy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1jYW5TaGFyZS5odHRwcy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxs
b3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLXNoYXJlLmh0dHBzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1h
bGxvdy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMuaHRtbDogQWRkZWQuCisKIDIwMjEtMDktMDEgIE1h
cmNvcyBDYWNlcmVzICA8bWFyY29zQG1hcmNvc2MuY29tPgogCiAgICAgICAgIEFkZCAicGF5bWVu
dCIgcGVybWlzc2lvbnMgcG9saWN5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xYzAzODU5OTEyM2QwYTJkYjg0MDc4NmUzYTFlMzE2NjMwYTM5ZDhlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS9yZXNvdXJj
ZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxzY3JpcHQgc3JjPSJodHRwczovLzEyNy4wLjAuMTo4NDQzL2pzLXRlc3QtcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzxz
dHlsZT4KKyAgaHRtbCB7CisgICAgaGVpZ2h0OiAxMDAlOworICB9CisgIGJvZHkgeworICAgIGRp
c3BsYXk6IGdyaWQ7CisgIH0KKyAgYnV0dG9uIHsKKyAgICBoZWlnaHQ6IDEwMHZoOworICAgIHdp
ZHRoOiAxMDAlOworICB9Cis8L3N0eWxlPgorPGJvZHk+CisgIDxidXR0b24gaWQ9InNoYXJlLWJ1
dHRvbiI+U0hBUkUhPC9idXR0b24+CisgIDxzY3JpcHQ+CisgICAgd2luZG93LmFkZEV2ZW50TGlz
dGVuZXIoCisgICAgICAibWVzc2FnZSIsCisgICAgICBhc3luYyAoZXZlbnQpID0+IHsKKyAgICAg
ICAgY29uc3Qgc2hhcmVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2hhcmUtYnV0
dG9uIik7CisgICAgICAgIGNvbnN0IHsgYWN0aW9uIH0gPSBldmVudC5kYXRhOworICAgICAgICBs
ZXQgcmVzdWx0ID0gbnVsbDsKKyAgICAgICAgbGV0IGV4Y2VwdGlvbk1lc3NhZ2U7CisgICAgICAg
IGxldCBleGNlcHRpb25OYW1lOworICAgICAgICBzd2l0Y2ggKGFjdGlvbikgeworICAgICAgICAg
IGNhc2UgImNhbGwgY2FuU2hhcmUoKSI6CisgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAg
ICByZXN1bHQgPSBuYXZpZ2F0b3IuY2FuU2hhcmUoeyB0ZXh0OiAic29tZSB0ZXh0IiB9KTsKKyAg
ICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgICAgZXhjZXB0aW9uTWVzc2FnZSA9
IGUubWVzc2FnZTsKKyAgICAgICAgICAgICAgZXhjZXB0aW9uTmFtZSA9IGUubmFtZTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGNhc2UgImNhbGwgc2hhcmUo
KSI6CisgICAgICAgICAgICBhd2FpdCB1c2VyQWN0aXZhdGlvbkZyb21QYXJlbnQoc2hhcmVCdXR0
b24sIGV2ZW50KTsKKyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgIGF3YWl0IG5hdmln
YXRvci5zaGFyZSh7IHRleHQ6ICJzb21lIHRleHQiIH0pOworICAgICAgICAgICAgICByZXN1bHQg
PSAic2hhcmUgY29tcGxldGVkIjsKKyAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAg
ICAgICAgcmVzdWx0ID0gInRocmV3IjsKKyAgICAgICAgICAgICAgZXhjZXB0aW9uTWVzc2FnZSA9
IGUubWVzc2FnZTsKKyAgICAgICAgICAgICAgZXhjZXB0aW9uTmFtZSA9IGUubmFtZTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gYWN0aW9uOiAke2FjdGlvbn1gKTsKKyAgICAg
ICAgfQorICAgICAgICBldmVudC5zb3VyY2UucG9zdE1lc3NhZ2UoCisgICAgICAgICAgeyBhY3Rp
b24sIHJlc3VsdCwgZXhjZXB0aW9uTWVzc2FnZSwgZXhjZXB0aW9uTmFtZSB9LAorICAgICAgICAg
IGV2ZW50Lm9yaWdpbgorICAgICAgICApOworICAgICAgfSwKKyAgICAgIHsgb25jZTogdHJ1ZSB9
CisgICAgKTsKKworICAgIGZ1bmN0aW9uIHVzZXJBY3RpdmF0aW9uRnJvbVBhcmVudChzaGFyZUJ1
dHRvbiwgZXZlbnQpIHsKKyAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewor
ICAgICAgICBzaGFyZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHJlc29sdmUsIHsg
b25jZTogdHJ1ZSB9KTsKKyAgICAgICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdlKCJjbGljayBt
ZSEiLCBldmVudC5vcmlnaW4pOworICAgICAgfSk7CisgICAgfQorICA8L3NjcmlwdD4KKzwvYm9k
eT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUt
YWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0
dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MWRmNzNhNDBiNjlkNjM4NmZmYjU4ZmFkMjM2
OGU5MDUwMjQ4MWNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTggQEAKK0NPTlNPTEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kgJ1dl
YlNoYXJlJyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6Ly9sb2Nh
bGhvc3Q6ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAnJy4KK0NPTlNPTEUgTUVTU0FHRTogRmVh
dHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3aXRoIG9yaWdp
biAnaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAnd2ViLXNoYXJl
ICdub25lJycuCitDT05TT0xFIE1FU1NBR0U6IEZlYXR1cmUgcG9saWN5ICdXZWJTaGFyZScgY2hl
Y2sgZmFpbGVkIGZvciBpZnJhbWUgd2l0aCBvcmlnaW4gJ2h0dHBzOi8vMTI3LjAuMC4xOjg0NDMn
IGFuZCBhbGxvdyBhdHRyaWJ1dGUgJ3dlYi1zaGFyZSAnbm9uZScnLgorQ09OU09MRSBNRVNTQUdF
OiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUnIGNoZWNrIGZhaWxlZCBmb3IgaWZyYW1lIHdpdGgg
b3JpZ2luICdodHRwczovL2xvY2FsaG9zdDo4NDQzJyBhbmQgYWxsb3cgYXR0cmlidXRlICd3ZWIt
c2hhcmUgJ3NlbGYnJy4KK0NPTlNPTEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJl
JyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6Ly8xMjcuMC4wLjE6
ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAnd2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0
NDMnLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9y
ZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0iIiBNVVNUIE5P
VCBiZSBhbGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBz
Oi8vMTI3LjAuMC4xOjg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdl
Lmh0bWwiIHdpdGggYWxsb3c9IiIgaXMgYWxsb3dlZCB0byBjYWxsIGNhblNoYXJlKCkuCitQQVNT
IGlmcmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93
ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUiIGlzIGFsbG93
ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4w
LjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0
aCBhbGxvdz0id2ViLXNoYXJlIiBpcyBhbGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1Mg
aWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dl
YnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAqIiBpcyBhbGxv
d2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAu
MC4xOjg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdp
dGggYWxsb3c9IndlYi1zaGFyZSAqIiBpcyBhbGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BB
U1MgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2Vz
L3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAnbm9uZSci
IE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3Jj
OiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9z
dG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICdub25lJyIgTVVTVCBOT1QgYmUg
YWxsb3dlZCB0byBjYWxsIGNhblNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovL2xv
Y2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1s
IiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgJ3NlbGYnIiBNVVNUIE5PVCBiZSBhbGxvd2VkIHRvIGNh
bGwgY2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMv
d2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9
IndlYi1zaGFyZSAnc2VsZiciIGlzIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBp
ZnJhbWUgc3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vi
c2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlIGh0dHBzOi8vbG9j
YWxob3N0Ojg0NDMiIGlzIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBpZnJhbWUg
c3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUt
cG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0
Ojg0NDMiIE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJp
YnV0ZS1jYW5TaGFyZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFy
ZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xODE3ZDExZTJhYzdkNDQ3MDg1MjI2NjM4MzZlNzNmMDdjYjFhMDU4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRy
aWJ1dGUtY2FuU2hhcmUuaHR0cHMuaHRtbApAQCAtMCwwICsxLDExMSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHRpdGxlPgorICAgICAgVGVzdCBhbGxvdyBhdHRy
aWJ1dGUgd2l0aCAid2ViLXNoYXJlIiBhbmQgY2FuU2hhcmUoKSBtZXRob2QKKyAgICA8L3RpdGxl
PgorICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJpbml0aWFsLXNjYWxlPTUsIHdp
ZHRoPWRldmljZS13aWR0aCIgLz4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgdGVzdFJ1bm5lcj8uZHVt
cEFzVGV4dCgpOworICAgICAgdGVzdFJ1bm5lcj8ud2FpdFVudGlsRG9uZSgpOworCisgICAgICBm
dW5jdGlvbiB3YWl0Rm9yKHRhcmdldCwgZXZlbnROYW1lKSB7CisgICAgICAgIHJldHVybiBuZXcg
UHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVy
KGV2ZW50TmFtZSwgcmVzb2x2ZSwgeyBvbmNlOiB0cnVlIH0pOworICAgICAgICB9KTsKKyAgICAg
IH0KKworICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBhc3luYyAoKSA9PiB7
CisgICAgICAgIGZvciAoY29uc3QgaWZyYW1lIG9mIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwo
ImlmcmFtZSIpKSB7CisgICAgICAgICAgY29uc3QgeyBlbmFibGVkLCBzcmMgfSA9IGlmcmFtZS5k
YXRhc2V0OworICAgICAgICAgIGNvbnN0IGlzQWxsb3dlZCA9IGVuYWJsZWQgPT09ICJ0cnVlIjsK
KyAgICAgICAgICBjb25zdCBhY3Rpb24gPSAiY2FsbCBjYW5TaGFyZSgpIjsKKyAgICAgICAgICBp
ZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSh7IGFjdGlvbiB9LCAiKiIpOworICAgICAg
ICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgd2FpdEZvcih3aW5kb3csICJtZXNzYWdlIik7Cisg
ICAgICAgICAgY29uc3QgeyBleGNlcHRpb25NZXNzYWdlLCBleGNlcHRpb25OYW1lLCByZXN1bHQg
fSA9IGRhdGE7CisKKyAgICAgICAgICBjb25zdCBtc2cgPSBgaWZyYW1lIHNyYzogIiR7aWZyYW1l
LnNyY30iIHdpdGggYWxsb3c9IiR7CisgICAgICAgICAgICBpZnJhbWUuYWxsb3cKKyAgICAgICAg
ICB9IiAkeworICAgICAgICAgICAgaXNBbGxvd2VkID8gImlzIGFsbG93ZWQgdG8iIDogIk1VU1Qg
Tk9UIGJlIGFsbG93ZWQgdG8iCisgICAgICAgICAgfSAke2FjdGlvbn0uICR7ZXhjZXB0aW9uTmFt
ZSA/PyAiIn0gJHtleGNlcHRpb25NZXNzYWdlID8/ICIifWA7CisKKyAgICAgICAgICBzd2l0Y2gg
KHJlc3VsdCkgeworICAgICAgICAgICAgY2FzZSB0cnVlOgorICAgICAgICAgICAgICBpc0FsbG93
ZWQgPyB0ZXN0UGFzc2VkKG1zZykgOiB0ZXN0RmFpbGVkKG1zZyk7CisgICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICAgICAgY2FzZSBmYWxzZToKKyAgICAgICAgICAgICAgIWlzQWxsb3dlZCA/
IHRlc3RQYXNzZWQobXNnKSA6IHRlc3RGYWlsZWQobXNnKTsKKyAgICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICB0ZXN0RmFpbGVkKAorICAgICAg
ICAgICAgICAgIGBVbmV4cGVjdGVkIHJlc3VsdCBmcm9tICIke2FjdGlvbn0iOiAke3Jlc3VsdH0g
LSAoJHtpZnJhbWUuc3JjfSlgCisgICAgICAgICAgICAgICk7CisgICAgICAgICAgfQorICAgICAg
ICB9CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgfSk7CisgICAgPC9z
Y3JpcHQ+CisgIDwvaGVhZD4KKyAgPGJvZHk+CisgICAgPGlmcmFtZQorICAgICAgZGF0YS1lbmFi
bGVkPSJmYWxzZSIKKyAgICAgIHNyYz0iaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9y
ZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAg
PGlmcmFtZQorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAgc3JjPSIuL3Jlc291cmNl
cy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1l
CisgICAgICBhbGxvdz0id2ViLXNoYXJlIgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAg
ICAgc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFy
ZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBh
bGxvdz0id2ViLXNoYXJlIgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAgc3JjPSIu
L3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAg
ICA8aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlICoiCisgICAgICBkYXRhLWVuYWJsZWQ9
InRydWUiCisgICAgICBzcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3Vy
Y2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJh
bWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUgKiIKKyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIK
KyAgICAgIHNyYz0iLi9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+
PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSAnbm9uZSciCisg
ICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAgc3JjPSJodHRwczovL2xvY2FsaG9zdDo4
NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48
L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlICdub25lJyIKKyAg
ICAgIGRhdGEtZW5hYmxlZD0iZmFsc2UiCisgICAgICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJl
LXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFs
bG93PSJ3ZWItc2hhcmUgJ3NlbGYnIgorICAgICAgZGF0YS1lbmFibGVkPSJmYWxzZSIKKyAgICAg
IHNyYz0iaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUt
cG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxs
b3c9IndlYi1zaGFyZSAnc2VsZiciCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAgICBz
cmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1l
PgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUgaHR0cHM6Ly9sb2NhbGhvc3Q6
ODQ0MyIKKyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iaHR0cHM6Ly9sb2Nh
bGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIK
KyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSBodHRw
czovL2xvY2FsaG9zdDo4NDQzIgorICAgICAgZGF0YS1lbmFibGVkPSJmYWxzZSIKKyAgICAgIHNy
Yz0iLi9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+
CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLXNoYXJlLmh0dHBzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmli
dXRlLXNoYXJlLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMDAxNWFkMDBmNWQwNzdk
YjY5YzZkZmFjYWRmNzFkOGU3ZjQ0MzIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTggQEAKK0NPTlNPTEUgTUVTU0FHRTogRmVhdHVyZSBw
b2xpY3kgJ1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0
cHM6Ly9sb2NhbGhvc3Q6ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAnJy4KK0NPTlNPTEUgTUVT
U0FHRTogRmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3
aXRoIG9yaWdpbiAnaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAn
d2ViLXNoYXJlICdub25lJycuCitDT05TT0xFIE1FU1NBR0U6IEZlYXR1cmUgcG9saWN5ICdXZWJT
aGFyZScgY2hlY2sgZmFpbGVkIGZvciBpZnJhbWUgd2l0aCBvcmlnaW4gJ2h0dHBzOi8vMTI3LjAu
MC4xOjg0NDMnIGFuZCBhbGxvdyBhdHRyaWJ1dGUgJ3dlYi1zaGFyZSAnbm9uZScnLgorQ09OU09M
RSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUnIGNoZWNrIGZhaWxlZCBmb3IgaWZy
YW1lIHdpdGggb3JpZ2luICdodHRwczovL2xvY2FsaG9zdDo4NDQzJyBhbmQgYWxsb3cgYXR0cmli
dXRlICd3ZWItc2hhcmUgJ3NlbGYnJy4KK0NPTlNPTEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kg
J1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6Ly8x
MjcuMC4wLjE6ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAnd2ViLXNoYXJlIGh0dHBzOi8vbG9j
YWxob3N0Ojg0NDMnLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93
ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0i
IiBNVVNUIE5PVCBiZSBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4gTm90QWxsb3dlZEVycm9yIFRo
aXJkLXBhcnR5IGlmcmFtZXMgYXJlIG5vdCBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKSB1bmxlc3Mg
ZXhwbGljaXRseSBhbGxvd2VkIHZpYSBGZWF0dXJlLVBvbGljeSAod2ViLXNoYXJlKQorUEFTUyBp
ZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vi
c2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0iIiBpcyBhbGxvd2VkIHRvIGNhbGwg
c2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hh
cmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1z
aGFyZSIgaXMgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRw
czovLzEyNy4wLjAuMTo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2Fn
ZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUiIGlzIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgp
LgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNv
dXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICoi
IGlzIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8x
MjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRt
bCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICoiIGlzIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpLgor
UEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJj
ZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICdub25l
JyIgTVVTVCBOT1QgYmUgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkuIE5vdEFsbG93ZWRFcnJvciBU
aGlyZC1wYXJ0eSBpZnJhbWVzIGFyZSBub3QgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkgdW5sZXNz
IGV4cGxpY2l0bHkgYWxsb3dlZCB2aWEgRmVhdHVyZS1Qb2xpY3kgKHdlYi1zaGFyZSkKK1BBU1Mg
aWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dl
YnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAnbm9uZSciIE1V
U1QgTk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpLiBOb3RBbGxvd2VkRXJyb3IgVGhpcmQt
cGFydHkgaWZyYW1lcyBhcmUgbm90IGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpIHVubGVzcyBleHBs
aWNpdGx5IGFsbG93ZWQgdmlhIEZlYXR1cmUtUG9saWN5ICh3ZWItc2hhcmUpCitQQVNTIGlmcmFt
ZSBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFy
ZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgJ3NlbGYnIiBNVVNUIE5P
VCBiZSBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4gTm90QWxsb3dlZEVycm9yIFRoaXJkLXBhcnR5
IGlmcmFtZXMgYXJlIG5vdCBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKSB1bmxlc3MgZXhwbGljaXRs
eSBhbGxvd2VkIHZpYSBGZWF0dXJlLVBvbGljeSAod2ViLXNoYXJlKQorUEFTUyBpZnJhbWUgc3Jj
OiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9z
dG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICdzZWxmJyIgaXMgYWxsb3dlZCB0
byBjYWxsIHNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQz
L3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93
PSJ3ZWItc2hhcmUgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MyIgaXMgYWxsb3dlZCB0byBjYWxsIHNo
YXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAuMTo4NDQzL3dlYnNoYXJl
L3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hh
cmUgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MyIgTVVTVCBOT1QgYmUgYWxsb3dlZCB0byBjYWxsIHNo
YXJlKCkuIE5vdEFsbG93ZWRFcnJvciBUaGlyZC1wYXJ0eSBpZnJhbWVzIGFyZSBub3QgYWxsb3dl
ZCB0byBjYWxsIHNoYXJlKCkgdW5sZXNzIGV4cGxpY2l0bHkgYWxsb3dlZCB2aWEgRmVhdHVyZS1Q
b2xpY3kgKHdlYi1zaGFyZSkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLXNoYXJl
Lmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmI0OGE2MWY1MjFmNWE5NTYwMjE4YjI4MmI1MjJiMzkx
ZjFiYTExYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hh
cmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLXNoYXJlLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwx
MjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgIDxoZWFkPgorICAgIDx0aXRsZT4KKyAg
ICAgIFRlc3QgYWxsb3cgYXR0cmlidXRlIHdpdGggIndlYi1zaGFyZSIgYW5kIHNoYXJlKCkgbWV0
aG9kCisgICAgPC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0iaW5p
dGlhbC1zY2FsZT01LCB3aWR0aD1kZXZpY2Utd2lkdGgiIC8+CisgICAgPHNjcmlwdCBzcmM9Ii9q
cy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+Cisg
ICAgICB0ZXN0UnVubmVyPy5kdW1wQXNUZXh0KCk7CisgICAgICB0ZXN0UnVubmVyPy53YWl0VW50
aWxEb25lKCk7CisKKyAgICAgIGZ1bmN0aW9uIHdhaXRGb3IodGFyZ2V0LCBldmVudE5hbWUpIHsK
KyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICAgICAgdGFy
Z2V0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCByZXNvbHZlLCB7IG9uY2U6IHRydWUgfSk7
CisgICAgICAgIH0pOworICAgICAgfQorCisgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgZm9yIChjb25zdCBpZnJhbWUgb2YgZG9jdW1l
bnQucXVlcnlTZWxlY3RvckFsbCgiaWZyYW1lIikpIHsKKyAgICAgICAgICBjb25zdCB7IGVuYWJs
ZWQsIHNyYyB9ID0gaWZyYW1lLmRhdGFzZXQ7CisgICAgICAgICAgY29uc3QgaXNBbGxvd2VkID0g
ZW5hYmxlZCA9PT0gInRydWUiOworICAgICAgICAgIGNvbnN0IGFjdGlvbiA9ICJjYWxsIHNoYXJl
KCkiOworICAgICAgICAgIGlmcmFtZS5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKHsgYWN0aW9u
IH0sICIqIik7CisgICAgICAgICAgY29uc3QgeyBkYXRhOiBjbGlja01lc3NhZ2UgfSA9IGF3YWl0
IHdhaXRGb3Iod2luZG93LCAibWVzc2FnZSIpOworICAgICAgICAgIGlmIChjbGlja01lc3NhZ2Ug
IT09ICJjbGljayBtZSEiKSB7CisgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVk
IGEgY2xpY2sgcmVxdWVzdDoiICsgY2xpY2tNZXNzYWdlKTsKKyAgICAgICAgICB9CisgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGlmcmFtZSk7CisgICAgICAgICAgY29u
c3QgeyBkYXRhIH0gPSBhd2FpdCB3YWl0Rm9yKHdpbmRvdywgIm1lc3NhZ2UiKTsKKyAgICAgICAg
ICBjb25zdCB7IGV4Y2VwdGlvbk1lc3NhZ2UsIGV4Y2VwdGlvbk5hbWUsIHJlc3VsdCB9ID0gZGF0
YTsKKyAgICAgICAgICBjb25zdCBtc2cgPSBgaWZyYW1lIHNyYzogIiR7aWZyYW1lLnNyY30iIHdp
dGggYWxsb3c9IiR7CisgICAgICAgICAgICBpZnJhbWUuYWxsb3cKKyAgICAgICAgICB9IiAkewor
ICAgICAgICAgICAgaXNBbGxvd2VkID8gImlzIGFsbG93ZWQgdG8iIDogIk1VU1QgTk9UIGJlIGFs
bG93ZWQgdG8iCisgICAgICAgICAgfSAke2FjdGlvbn0uICR7ZXhjZXB0aW9uTmFtZSA/PyAiIn0g
JHtleGNlcHRpb25NZXNzYWdlID8/ICIifWA7CisgICAgICAgICAgc3dpdGNoIChyZXN1bHQpIHsK
KyAgICAgICAgICAgIGNhc2UgInNoYXJlIGNvbXBsZXRlZCI6CisgICAgICAgICAgICAgIGlzQWxs
b3dlZCA/IHRlc3RQYXNzZWQobXNnKSA6IHRlc3RGYWlsZWQobXNnKTsKKyAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICBjYXNlICJ0aHJldyI6CisgICAgICAgICAgICAgIGlmICgKKyAg
ICAgICAgICAgICAgICAhaXNBbGxvd2VkICYmCisgICAgICAgICAgICAgICAgZXhjZXB0aW9uTmFt
ZSA9PT0gIk5vdEFsbG93ZWRFcnJvciIgJiYKKyAgICAgICAgICAgICAgICBleGNlcHRpb25NZXNz
YWdlLmVuZHNXaXRoKCJGZWF0dXJlLVBvbGljeSAod2ViLXNoYXJlKSIpCisgICAgICAgICAgICAg
ICkgeworICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQobXNnKTsKKyAgICAgICAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKG1zZyk7CisgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAg
ICB0ZXN0RmFpbGVkKAorICAgICAgICAgICAgICAgIGBVbmV4cGVjdGVkIHJlc3VsdCBmcm9tICIk
e2FjdGlvbn0iOiAke3Jlc3VsdH0gLSAoJHtzcmN9KWAKKyAgICAgICAgICAgICAgKTsKKyAgICAg
ICAgICB9CisgICAgICAgICAgaWZyYW1lLnJlbW92ZSgpOworICAgICAgICB9CisgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgfSk7CisgICAgPC9zY3JpcHQ+CisgIDwvaGVh
ZD4KKyAgPGJvZHk+CisgICAgPGlmcmFtZQorICAgICAgZGF0YS1lbmFibGVkPSJmYWxzZSIKKyAg
ICAgIHNyYz0iaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hh
cmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAg
ZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAgc3JjPSIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0
bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0i
d2ViLXNoYXJlIgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAgc3JjPSJodHRwczov
L2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5o
dG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJl
IgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAgc3JjPSIuL3Jlc291cmNlcy93ZWJz
aGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAg
ICBhbGxvdz0id2ViLXNoYXJlICoiCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAgICBz
cmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBv
c3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93
PSJ3ZWItc2hhcmUgKiIKKyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iLi9y
ZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAg
PGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSAnbm9uZSciCisgICAgICBkYXRhLWVuYWJs
ZWQ9ImZhbHNlIgorICAgICAgc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jl
c291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8
aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlICdub25lJyIKKyAgICAgIGRhdGEtZW5hYmxl
ZD0iZmFsc2UiCisgICAgICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0
bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUg
J3NlbGYnIgorICAgICAgZGF0YS1lbmFibGVkPSJmYWxzZSIKKyAgICAgIHNyYz0iaHR0cHM6Ly9s
b2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRt
bCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSAn
c2VsZiciCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAgICBzcmM9Ii4vcmVzb3VyY2Vz
L3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUK
KyAgICAgIGFsbG93PSJ3ZWItc2hhcmUgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MyIKKyAgICAgIGRh
dGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJz
aGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+
CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSBodHRwczovL2xvY2FsaG9zdDo4
NDQzIgorICAgICAgZGF0YS1lbmFibGVkPSJmYWxzZSIKKyAgICAgIHNyYz0iLi9yZXNvdXJjZXMv
d2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgIDwvYm9keT4KKzwv
aHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437154</attachid>
            <date>2021-09-02 08:51:26 -0700</date>
            <delta_ts>2021-09-02 14:55:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214448-20210903015124.patch</filename>
            <type>text/plain</type>
            <size>24038</size>
            <attacher name="Marcos Caceres">marcos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxODg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjRkOTNmN2YwMzYxNDgy
Y2Y2NzY4NTRkNjQ5YzFmYTk3MjYwOWFjMS4uZmUwNDYyZTkzODQ3Yzc2Y2RiMDcxYzRlYmJjODMx
NzYwYzM5NmYxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA5LTAyICBNYXJj
b3MgQ2FjZXJlcyAgPG1hcmNvc0BtYXJjb3NjLmNvbT4KKworICAgICAgICBXZWIgU2hhcmUgcGVy
bWlzc2lvbiBwb2xpY3kgIndlYi1zaGFyZSIgYW5kICJzZWxmIiBhcyB0aGUgYWxsb3dsaXN0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ0NDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czogaHR0
cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMu
aHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1h
dHRyaWJ1dGUtc2hhcmUuaHR0cHMuaHRtbAorCisgICAgICAgICogaHRtbC9GZWF0dXJlUG9saWN5
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBvbGljeVR5cGVOYW1lKToKKyAgICAgICAgKFdlYkNv
cmU6OkZlYXR1cmVQb2xpY3k6OnBhcnNlKToKKyAgICAgICAgKFdlYkNvcmU6OkZlYXR1cmVQb2xp
Y3k6OmFsbG93cyBjb25zdCk6CisgICAgICAgICogaHRtbC9GZWF0dXJlUG9saWN5Lmg6CisgICAg
ICAgICogcGFnZS9OYXZpZ2F0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yOjpj
YW5TaGFyZSk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3I6OnNoYXJlKToKKwogMjAyMS0w
OS0wMSAgTWFyY29zIENhY2VyZXMgIDxtYXJjb3NAbWFyY29zYy5jb20+CiAKICAgICAgICAgQWRk
ICJwYXltZW50IiBwZXJtaXNzaW9ucyBwb2xpY3kKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvRmVhdHVyZVBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZlYXR1cmVQb2xp
Y3kuY3BwCmluZGV4IDBmNDIxNjNkM2VkMGJkMGI2Zjc4ZjZjZWRhYzZkNDQwMGY4MTFlZjcuLjZl
NTZjYzI5NGZhMTFiNTNjNzEwMzJmYWM4OTE2MTdiNjYzY2U4NjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvRmVhdHVyZVBvbGljeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9GZWF0dXJlUG9saWN5LmNwcApAQCAtNTYsNiArNTYsOCBAQCBzdGF0aWMgY29uc3QgY2hhciog
cG9saWN5VHlwZU5hbWUoRmVhdHVyZVBvbGljeTo6VHlwZSB0eXBlKQogICAgICAgICByZXR1cm4g
IlN5bmNYSFIiOwogICAgIGNhc2UgRmVhdHVyZVBvbGljeTo6VHlwZTo6RnVsbHNjcmVlbjoKICAg
ICAgICAgcmV0dXJuICJGdWxsc2NyZWVuIjsKKyAgICBjYXNlIEZlYXR1cmVQb2xpY3k6OlR5cGU6
OldlYlNoYXJlOgorICAgICAgICByZXR1cm4gIldlYlNoYXJlIjsKICNpZiBFTkFCTEUoREVWSUNF
X09SSUVOVEFUSU9OKQogICAgIGNhc2UgRmVhdHVyZVBvbGljeTo6VHlwZTo6R3lyb3Njb3BlOgog
ICAgICAgICByZXR1cm4gIkd5cm9zY29wZSI7CkBAIC0xNzUsNiArMTc3LDcgQEAgRmVhdHVyZVBv
bGljeSBGZWF0dXJlUG9saWN5OjpwYXJzZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IEhUTUxJ
RnJhbWVFbGVtZW50JgogICAgIGJvb2wgaXNQYXltZW50SW5pdGlhbGl6ZWQgPSBmYWxzZTsKICAg
ICBib29sIGlzU3luY1hIUkluaXRpYWxpemVkID0gZmFsc2U7CiAgICAgYm9vbCBpc0Z1bGxzY3Jl
ZW5Jbml0aWFsaXplZCA9IGZhbHNlOworICAgIGJvb2wgaXNXZWJTaGFyZUluaXRpYWxpemVkID0g
ZmFsc2U7CiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKICAgICBib29sIGlzR3lyb3Nj
b3BlSW5pdGlhbGl6ZWQgPSBmYWxzZTsKICAgICBib29sIGlzQWNjZWxlcm9tZXRlckluaXRpYWxp
emVkID0gZmFsc2U7CkBAIC0yMjUsNiArMjI4LDExIEBAIEZlYXR1cmVQb2xpY3kgRmVhdHVyZVBv
bGljeTo6cGFyc2UoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBIVE1MSUZyYW1lRWxlbWVudCYK
ICAgICAgICAgICAgIHVwZGF0ZUxpc3QoZG9jdW1lbnQsIHBvbGljeS5tX2Z1bGxzY3JlZW5SdWxl
LCBpdGVtLnN1YnN0cmluZygxMSkpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0K
KyAgICAgICAgaWYgKGl0ZW0uc3RhcnRzV2l0aCgid2ViLXNoYXJlIikpIHsKKyAgICAgICAgICAg
IGlzV2ViU2hhcmVJbml0aWFsaXplZCA9IHRydWU7CisgICAgICAgICAgICB1cGRhdGVMaXN0KGRv
Y3VtZW50LCBwb2xpY3kubV93ZWJTaGFyZVJ1bGUsIGl0ZW0uc3Vic3RyaW5nKDEwKSk7CisgICAg
ICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJ
T04pCiAgICAgICAgIGlmIChpdGVtLnN0YXJ0c1dpdGgoImd5cm9zY29wZSIpKSB7CiAgICAgICAg
ICAgICBpc0d5cm9zY29wZUluaXRpYWxpemVkID0gdHJ1ZTsKQEAgLTI2NCw2ICsyNzIsOCBAQCBG
ZWF0dXJlUG9saWN5IEZlYXR1cmVQb2xpY3k6OnBhcnNlKERvY3VtZW50JiBkb2N1bWVudCwgY29u
c3QgSFRNTElGcmFtZUVsZW1lbnQmCiAgICAgICAgIHBvbGljeS5tX2dlb2xvY2F0aW9uUnVsZS5h
bGxvd2VkTGlzdC5hZGQoZG9jdW1lbnQuc2VjdXJpdHlPcmlnaW4oKS5kYXRhKCkpOwogICAgIGlm
ICghaXNQYXltZW50SW5pdGlhbGl6ZWQpCiAgICAgICAgIHBvbGljeS5tX3BheW1lbnRSdWxlLmFs
bG93ZWRMaXN0LmFkZChkb2N1bWVudC5zZWN1cml0eU9yaWdpbigpLmRhdGEoKSk7CisgICAgaWYg
KCFpc1dlYlNoYXJlSW5pdGlhbGl6ZWQpCisgICAgICAgIHBvbGljeS5tX3dlYlNoYXJlUnVsZS5h
bGxvd2VkTGlzdC5hZGQoZG9jdW1lbnQuc2VjdXJpdHlPcmlnaW4oKS5kYXRhKCkpOwogI2lmIEVO
QUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAgICAgaWYgKCFpc0d5cm9zY29wZUluaXRpYWxpemVk
KQogICAgICAgICBwb2xpY3kubV9neXJvc2NvcGVSdWxlLmFsbG93ZWRMaXN0LmFkZChkb2N1bWVu
dC5zZWN1cml0eU9yaWdpbigpLmRhdGEoKSk7CkBAIC0zMTcsNiArMzI3LDggQEAgYm9vbCBGZWF0
dXJlUG9saWN5OjphbGxvd3MoVHlwZSB0eXBlLCBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIG9y
aWdpbikgY29uc3QKICAgICAgICAgcmV0dXJuIGlzQWxsb3dlZEJ5RmVhdHVyZVBvbGljeShtX3N5
bmNYSFJSdWxlLCBvcmlnaW4pOwogICAgIGNhc2UgVHlwZTo6RnVsbHNjcmVlbjoKICAgICAgICAg
cmV0dXJuIGlzQWxsb3dlZEJ5RmVhdHVyZVBvbGljeShtX2Z1bGxzY3JlZW5SdWxlLCBvcmlnaW4p
OworICAgIGNhc2UgVHlwZTo6V2ViU2hhcmU6CisgICAgICAgIHJldHVybiBpc0FsbG93ZWRCeUZl
YXR1cmVQb2xpY3kobV93ZWJTaGFyZVJ1bGUsIG9yaWdpbik7CiAjaWYgRU5BQkxFKERFVklDRV9P
UklFTlRBVElPTikKICAgICBjYXNlIFR5cGU6Okd5cm9zY29wZToKICAgICAgICAgcmV0dXJuIGlz
QWxsb3dlZEJ5RmVhdHVyZVBvbGljeShtX2d5cm9zY29wZVJ1bGUsIG9yaWdpbik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZlYXR1cmVQb2xpY3kuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvRmVhdHVyZVBvbGljeS5oCmluZGV4IDc5ZTY2ZmIxNjQxYjI0MTZiYjM5NzZiNzZhMTQ4
YThhMTBmZGFmNzUuLmU2NDBmOGE1ZDcyM2RlMDFlOWE2NGI1MTA2NjZiOTNhNjc5N2E3OTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmVhdHVyZVBvbGljeS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvRmVhdHVyZVBvbGljeS5oCkBAIC00Nyw2ICs0Nyw3IEBAIHB1YmxpYzoK
ICAgICAgICAgUGF5bWVudCwKICAgICAgICAgU3luY1hIUiwKICAgICAgICAgRnVsbHNjcmVlbiwK
KyAgICAgICAgV2ViU2hhcmUsCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKICAgICAg
ICAgR3lyb3Njb3BlLAogICAgICAgICBBY2NlbGVyb21ldGVyLApAQCAtNzMsNiArNzQsOCBAQCBw
cml2YXRlOgogICAgIEFsbG93UnVsZSBtX3BheW1lbnRSdWxlOwogICAgIEFsbG93UnVsZSBtX3N5
bmNYSFJSdWxlOwogICAgIEFsbG93UnVsZSBtX2Z1bGxzY3JlZW5SdWxlOworICAgIEFsbG93UnVs
ZSBtX3dlYlNoYXJlUnVsZTsKKwogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAgICAg
QWxsb3dSdWxlIG1fZ3lyb3Njb3BlUnVsZTsKICAgICBBbGxvd1J1bGUgbV9hY2NlbGVyb21ldGVy
UnVsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcAppbmRleCBjMGEwYzE4ZDc0ODBhMTY0YjBi
ZTkwOGFlMTE3YmQ3NDIyNTI5OGIxLi4wNjk4MTNiMTE5ZGE1ZTVjOGMxZTVmYTBjMDk1OGM0NjUz
YWFkYzYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAj
aW5jbHVkZSAiRE9NUGx1Z2luLmgiCiAjaW5jbHVkZSAiRE9NUGx1Z2luQXJyYXkuaCIKICNpbmNs
dWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkZlYXR1cmVQb2xpY3kuaCIKICNpbmNsdWRlICJG
cmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJD
bGllbnQuaCIKQEAgLTEyNyw3ICsxMjgsNyBAQCBzdGF0aWMgc3RkOjpvcHRpb25hbDxVUkw+IHNo
YXJlYWJsZVVSTEZvclNoYXJlRGF0YShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZQogYm9v
bCBOYXZpZ2F0b3I6OmNhblNoYXJlKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU2hhcmVEYXRh
JiBkYXRhKQogewogICAgIGF1dG8qIGZyYW1lID0gdGhpcy0+ZnJhbWUoKTsKLSAgICBpZiAoIWZy
YW1lIHx8ICFmcmFtZS0+cGFnZSgpKQorICAgIGlmICghZnJhbWUgfHwgIWZyYW1lLT5wYWdlKCkg
fHwgIWlzRmVhdHVyZVBvbGljeUFsbG93ZWRCeURvY3VtZW50QW5kQWxsT3duZXJzKEZlYXR1cmVQ
b2xpY3k6OlR5cGU6OldlYlNoYXJlLCAqZnJhbWUtPmRvY3VtZW50KCksIExvZ0ZlYXR1cmVQb2xp
Y3lGYWlsdXJlOjpZZXMpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBib29sIGhhc1No
YXJlYWJsZVRpdGxlT3JUZXh0ID0gIWRhdGEudGl0bGUuaXNOdWxsKCkgfHwgIWRhdGEudGV4dC5p
c051bGwoKTsKQEAgLTE0Myw2ICsxNDQsMTIgQEAgYm9vbCBOYXZpZ2F0b3I6OmNhblNoYXJlKERv
Y3VtZW50JiBkb2N1bWVudCwgY29uc3QgU2hhcmVEYXRhJiBkYXRhKQogCiB2b2lkIE5hdmlnYXRv
cjo6c2hhcmUoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTaGFyZURhdGEmIGRhdGEsIFJlZjxE
ZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKIHsKKyAgICBhdXRvKiBmcmFtZSA9IHRoaXMtPmZy
YW1lKCk7CisgICAgaWYgKCFpc0ZlYXR1cmVQb2xpY3lBbGxvd2VkQnlEb2N1bWVudEFuZEFsbE93
bmVycyhGZWF0dXJlUG9saWN5OjpUeXBlOjpXZWJTaGFyZSwgKmZyYW1lLT5kb2N1bWVudCgpLCBM
b2dGZWF0dXJlUG9saWN5RmFpbHVyZTo6WWVzKSkgeworICAgICAgICBwcm9taXNlLT5yZWplY3Qo
Tm90QWxsb3dlZEVycm9yLCAiVGhpcmQtcGFydHkgaWZyYW1lcyBhcmUgbm90IGFsbG93ZWQgdG8g
Y2FsbCBzaGFyZSgpIHVubGVzcyBleHBsaWNpdGx5IGFsbG93ZWQgdmlhIEZlYXR1cmUtUG9saWN5
ICh3ZWItc2hhcmUpIl9zKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmIChtX2hh
c1BlbmRpbmdTaGFyZSkgewogICAgICAgICBwcm9taXNlLT5yZWplY3QoTm90QWxsb3dlZEVycm9y
KTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGNjYzI5MGVlMDAxODhiMzFhNTRlNWNhYjk1ZmQx
ZjU5MWQzZjhhNDMuLmE0ZmQwYTFmNjFkNjg0NDZhYjc1ZTFlYTYyMTAyY2VlY2RmNGJmOWIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0wOS0wMiAgTWFyY29zIENhY2VyZXMgIDxtYXJjb3NA
bWFyY29zYy5jb20+CisKKyAgICAgICAgV2ViIFNoYXJlIHBlcm1pc3Npb24gcG9saWN5ICJ3ZWIt
c2hhcmUiIGFuZCAic2VsZiIgYXMgdGhlIGFsbG93bGlzdAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0NDQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNoYXJlL3Jlc291cmNl
cy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1jYW5TaGFyZS5odHRwcy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxs
b3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLXNoYXJlLmh0dHBzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1h
bGxvdy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMuaHRtbDogQWRkZWQuCisKIDIwMjEtMDktMDEgIE1h
cmNvcyBDYWNlcmVzICA8bWFyY29zQG1hcmNvc2MuY29tPgogCiAgICAgICAgIEFkZCAicGF5bWVu
dCIgcGVybWlzc2lvbnMgcG9saWN5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yZTFlMWQ1YjA2ZTgwZGI3NDgwZjI0NmYwOTdiNWNkYzNhMTRkMWRhCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS9yZXNvdXJj
ZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbApAQCAtMCwwICsxLDY0IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHN0eWxlPgorICBodG1sIHsKKyAgICBo
ZWlnaHQ6IDEwMCU7CisgIH0KKyAgYm9keSB7CisgICAgZGlzcGxheTogZ3JpZDsKKyAgfQorICBi
dXR0b24geworICAgIGhlaWdodDogMTAwdmg7CisgICAgd2lkdGg6IDEwMCU7CisgIH0KKzwvc3R5
bGU+Cis8Ym9keT4KKyAgPGJ1dHRvbiBpZD0ic2hhcmUtYnV0dG9uIj5TSEFSRSE8L2J1dHRvbj4K
KyAgPHNjcmlwdD4KKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigKKyAgICAgICJtZXNzYWdl
IiwKKyAgICAgIGFzeW5jIChldmVudCkgPT4geworICAgICAgICBjb25zdCBzaGFyZUJ1dHRvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaGFyZS1idXR0b24iKTsKKyAgICAgICAgY29uc3Qg
eyBhY3Rpb24gfSA9IGV2ZW50LmRhdGE7CisgICAgICAgIGxldCByZXN1bHQgPSBudWxsOworICAg
ICAgICBsZXQgZXhjZXB0aW9uTWVzc2FnZTsKKyAgICAgICAgbGV0IGV4Y2VwdGlvbk5hbWU7Cisg
ICAgICAgIHN3aXRjaCAoYWN0aW9uKSB7CisgICAgICAgICAgY2FzZSAiY2FsbCBjYW5TaGFyZSgp
IjoKKyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgIHJlc3VsdCA9IG5hdmlnYXRvci5j
YW5TaGFyZSh7IHRleHQ6ICJzb21lIHRleHQiIH0pOworICAgICAgICAgICAgfSBjYXRjaCAoZSkg
eworICAgICAgICAgICAgICBleGNlcHRpb25NZXNzYWdlID0gZS5tZXNzYWdlOworICAgICAgICAg
ICAgICBleGNlcHRpb25OYW1lID0gZS5uYW1lOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgY2FzZSAiY2FsbCBzaGFyZSgpIjoKKyAgICAgICAgICAgIGF3YWl0
IHVzZXJBY3RpdmF0aW9uRnJvbVBhcmVudChzaGFyZUJ1dHRvbiwgZXZlbnQpOworICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgYXdhaXQgbmF2aWdhdG9yLnNoYXJlKHsgdGV4dDogInNv
bWUgdGV4dCIgfSk7CisgICAgICAgICAgICAgIHJlc3VsdCA9ICJzaGFyZSBjb21wbGV0ZWQiOwor
ICAgICAgICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAgICByZXN1bHQgPSAidGhyZXci
OworICAgICAgICAgICAgICBleGNlcHRpb25NZXNzYWdlID0gZS5tZXNzYWdlOworICAgICAgICAg
ICAgICBleGNlcHRpb25OYW1lID0gZS5uYW1lOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihg
VW5rbm93biBhY3Rpb246ICR7YWN0aW9ufWApOworICAgICAgICB9CisgICAgICAgIGV2ZW50LnNv
dXJjZS5wb3N0TWVzc2FnZSgKKyAgICAgICAgICB7IGFjdGlvbiwgcmVzdWx0LCBleGNlcHRpb25N
ZXNzYWdlLCBleGNlcHRpb25OYW1lIH0sCisgICAgICAgICAgZXZlbnQub3JpZ2luCisgICAgICAg
ICk7CisgICAgICB9LAorICAgICAgeyBvbmNlOiB0cnVlIH0KKyAgICApOworCisgICAgZnVuY3Rp
b24gdXNlckFjdGl2YXRpb25Gcm9tUGFyZW50KHNoYXJlQnV0dG9uLCBldmVudCkgeworICAgICAg
cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICAgIHNoYXJlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgcmVzb2x2ZSwgeyBvbmNlOiB0cnVlIH0pOworICAgICAg
ICBldmVudC5zb3VyY2UucG9zdE1lc3NhZ2UoImNsaWNrIG1lISIsIGV2ZW50Lm9yaWdpbik7Cisg
ICAgICB9KTsKKyAgICB9CisgIDwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2FuU2hh
cmUuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93
ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjQxZGY3M2E0MGI2OWQ2Mzg2ZmZiNThmYWQyMzY4ZTkwNTAyNDgxY2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93
LWF0dHJpYnV0ZS1jYW5TaGFyZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAor
Q09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUnIGNoZWNrIGZhaWxlZCBm
b3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovL2xvY2FsaG9zdDo4NDQzJyBhbmQgYWxsb3cg
YXR0cmlidXRlICcnLgorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUn
IGNoZWNrIGZhaWxlZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovL2xvY2FsaG9zdDo4
NDQzJyBhbmQgYWxsb3cgYXR0cmlidXRlICd3ZWItc2hhcmUgJ25vbmUnJy4KK0NPTlNPTEUgTUVT
U0FHRTogRmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3
aXRoIG9yaWdpbiAnaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAn
d2ViLXNoYXJlICdub25lJycuCitDT05TT0xFIE1FU1NBR0U6IEZlYXR1cmUgcG9saWN5ICdXZWJT
aGFyZScgY2hlY2sgZmFpbGVkIGZvciBpZnJhbWUgd2l0aCBvcmlnaW4gJ2h0dHBzOi8vbG9jYWxo
b3N0Ojg0NDMnIGFuZCBhbGxvdyBhdHRyaWJ1dGUgJ3dlYi1zaGFyZSAnc2VsZicnLgorQ09OU09M
RSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUnIGNoZWNrIGZhaWxlZCBmb3IgaWZy
YW1lIHdpdGggb3JpZ2luICdodHRwczovLzEyNy4wLjAuMTo4NDQzJyBhbmQgYWxsb3cgYXR0cmli
dXRlICd3ZWItc2hhcmUgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MycuCitQQVNTIGlmcmFtZSBzcmM6
ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0
bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSIiIE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBj
YW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJz
aGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0iIiBp
cyBhbGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8v
bG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0
bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSIgaXMgYWxsb3dlZCB0byBjYWxsIGNhblNoYXJlKCku
CitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAuMTo4NDQzL3dlYnNoYXJlL3Jlc291
cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUiIGlz
IGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly9s
b2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRt
bCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICoiIGlzIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgp
LgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNv
dXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICoi
IGlzIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6
Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2Uu
aHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICdub25lJyIgTVVTVCBOT1QgYmUgYWxsb3dlZCB0
byBjYWxsIGNhblNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAuMTo4
NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFs
bG93PSJ3ZWItc2hhcmUgJ25vbmUnIiBNVVNUIE5PVCBiZSBhbGxvd2VkIHRvIGNhbGwgY2FuU2hh
cmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUv
cmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFy
ZSAnc2VsZiciIE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBp
ZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vi
c2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICdzZWxmJyIgaXMg
YWxsb3dlZCB0byBjYWxsIGNhblNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovL2xv
Y2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1s
IiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MyIgaXMgYWxsb3dl
ZCB0byBjYWxsIGNhblNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAu
MTo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRo
IGFsbG93PSJ3ZWItc2hhcmUgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MyIgTVVTVCBOT1QgYmUgYWxs
b3dlZCB0byBjYWxsIGNhblNoYXJlKCkuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJp
YnV0ZS1jYW5TaGFyZS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE4MTdkMTFlMmFjN2Q0NDcwODUy
MjY2MzgzNmU3M2YwN2NiMWEwNTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1jYW5TaGFyZS5odHRwcy5o
dG1sCkBAIC0wLDAgKzEsMTExIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4K
KyAgICA8dGl0bGU+CisgICAgICBUZXN0IGFsbG93IGF0dHJpYnV0ZSB3aXRoICJ3ZWItc2hhcmUi
IGFuZCBjYW5TaGFyZSgpIG1ldGhvZAorICAgIDwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9ImluaXRpYWwtc2NhbGU9NSwgd2lkdGg9ZGV2aWNlLXdpZHRoIiAvPgor
ICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
ICAgIDxzY3JpcHQ+CisgICAgICB0ZXN0UnVubmVyPy5kdW1wQXNUZXh0KCk7CisgICAgICB0ZXN0
UnVubmVyPy53YWl0VW50aWxEb25lKCk7CisKKyAgICAgIGZ1bmN0aW9uIHdhaXRGb3IodGFyZ2V0
LCBldmVudE5hbWUpIHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7
CisgICAgICAgICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCByZXNvbHZlLCB7
IG9uY2U6IHRydWUgfSk7CisgICAgICAgIH0pOworICAgICAgfQorCisgICAgICB3aW5kb3cuYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgZm9yIChjb25zdCBp
ZnJhbWUgb2YgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiaWZyYW1lIikpIHsKKyAgICAgICAg
ICBjb25zdCB7IGVuYWJsZWQsIHNyYyB9ID0gaWZyYW1lLmRhdGFzZXQ7CisgICAgICAgICAgY29u
c3QgaXNBbGxvd2VkID0gZW5hYmxlZCA9PT0gInRydWUiOworICAgICAgICAgIGNvbnN0IGFjdGlv
biA9ICJjYWxsIGNhblNoYXJlKCkiOworICAgICAgICAgIGlmcmFtZS5jb250ZW50V2luZG93LnBv
c3RNZXNzYWdlKHsgYWN0aW9uIH0sICIqIik7CisgICAgICAgICAgY29uc3QgeyBkYXRhIH0gPSBh
d2FpdCB3YWl0Rm9yKHdpbmRvdywgIm1lc3NhZ2UiKTsKKyAgICAgICAgICBjb25zdCB7IGV4Y2Vw
dGlvbk1lc3NhZ2UsIGV4Y2VwdGlvbk5hbWUsIHJlc3VsdCB9ID0gZGF0YTsKKworICAgICAgICAg
IGNvbnN0IG1zZyA9IGBpZnJhbWUgc3JjOiAiJHtpZnJhbWUuc3JjfSIgd2l0aCBhbGxvdz0iJHsK
KyAgICAgICAgICAgIGlmcmFtZS5hbGxvdworICAgICAgICAgIH0iICR7CisgICAgICAgICAgICBp
c0FsbG93ZWQgPyAiaXMgYWxsb3dlZCB0byIgOiAiTVVTVCBOT1QgYmUgYWxsb3dlZCB0byIKKyAg
ICAgICAgICB9ICR7YWN0aW9ufS4gJHtleGNlcHRpb25OYW1lID8/ICIifSAke2V4Y2VwdGlvbk1l
c3NhZ2UgPz8gIiJ9YDsKKworICAgICAgICAgIHN3aXRjaCAocmVzdWx0KSB7CisgICAgICAgICAg
ICBjYXNlIHRydWU6CisgICAgICAgICAgICAgIGlzQWxsb3dlZCA/IHRlc3RQYXNzZWQobXNnKSA6
IHRlc3RGYWlsZWQobXNnKTsKKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNl
IGZhbHNlOgorICAgICAgICAgICAgICAhaXNBbGxvd2VkID8gdGVzdFBhc3NlZChtc2cpIDogdGVz
dEZhaWxlZChtc2cpOworICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6
CisgICAgICAgICAgICAgIHRlc3RGYWlsZWQoCisgICAgICAgICAgICAgICAgYFVuZXhwZWN0ZWQg
cmVzdWx0IGZyb20gIiR7YWN0aW9ufSI6ICR7cmVzdWx0fSAtICgke2lmcmFtZS5zcmN9KWAKKyAg
ICAgICAgICAgICAgKTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7CisgICAgICB9KTsKKyAgICA8L3NjcmlwdD4KKyAgPC9oZWFkPgorICA8
Ym9keT4KKyAgICA8aWZyYW1lCisgICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAgc3Jj
PSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0
bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBkYXRhLWVu
YWJsZWQ9InRydWUiCisgICAgICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdl
Lmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hh
cmUiCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAgICBzcmM9Imh0dHBzOi8vbG9jYWxo
b3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisg
ICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUiCisgICAg
ICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAgICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBv
c3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93
PSJ3ZWItc2hhcmUgKiIKKyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iaHR0
cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3Nh
Z2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1z
aGFyZSAqIgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAgc3JjPSIuL3Jlc291cmNl
cy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1l
CisgICAgICBhbGxvdz0id2ViLXNoYXJlICdub25lJyIKKyAgICAgIGRhdGEtZW5hYmxlZD0iZmFs
c2UiCisgICAgICBzcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2Vz
L3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUK
KyAgICAgIGFsbG93PSJ3ZWItc2hhcmUgJ25vbmUnIgorICAgICAgZGF0YS1lbmFibGVkPSJmYWxz
ZSIKKyAgICAgIHNyYz0iLi9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAg
ICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSAnc2VsZici
CisgICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAgc3JjPSJodHRwczovL2xvY2FsaG9z
dDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAg
ID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlICdzZWxmJyIK
KyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iLi9yZXNvdXJjZXMvd2Vic2hh
cmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAg
YWxsb3c9IndlYi1zaGFyZSBodHRwczovL2xvY2FsaG9zdDo4NDQzIgorICAgICAgZGF0YS1lbmFi
bGVkPSJ0cnVlIgorICAgICAgc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jl
c291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8
aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMiCisg
ICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAgc3JjPSIuL3Jlc291cmNlcy93ZWJzaGFy
ZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxv
dy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjAwMDE1YWQwMGY1ZDA3N2RiNjljNmRmYWNhZGY3MWQ4ZTdmNDQz
MjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dl
YnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxOCBAQAorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUnIGNoZWNr
IGZhaWxlZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovL2xvY2FsaG9zdDo4NDQzJyBh
bmQgYWxsb3cgYXR0cmlidXRlICcnLgorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAn
V2ViU2hhcmUnIGNoZWNrIGZhaWxlZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovL2xv
Y2FsaG9zdDo4NDQzJyBhbmQgYWxsb3cgYXR0cmlidXRlICd3ZWItc2hhcmUgJ25vbmUnJy4KK0NP
TlNPTEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9y
IGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0MycgYW5kIGFsbG93IGF0
dHJpYnV0ZSAnd2ViLXNoYXJlICdub25lJycuCitDT05TT0xFIE1FU1NBR0U6IEZlYXR1cmUgcG9s
aWN5ICdXZWJTaGFyZScgY2hlY2sgZmFpbGVkIGZvciBpZnJhbWUgd2l0aCBvcmlnaW4gJ2h0dHBz
Oi8vbG9jYWxob3N0Ojg0NDMnIGFuZCBhbGxvdyBhdHRyaWJ1dGUgJ3dlYi1zaGFyZSAnc2VsZicn
LgorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUnIGNoZWNrIGZhaWxl
ZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovLzEyNy4wLjAuMTo4NDQzJyBhbmQgYWxs
b3cgYXR0cmlidXRlICd3ZWItc2hhcmUgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MycuCitQQVNTIGlm
cmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJz
aGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSIiIE1VU1QgTk9UIGJlIGFsbG93ZWQg
dG8gY2FsbCBzaGFyZSgpLiBOb3RBbGxvd2VkRXJyb3IgVGhpcmQtcGFydHkgaWZyYW1lcyBhcmUg
bm90IGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpIHVubGVzcyBleHBsaWNpdGx5IGFsbG93ZWQgdmlh
IEZlYXR1cmUtUG9saWN5ICh3ZWItc2hhcmUpCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEy
Ny4wLjAuMTo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1s
IiB3aXRoIGFsbG93PSIiIGlzIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpLgorUEFTUyBpZnJhbWUg
c3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUt
cG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlIiBpcyBhbGxvd2VkIHRvIGNh
bGwgc2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vi
c2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9Indl
Yi1zaGFyZSIgaXMgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJo
dHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVz
c2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgKiIgaXMgYWxsb3dlZCB0byBjYWxsIHNo
YXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAuMTo4NDQzL3dlYnNoYXJl
L3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hh
cmUgKiIgaXMgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRw
czovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2Fn
ZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgJ25vbmUnIiBNVVNUIE5PVCBiZSBhbGxvd2Vk
IHRvIGNhbGwgc2hhcmUoKS4gTm90QWxsb3dlZEVycm9yIFRoaXJkLXBhcnR5IGlmcmFtZXMgYXJl
IG5vdCBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKSB1bmxlc3MgZXhwbGljaXRseSBhbGxvd2VkIHZp
YSBGZWF0dXJlLVBvbGljeSAod2ViLXNoYXJlKQorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8x
MjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRt
bCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICdub25lJyIgTVVTVCBOT1QgYmUgYWxsb3dlZCB0byBj
YWxsIHNoYXJlKCkuIE5vdEFsbG93ZWRFcnJvciBUaGlyZC1wYXJ0eSBpZnJhbWVzIGFyZSBub3Qg
YWxsb3dlZCB0byBjYWxsIHNoYXJlKCkgdW5sZXNzIGV4cGxpY2l0bHkgYWxsb3dlZCB2aWEgRmVh
dHVyZS1Qb2xpY3kgKHdlYi1zaGFyZSkKK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxo
b3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdp
dGggYWxsb3c9IndlYi1zaGFyZSAnc2VsZiciIE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBz
aGFyZSgpLiBOb3RBbGxvd2VkRXJyb3IgVGhpcmQtcGFydHkgaWZyYW1lcyBhcmUgbm90IGFsbG93
ZWQgdG8gY2FsbCBzaGFyZSgpIHVubGVzcyBleHBsaWNpdGx5IGFsbG93ZWQgdmlhIEZlYXR1cmUt
UG9saWN5ICh3ZWItc2hhcmUpCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAuMTo4
NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFs
bG93PSJ3ZWItc2hhcmUgJ3NlbGYnIiBpcyBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4KK1BBU1Mg
aWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dl
YnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSBodHRwczovL2xv
Y2FsaG9zdDo4NDQzIiBpcyBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNy
YzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBv
c3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSBodHRwczovL2xvY2FsaG9zdDo4
NDQzIiBNVVNUIE5PVCBiZSBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4gTm90QWxsb3dlZEVycm9y
IFRoaXJkLXBhcnR5IGlmcmFtZXMgYXJlIG5vdCBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKSB1bmxl
c3MgZXhwbGljaXRseSBhbGxvd2VkIHZpYSBGZWF0dXJlLVBvbGljeSAod2ViLXNoYXJlKQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93
LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
aGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yYjQ4YTYxZjUyMWY1YTk1NjAyMThiMjgyYjUyMmIzOTFmMWJhMTFjCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRy
aWJ1dGUtc2hhcmUuaHR0cHMuaHRtbApAQCAtMCwwICsxLDEyNCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHRpdGxlPgorICAgICAgVGVzdCBhbGxvdyBhdHRyaWJ1
dGUgd2l0aCAid2ViLXNoYXJlIiBhbmQgc2hhcmUoKSBtZXRob2QKKyAgICA8L3RpdGxlPgorICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJpbml0aWFsLXNjYWxlPTUsIHdpZHRoPWRl
dmljZS13aWR0aCIgLz4KKyAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgIHRlc3RSdW5uZXI/LmR1bXBB
c1RleHQoKTsKKyAgICAgIHRlc3RSdW5uZXI/LndhaXRVbnRpbERvbmUoKTsKKworICAgICAgZnVu
Y3Rpb24gd2FpdEZvcih0YXJnZXQsIGV2ZW50TmFtZSkgeworICAgICAgICByZXR1cm4gbmV3IFBy
b21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgICAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihl
dmVudE5hbWUsIHJlc29sdmUsIHsgb25jZTogdHJ1ZSB9KTsKKyAgICAgICAgfSk7CisgICAgICB9
CisKKyAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICBmb3IgKGNvbnN0IGlmcmFtZSBvZiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJp
ZnJhbWUiKSkgeworICAgICAgICAgIGNvbnN0IHsgZW5hYmxlZCwgc3JjIH0gPSBpZnJhbWUuZGF0
YXNldDsKKyAgICAgICAgICBjb25zdCBpc0FsbG93ZWQgPSBlbmFibGVkID09PSAidHJ1ZSI7Cisg
ICAgICAgICAgY29uc3QgYWN0aW9uID0gImNhbGwgc2hhcmUoKSI7CisgICAgICAgICAgaWZyYW1l
LmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoeyBhY3Rpb24gfSwgIioiKTsKKyAgICAgICAgICBj
b25zdCB7IGRhdGE6IGNsaWNrTWVzc2FnZSB9ID0gYXdhaXQgd2FpdEZvcih3aW5kb3csICJtZXNz
YWdlIik7CisgICAgICAgICAgaWYgKGNsaWNrTWVzc2FnZSAhPT0gImNsaWNrIG1lISIpIHsKKyAg
ICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgYSBjbGljayByZXF1ZXN0OiIgKyBj
bGlja01lc3NhZ2UpOworICAgICAgICAgIH0KKyAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoaWZyYW1lKTsKKyAgICAgICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IHdh
aXRGb3Iod2luZG93LCAibWVzc2FnZSIpOworICAgICAgICAgIGNvbnN0IHsgZXhjZXB0aW9uTWVz
c2FnZSwgZXhjZXB0aW9uTmFtZSwgcmVzdWx0IH0gPSBkYXRhOworICAgICAgICAgIGNvbnN0IG1z
ZyA9IGBpZnJhbWUgc3JjOiAiJHtpZnJhbWUuc3JjfSIgd2l0aCBhbGxvdz0iJHsKKyAgICAgICAg
ICAgIGlmcmFtZS5hbGxvdworICAgICAgICAgIH0iICR7CisgICAgICAgICAgICBpc0FsbG93ZWQg
PyAiaXMgYWxsb3dlZCB0byIgOiAiTVVTVCBOT1QgYmUgYWxsb3dlZCB0byIKKyAgICAgICAgICB9
ICR7YWN0aW9ufS4gJHtleGNlcHRpb25OYW1lID8/ICIifSAke2V4Y2VwdGlvbk1lc3NhZ2UgPz8g
IiJ9YDsKKyAgICAgICAgICBzd2l0Y2ggKHJlc3VsdCkgeworICAgICAgICAgICAgY2FzZSAic2hh
cmUgY29tcGxldGVkIjoKKyAgICAgICAgICAgICAgaXNBbGxvd2VkID8gdGVzdFBhc3NlZChtc2cp
IDogdGVzdEZhaWxlZChtc2cpOworICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNh
c2UgInRocmV3IjoKKyAgICAgICAgICAgICAgaWYgKAorICAgICAgICAgICAgICAgICFpc0FsbG93
ZWQgJiYKKyAgICAgICAgICAgICAgICBleGNlcHRpb25OYW1lID09PSAiTm90QWxsb3dlZEVycm9y
IiAmJgorICAgICAgICAgICAgICAgIGV4Y2VwdGlvbk1lc3NhZ2UuZW5kc1dpdGgoIkZlYXR1cmUt
UG9saWN5ICh3ZWItc2hhcmUpIikKKyAgICAgICAgICAgICAgKSB7CisgICAgICAgICAgICAgICAg
dGVzdFBhc3NlZChtc2cpOworICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQobXNnKTsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgIHRlc3RGYWlsZWQoCisgICAgICAg
ICAgICAgICAgYFVuZXhwZWN0ZWQgcmVzdWx0IGZyb20gIiR7YWN0aW9ufSI6ICR7cmVzdWx0fSAt
ICgke3NyY30pYAorICAgICAgICAgICAgICApOworICAgICAgICAgIH0KKyAgICAgICAgICBpZnJh
bWUucmVtb3ZlKCk7CisgICAgICAgIH0KKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
CisgICAgICB9KTsKKyAgICA8L3NjcmlwdD4KKyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8aWZy
YW1lCisgICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAgc3JjPSJodHRwczovL2xvY2Fs
aG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgor
ICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisg
ICAgICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwv
aWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUiCisgICAgICBkYXRh
LWVuYWJsZWQ9InRydWUiCisgICAgICBzcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hh
cmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgor
ICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUiCisgICAgICBkYXRhLWVuYWJsZWQ9
InRydWUiCisgICAgICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwi
CisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUgKiIK
KyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iaHR0cHM6Ly9sb2NhbGhvc3Q6
ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+
PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSAqIgorICAgICAg
ZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAgc3JjPSIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0
bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0i
d2ViLXNoYXJlICdub25lJyIKKyAgICAgIGRhdGEtZW5hYmxlZD0iZmFsc2UiCisgICAgICBzcmM9
Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3Rt
ZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3
ZWItc2hhcmUgJ25vbmUnIgorICAgICAgZGF0YS1lbmFibGVkPSJmYWxzZSIKKyAgICAgIHNyYz0i
Li9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+Cisg
ICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSAnc2VsZiciCisgICAgICBkYXRhLWVu
YWJsZWQ9ImZhbHNlIgorICAgICAgc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJl
L3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAg
ICA8aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlICdzZWxmJyIKKyAgICAgIGRhdGEtZW5h
YmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iLi9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2Uu
aHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFy
ZSBodHRwczovL2xvY2FsaG9zdDo4NDQzIgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAg
ICAgc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFy
ZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBh
bGxvdz0id2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMiCisgICAgICBkYXRhLWVuYWJs
ZWQ9ImZhbHNlIgorICAgICAgc3JjPSIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5o
dG1sIgorICAgID48L2lmcmFtZT4KKyAgPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437200</attachid>
            <date>2021-09-02 14:55:08 -0700</date>
            <delta_ts>2021-09-02 17:30:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214448-20210903075507.patch</filename>
            <type>text/plain</type>
            <size>24411</size>
            <attacher name="Marcos Caceres">marcos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxODg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjRkOTNmN2YwMzYxNDgy
Y2Y2NzY4NTRkNjQ5YzFmYTk3MjYwOWFjMS4uZjIyYWQ1MDgyNjJkZWUxYTViYjA0YjA4YTgzNjFm
NzhjMjVkOGM3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA5LTAyICBNYXJj
b3MgQ2FjZXJlcyAgPG1hcmNvc0BtYXJjb3NjLmNvbT4KKworICAgICAgICBXZWIgU2hhcmUgcGVy
bWlzc2lvbiBwb2xpY3kgIndlYi1zaGFyZSIgYW5kICJzZWxmIiBhcyB0aGUgYWxsb3dsaXN0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ0NDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEZXZpbiBSb3Vzc28uCisKKyAgICAgICAgVGVzdHM6IGh0dHAv
dGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLmh0
bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0
cmlidXRlLXNoYXJlLmh0dHBzLmh0bWwKKworICAgICAgICAqIGh0bWwvRmVhdHVyZVBvbGljeS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpwb2xpY3lUeXBlTmFtZSk6CisgICAgICAgIChXZWJDb3Jl
OjpGZWF0dXJlUG9saWN5OjpwYXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpGZWF0dXJlUG9saWN5
OjphbGxvd3MgY29uc3QpOgorICAgICAgICAqIGh0bWwvRmVhdHVyZVBvbGljeS5oOgorICAgICAg
ICAqIHBhZ2UvTmF2aWdhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvcjo6Y2Fu
U2hhcmUpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yOjpzaGFyZSk6CisKIDIwMjEtMDkt
MDEgIE1hcmNvcyBDYWNlcmVzICA8bWFyY29zQG1hcmNvc2MuY29tPgogCiAgICAgICAgIEFkZCAi
cGF5bWVudCIgcGVybWlzc2lvbnMgcG9saWN5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0ZlYXR1cmVQb2xpY3kuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5
LmNwcAppbmRleCAwZjQyMTYzZDNlZDBiZDBiNmY3OGY2Y2VkYWM2ZDQ0MDBmODExZWY3Li42ZTU2
Y2MyOTRmYTExYjUzYzcxMDMyZmFjODkxNjE3YjY2M2NlODYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0ZlYXR1cmVQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
RmVhdHVyZVBvbGljeS5jcHAKQEAgLTU2LDYgKzU2LDggQEAgc3RhdGljIGNvbnN0IGNoYXIqIHBv
bGljeVR5cGVOYW1lKEZlYXR1cmVQb2xpY3k6OlR5cGUgdHlwZSkKICAgICAgICAgcmV0dXJuICJT
eW5jWEhSIjsKICAgICBjYXNlIEZlYXR1cmVQb2xpY3k6OlR5cGU6OkZ1bGxzY3JlZW46CiAgICAg
ICAgIHJldHVybiAiRnVsbHNjcmVlbiI7CisgICAgY2FzZSBGZWF0dXJlUG9saWN5OjpUeXBlOjpX
ZWJTaGFyZToKKyAgICAgICAgcmV0dXJuICJXZWJTaGFyZSI7CiAjaWYgRU5BQkxFKERFVklDRV9P
UklFTlRBVElPTikKICAgICBjYXNlIEZlYXR1cmVQb2xpY3k6OlR5cGU6Okd5cm9zY29wZToKICAg
ICAgICAgcmV0dXJuICJHeXJvc2NvcGUiOwpAQCAtMTc1LDYgKzE3Nyw3IEBAIEZlYXR1cmVQb2xp
Y3kgRmVhdHVyZVBvbGljeTo6cGFyc2UoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBIVE1MSUZy
YW1lRWxlbWVudCYKICAgICBib29sIGlzUGF5bWVudEluaXRpYWxpemVkID0gZmFsc2U7CiAgICAg
Ym9vbCBpc1N5bmNYSFJJbml0aWFsaXplZCA9IGZhbHNlOwogICAgIGJvb2wgaXNGdWxsc2NyZWVu
SW5pdGlhbGl6ZWQgPSBmYWxzZTsKKyAgICBib29sIGlzV2ViU2hhcmVJbml0aWFsaXplZCA9IGZh
bHNlOwogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAgICAgYm9vbCBpc0d5cm9zY29w
ZUluaXRpYWxpemVkID0gZmFsc2U7CiAgICAgYm9vbCBpc0FjY2VsZXJvbWV0ZXJJbml0aWFsaXpl
ZCA9IGZhbHNlOwpAQCAtMjI1LDYgKzIyOCwxMSBAQCBGZWF0dXJlUG9saWN5IEZlYXR1cmVQb2xp
Y3k6OnBhcnNlKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgSFRNTElGcmFtZUVsZW1lbnQmCiAg
ICAgICAgICAgICB1cGRhdGVMaXN0KGRvY3VtZW50LCBwb2xpY3kubV9mdWxsc2NyZWVuUnVsZSwg
aXRlbS5zdWJzdHJpbmcoMTEpKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9Cisg
ICAgICAgIGlmIChpdGVtLnN0YXJ0c1dpdGgoIndlYi1zaGFyZSIpKSB7CisgICAgICAgICAgICBp
c1dlYlNoYXJlSW5pdGlhbGl6ZWQgPSB0cnVlOworICAgICAgICAgICAgdXBkYXRlTGlzdChkb2N1
bWVudCwgcG9saWN5Lm1fd2ViU2hhcmVSdWxlLCBpdGVtLnN1YnN0cmluZygxMCkpOworICAgICAg
ICAgICAgY29udGludWU7CisgICAgICAgIH0KICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9O
KQogICAgICAgICBpZiAoaXRlbS5zdGFydHNXaXRoKCJneXJvc2NvcGUiKSkgewogICAgICAgICAg
ICAgaXNHeXJvc2NvcGVJbml0aWFsaXplZCA9IHRydWU7CkBAIC0yNjQsNiArMjcyLDggQEAgRmVh
dHVyZVBvbGljeSBGZWF0dXJlUG9saWN5OjpwYXJzZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0
IEhUTUxJRnJhbWVFbGVtZW50JgogICAgICAgICBwb2xpY3kubV9nZW9sb2NhdGlvblJ1bGUuYWxs
b3dlZExpc3QuYWRkKGRvY3VtZW50LnNlY3VyaXR5T3JpZ2luKCkuZGF0YSgpKTsKICAgICBpZiAo
IWlzUGF5bWVudEluaXRpYWxpemVkKQogICAgICAgICBwb2xpY3kubV9wYXltZW50UnVsZS5hbGxv
d2VkTGlzdC5hZGQoZG9jdW1lbnQuc2VjdXJpdHlPcmlnaW4oKS5kYXRhKCkpOworICAgIGlmICgh
aXNXZWJTaGFyZUluaXRpYWxpemVkKQorICAgICAgICBwb2xpY3kubV93ZWJTaGFyZVJ1bGUuYWxs
b3dlZExpc3QuYWRkKGRvY3VtZW50LnNlY3VyaXR5T3JpZ2luKCkuZGF0YSgpKTsKICNpZiBFTkFC
TEUoREVWSUNFX09SSUVOVEFUSU9OKQogICAgIGlmICghaXNHeXJvc2NvcGVJbml0aWFsaXplZCkK
ICAgICAgICAgcG9saWN5Lm1fZ3lyb3Njb3BlUnVsZS5hbGxvd2VkTGlzdC5hZGQoZG9jdW1lbnQu
c2VjdXJpdHlPcmlnaW4oKS5kYXRhKCkpOwpAQCAtMzE3LDYgKzMyNyw4IEBAIGJvb2wgRmVhdHVy
ZVBvbGljeTo6YWxsb3dzKFR5cGUgdHlwZSwgY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiBvcmln
aW4pIGNvbnN0CiAgICAgICAgIHJldHVybiBpc0FsbG93ZWRCeUZlYXR1cmVQb2xpY3kobV9zeW5j
WEhSUnVsZSwgb3JpZ2luKTsKICAgICBjYXNlIFR5cGU6OkZ1bGxzY3JlZW46CiAgICAgICAgIHJl
dHVybiBpc0FsbG93ZWRCeUZlYXR1cmVQb2xpY3kobV9mdWxsc2NyZWVuUnVsZSwgb3JpZ2luKTsK
KyAgICBjYXNlIFR5cGU6OldlYlNoYXJlOgorICAgICAgICByZXR1cm4gaXNBbGxvd2VkQnlGZWF0
dXJlUG9saWN5KG1fd2ViU2hhcmVSdWxlLCBvcmlnaW4pOwogI2lmIEVOQUJMRShERVZJQ0VfT1JJ
RU5UQVRJT04pCiAgICAgY2FzZSBUeXBlOjpHeXJvc2NvcGU6CiAgICAgICAgIHJldHVybiBpc0Fs
bG93ZWRCeUZlYXR1cmVQb2xpY3kobV9neXJvc2NvcGVSdWxlLCBvcmlnaW4pOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5LmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0ZlYXR1cmVQb2xpY3kuaAppbmRleCA3OWU2NmZiMTY0MWIyNDE2YmIzOTc2Yjc2YTE0OGE4
YTEwZmRhZjc1Li5lNjQwZjhhNWQ3MjNkZTAxZTlhNjRiNTEwNjY2YjkzYTY3OTdhNzkyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZlYXR1cmVQb2xpY3kuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0ZlYXR1cmVQb2xpY3kuaApAQCAtNDcsNiArNDcsNyBAQCBwdWJsaWM6CiAg
ICAgICAgIFBheW1lbnQsCiAgICAgICAgIFN5bmNYSFIsCiAgICAgICAgIEZ1bGxzY3JlZW4sCisg
ICAgICAgIFdlYlNoYXJlLAogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAgICAgICAg
IEd5cm9zY29wZSwKICAgICAgICAgQWNjZWxlcm9tZXRlciwKQEAgLTczLDYgKzc0LDggQEAgcHJp
dmF0ZToKICAgICBBbGxvd1J1bGUgbV9wYXltZW50UnVsZTsKICAgICBBbGxvd1J1bGUgbV9zeW5j
WEhSUnVsZTsKICAgICBBbGxvd1J1bGUgbV9mdWxsc2NyZWVuUnVsZTsKKyAgICBBbGxvd1J1bGUg
bV93ZWJTaGFyZVJ1bGU7CisKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQogICAgIEFs
bG93UnVsZSBtX2d5cm9zY29wZVJ1bGU7CiAgICAgQWxsb3dSdWxlIG1fYWNjZWxlcm9tZXRlclJ1
bGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAKaW5kZXggYzBhMGMxOGQ3NDgwYTE2NGIwYmU5
MDhhZTExN2JkNzQyMjUyOThiMS4uYTQwYWViMGRmZTAwNTdiMGUzMTMwMjM2YzUxOTY3OTU0Njc3
YTlmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2lu
Y2x1ZGUgIkRPTVBsdWdpbi5oIgogI2luY2x1ZGUgIkRPTVBsdWdpbkFycmF5LmgiCiAjaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJGZWF0dXJlUG9saWN5LmgiCiAjaW5jbHVkZSAiRnJh
bWUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xp
ZW50LmgiCkBAIC0xMzAsNiArMTMxLDkgQEAgYm9vbCBOYXZpZ2F0b3I6OmNhblNoYXJlKERvY3Vt
ZW50JiBkb2N1bWVudCwgY29uc3QgU2hhcmVEYXRhJiBkYXRhKQogICAgIGlmICghZnJhbWUgfHwg
IWZyYW1lLT5wYWdlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmICghaXNGZWF0
dXJlUG9saWN5QWxsb3dlZEJ5RG9jdW1lbnRBbmRBbGxPd25lcnMoRmVhdHVyZVBvbGljeTo6VHlw
ZTo6V2ViU2hhcmUsIGRvY3VtZW50LCBMb2dGZWF0dXJlUG9saWN5RmFpbHVyZTo6WWVzKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgYm9vbCBoYXNTaGFyZWFibGVUaXRsZU9yVGV4dCA9
ICFkYXRhLnRpdGxlLmlzTnVsbCgpIHx8ICFkYXRhLnRleHQuaXNOdWxsKCk7CiAgICAgYm9vbCBo
YXNTaGFyZWFibGVVUkwgPSAhIXNoYXJlYWJsZVVSTEZvclNoYXJlRGF0YShkb2N1bWVudCwgZGF0
YSk7CiAjaWYgRU5BQkxFKEZJTEVfU0hBUkUpCkBAIC0xNDMsNiArMTQ3LDExIEBAIGJvb2wgTmF2
aWdhdG9yOjpjYW5TaGFyZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFNoYXJlRGF0YSYgZGF0
YSkKIAogdm9pZCBOYXZpZ2F0b3I6OnNoYXJlKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU2hh
cmVEYXRhJiBkYXRhLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiB7CisgICAgaWYg
KCFpc0ZlYXR1cmVQb2xpY3lBbGxvd2VkQnlEb2N1bWVudEFuZEFsbE93bmVycyhGZWF0dXJlUG9s
aWN5OjpUeXBlOjpXZWJTaGFyZSwgZG9jdW1lbnQsIExvZ0ZlYXR1cmVQb2xpY3lGYWlsdXJlOjpZ
ZXMpKSB7CisgICAgICAgIHByb21pc2UtPnJlamVjdChOb3RBbGxvd2VkRXJyb3IsICJUaGlyZC1w
YXJ0eSBpZnJhbWVzIGFyZSBub3QgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkgdW5sZXNzIGV4cGxp
Y2l0bHkgYWxsb3dlZCB2aWEgRmVhdHVyZS1Qb2xpY3kgKHdlYi1zaGFyZSkiX3MpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKG1faGFzUGVuZGluZ1NoYXJlKSB7CiAgICAgICAg
IHByb21pc2UtPnJlamVjdChOb3RBbGxvd2VkRXJyb3IpOwogICAgICAgICByZXR1cm47CkBAIC0x
NjksNyArMTc4LDcgQEAgdm9pZCBOYXZpZ2F0b3I6OnNoYXJlKERvY3VtZW50JiBkb2N1bWVudCwg
Y29uc3QgU2hhcmVEYXRhJiBkYXRhLCBSZWY8RGVmZXJyZWRQcm8KICAgICBpZiAoZG9jdW1lbnQu
c2V0dGluZ3MoKS53ZWJTaGFyZUZpbGVBUElFbmFibGVkKCkgJiYgIWRhdGEuZmlsZXMuaXNFbXB0
eSgpKSB7CiAgICAgICAgIGlmIChtX2xvYWRlcikKICAgICAgICAgICAgIG1fbG9hZGVyLT5jYW5j
ZWwoKTsKLSAgICAgICAgCisKICAgICAgICAgbV9sb2FkZXIgPSBTaGFyZURhdGFSZWFkZXI6OmNy
ZWF0ZShbdGhpcywgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldIChFeGNlcHRpb25PcjxTaGFy
ZURhdGFXaXRoUGFyc2VkVVJMJj4gcmVhZERhdGEpIG11dGFibGUgewogICAgICAgICAgICAgc2hv
d1NoYXJlRGF0YShyZWFkRGF0YSwgV1RGTW92ZShwcm9taXNlKSk7CiAgICAgICAgIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGNjYzI5MGVlMDAxODhiMzFhNTRlNWNhYjk1ZmQxZjU5MWQzZjhhNDMuLmUwYzM0MzExNzY1
ZTg2ZWEzNDJlMzViN2QzZmFiNDZjYjJjNmYxMWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAy
MS0wOS0wMiAgTWFyY29zIENhY2VyZXMgIDxtYXJjb3NAbWFyY29zYy5jb20+CisKKyAgICAgICAg
V2ViIFNoYXJlIHBlcm1pc3Npb24gcG9saWN5ICJ3ZWItc2hhcmUiIGFuZCAic2VsZiIgYXMgdGhl
IGFsbG93bGlzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjE0NDQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGV2aW4gUm91c3NvLgorCisgICAgICAg
ICogaHR0cC90ZXN0cy93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1h
dHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1jYW5TaGFyZS5odHRw
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFs
bG93LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLXNoYXJlLmh0dHBz
Lmh0bWw6IEFkZGVkLgorCiAyMDIxLTA5LTAxICBNYXJjb3MgQ2FjZXJlcyAgPG1hcmNvc0BtYXJj
b3NjLmNvbT4KIAogICAgICAgICBBZGQgInBheW1lbnQiIHBlcm1pc3Npb25zIHBvbGljeQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hh
cmUtcG9zdG1lc3NhZ2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUvcmVz
b3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmUxZTFkNWIwNmU4
MGRiNzQ4MGYyNDZmMDk3YjVjZGMzYTE0ZDFkYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0
bWwKQEAgLTAsMCArMSw2NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCIgLz4KKzxzdHlsZT4KKyAgaHRtbCB7CisgICAgaGVpZ2h0OiAxMDAlOworICB9CisgIGJvZHkg
eworICAgIGRpc3BsYXk6IGdyaWQ7CisgIH0KKyAgYnV0dG9uIHsKKyAgICBoZWlnaHQ6IDEwMHZo
OworICAgIHdpZHRoOiAxMDAlOworICB9Cis8L3N0eWxlPgorPGJvZHk+CisgIDxidXR0b24gaWQ9
InNoYXJlLWJ1dHRvbiI+U0hBUkUhPC9idXR0b24+CisgIDxzY3JpcHQ+CisgICAgd2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIoCisgICAgICAibWVzc2FnZSIsCisgICAgICBhc3luYyAoZXZlbnQpID0+
IHsKKyAgICAgICAgY29uc3Qgc2hhcmVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c2hhcmUtYnV0dG9uIik7CisgICAgICAgIGNvbnN0IHsgYWN0aW9uIH0gPSBldmVudC5kYXRhOwor
ICAgICAgICBsZXQgcmVzdWx0ID0gbnVsbDsKKyAgICAgICAgbGV0IGV4Y2VwdGlvbk1lc3NhZ2U7
CisgICAgICAgIGxldCBleGNlcHRpb25OYW1lOworICAgICAgICBzd2l0Y2ggKGFjdGlvbikgewor
ICAgICAgICAgIGNhc2UgImNhbGwgY2FuU2hhcmUoKSI6CisgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICByZXN1bHQgPSBuYXZpZ2F0b3IuY2FuU2hhcmUoeyB0ZXh0OiAic29tZSB0ZXh0
IiB9KTsKKyAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgICAgZXhjZXB0aW9u
TWVzc2FnZSA9IGUubWVzc2FnZTsKKyAgICAgICAgICAgICAgZXhjZXB0aW9uTmFtZSA9IGUubmFt
ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGNhc2UgImNh
bGwgc2hhcmUoKSI6CisgICAgICAgICAgICBhd2FpdCB1c2VyQWN0aXZhdGlvbkZyb21QYXJlbnQo
c2hhcmVCdXR0b24sIGV2ZW50KTsKKyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgIGF3
YWl0IG5hdmlnYXRvci5zaGFyZSh7IHRleHQ6ICJzb21lIHRleHQiIH0pOworICAgICAgICAgICAg
ICByZXN1bHQgPSAic2hhcmUgY29tcGxldGVkIjsKKyAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsK
KyAgICAgICAgICAgICAgcmVzdWx0ID0gInRocmV3IjsKKyAgICAgICAgICAgICAgZXhjZXB0aW9u
TWVzc2FnZSA9IGUubWVzc2FnZTsKKyAgICAgICAgICAgICAgZXhjZXB0aW9uTmFtZSA9IGUubmFt
ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGRlZmF1bHQ6
CisgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gYWN0aW9uOiAke2FjdGlvbn1g
KTsKKyAgICAgICAgfQorICAgICAgICBldmVudC5zb3VyY2UucG9zdE1lc3NhZ2UoCisgICAgICAg
ICAgeyBhY3Rpb24sIHJlc3VsdCwgZXhjZXB0aW9uTWVzc2FnZSwgZXhjZXB0aW9uTmFtZSB9LAor
ICAgICAgICAgIGV2ZW50Lm9yaWdpbgorICAgICAgICApOworICAgICAgfSwKKyAgICAgIHsgb25j
ZTogdHJ1ZSB9CisgICAgKTsKKworICAgIGZ1bmN0aW9uIHVzZXJBY3RpdmF0aW9uRnJvbVBhcmVu
dChzaGFyZUJ1dHRvbiwgZXZlbnQpIHsKKyAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2
ZSkgPT4geworICAgICAgICBzaGFyZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHJl
c29sdmUsIHsgb25jZTogdHJ1ZSB9KTsKKyAgICAgICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdl
KCJjbGljayBtZSEiLCBldmVudC5vcmlnaW4pOworICAgICAgfSk7CisgICAgfQorICA8L3Njcmlw
dD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUv
d2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLWNh
blNoYXJlLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MWRmNzNhNDBiNjlkNjM4NmZm
YjU4ZmFkMjM2OGU5MDUwMjQ4MWNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTggQEAKK0NPTlNPTEUgTUVTU0FHRTogRmVhdHVyZSBw
b2xpY3kgJ1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0
cHM6Ly9sb2NhbGhvc3Q6ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAnJy4KK0NPTlNPTEUgTUVT
U0FHRTogRmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3
aXRoIG9yaWdpbiAnaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAn
d2ViLXNoYXJlICdub25lJycuCitDT05TT0xFIE1FU1NBR0U6IEZlYXR1cmUgcG9saWN5ICdXZWJT
aGFyZScgY2hlY2sgZmFpbGVkIGZvciBpZnJhbWUgd2l0aCBvcmlnaW4gJ2h0dHBzOi8vMTI3LjAu
MC4xOjg0NDMnIGFuZCBhbGxvdyBhdHRyaWJ1dGUgJ3dlYi1zaGFyZSAnbm9uZScnLgorQ09OU09M
RSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUnIGNoZWNrIGZhaWxlZCBmb3IgaWZy
YW1lIHdpdGggb3JpZ2luICdodHRwczovL2xvY2FsaG9zdDo4NDQzJyBhbmQgYWxsb3cgYXR0cmli
dXRlICd3ZWItc2hhcmUgJ3NlbGYnJy4KK0NPTlNPTEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kg
J1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6Ly8x
MjcuMC4wLjE6ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAnd2ViLXNoYXJlIGh0dHBzOi8vbG9j
YWxob3N0Ojg0NDMnLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93
ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0i
IiBNVVNUIE5PVCBiZSBhbGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNy
YzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBv
c3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IiIgaXMgYWxsb3dlZCB0byBjYWxsIGNhblNoYXJl
KCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jl
c291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUi
IGlzIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6
Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2Uu
aHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlIiBpcyBhbGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUo
KS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVz
b3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAq
IiBpcyBhbGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBz
Oi8vMTI3LjAuMC4xOjg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdl
Lmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAqIiBpcyBhbGxvd2VkIHRvIGNhbGwgY2FuU2hh
cmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUv
cmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFy
ZSAnbm9uZSciIE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBp
ZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vi
c2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICdub25lJyIgTVVT
VCBOT1QgYmUgYWxsb3dlZCB0byBjYWxsIGNhblNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJo
dHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVz
c2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgJ3NlbGYnIiBNVVNUIE5PVCBiZSBhbGxv
d2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAu
MC4xOjg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdp
dGggYWxsb3c9IndlYi1zaGFyZSAnc2VsZiciIGlzIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgp
LgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNv
dXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlIGh0
dHBzOi8vbG9jYWxob3N0Ojg0NDMiIGlzIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFT
UyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMv
d2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlIGh0dHBzOi8v
bG9jYWxob3N0Ojg0NDMiIE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFs
bG93LWF0dHJpYnV0ZS1jYW5TaGFyZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xODE3ZDExZTJhYzdkNDQ3MDg1MjI2NjM4MzZlNzNmMDdjYjFhMDU4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1h
bGxvdy1hdHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMuaHRtbApAQCAtMCwwICsxLDExMSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHRpdGxlPgorICAgICAgVGVzdCBh
bGxvdyBhdHRyaWJ1dGUgd2l0aCAid2ViLXNoYXJlIiBhbmQgY2FuU2hhcmUoKSBtZXRob2QKKyAg
ICA8L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJpbml0aWFsLXNj
YWxlPTUsIHdpZHRoPWRldmljZS13aWR0aCIgLz4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgdGVzdFJ1
bm5lcj8uZHVtcEFzVGV4dCgpOworICAgICAgdGVzdFJ1bm5lcj8ud2FpdFVudGlsRG9uZSgpOwor
CisgICAgICBmdW5jdGlvbiB3YWl0Rm9yKHRhcmdldCwgZXZlbnROYW1lKSB7CisgICAgICAgIHJl
dHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgICAgIHRhcmdldC5hZGRFdmVu
dExpc3RlbmVyKGV2ZW50TmFtZSwgcmVzb2x2ZSwgeyBvbmNlOiB0cnVlIH0pOworICAgICAgICB9
KTsKKyAgICAgIH0KKworICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgIGZvciAoY29uc3QgaWZyYW1lIG9mIGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3JBbGwoImlmcmFtZSIpKSB7CisgICAgICAgICAgY29uc3QgeyBlbmFibGVkLCBzcmMgfSA9
IGlmcmFtZS5kYXRhc2V0OworICAgICAgICAgIGNvbnN0IGlzQWxsb3dlZCA9IGVuYWJsZWQgPT09
ICJ0cnVlIjsKKyAgICAgICAgICBjb25zdCBhY3Rpb24gPSAiY2FsbCBjYW5TaGFyZSgpIjsKKyAg
ICAgICAgICBpZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSh7IGFjdGlvbiB9LCAiKiIp
OworICAgICAgICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgd2FpdEZvcih3aW5kb3csICJtZXNz
YWdlIik7CisgICAgICAgICAgY29uc3QgeyBleGNlcHRpb25NZXNzYWdlLCBleGNlcHRpb25OYW1l
LCByZXN1bHQgfSA9IGRhdGE7CisKKyAgICAgICAgICBjb25zdCBtc2cgPSBgaWZyYW1lIHNyYzog
IiR7aWZyYW1lLnNyY30iIHdpdGggYWxsb3c9IiR7CisgICAgICAgICAgICBpZnJhbWUuYWxsb3cK
KyAgICAgICAgICB9IiAkeworICAgICAgICAgICAgaXNBbGxvd2VkID8gImlzIGFsbG93ZWQgdG8i
IDogIk1VU1QgTk9UIGJlIGFsbG93ZWQgdG8iCisgICAgICAgICAgfSAke2FjdGlvbn0uICR7ZXhj
ZXB0aW9uTmFtZSA/PyAiIn0gJHtleGNlcHRpb25NZXNzYWdlID8/ICIifWA7CisKKyAgICAgICAg
ICBzd2l0Y2ggKHJlc3VsdCkgeworICAgICAgICAgICAgY2FzZSB0cnVlOgorICAgICAgICAgICAg
ICBpc0FsbG93ZWQgPyB0ZXN0UGFzc2VkKG1zZykgOiB0ZXN0RmFpbGVkKG1zZyk7CisgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBmYWxzZToKKyAgICAgICAgICAgICAgIWlz
QWxsb3dlZCA/IHRlc3RQYXNzZWQobXNnKSA6IHRlc3RGYWlsZWQobXNnKTsKKyAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KAorICAgICAgICAgICAgICAgIGBVbmV4cGVjdGVkIHJlc3VsdCBmcm9tICIke2FjdGlvbn0iOiAk
e3Jlc3VsdH0gLSAoJHtpZnJhbWUuc3JjfSlgCisgICAgICAgICAgICAgICk7CisgICAgICAgICAg
fQorICAgICAgICB9CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgfSk7
CisgICAgPC9zY3JpcHQ+CisgIDwvaGVhZD4KKyAgPGJvZHk+CisgICAgPGlmcmFtZQorICAgICAg
ZGF0YS1lbmFibGVkPSJmYWxzZSIKKyAgICAgIHNyYz0iaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93
ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJh
bWU+CisgICAgPGlmcmFtZQorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAgc3JjPSIu
L3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAg
ICA8aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlIgorICAgICAgZGF0YS1lbmFibGVkPSJ0
cnVlIgorICAgICAgc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNl
cy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1l
CisgICAgICBhbGxvdz0id2ViLXNoYXJlIgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAg
ICAgc3JjPSIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lm
cmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlICoiCisgICAgICBkYXRh
LWVuYWJsZWQ9InRydWUiCisgICAgICBzcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hh
cmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgor
ICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUgKiIKKyAgICAgIGRhdGEtZW5hYmxl
ZD0idHJ1ZSIKKyAgICAgIHNyYz0iLi9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRt
bCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSAn
bm9uZSciCisgICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAgc3JjPSJodHRwczovL2xv
Y2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1s
IgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlICdu
b25lJyIKKyAgICAgIGRhdGEtZW5hYmxlZD0iZmFsc2UiCisgICAgICBzcmM9Ii4vcmVzb3VyY2Vz
L3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUK
KyAgICAgIGFsbG93PSJ3ZWItc2hhcmUgJ3NlbGYnIgorICAgICAgZGF0YS1lbmFibGVkPSJmYWxz
ZSIKKyAgICAgIHNyYz0iaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMv
d2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQor
ICAgICAgYWxsb3c9IndlYi1zaGFyZSAnc2VsZiciCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUi
CisgICAgICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAg
PjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUgaHR0cHM6Ly9s
b2NhbGhvc3Q6ODQ0MyIKKyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iaHR0
cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3Nh
Z2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1z
aGFyZSBodHRwczovL2xvY2FsaG9zdDo4NDQzIgorICAgICAgZGF0YS1lbmFibGVkPSJmYWxzZSIK
KyAgICAgIHNyYz0iLi9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+
PC9pZnJhbWU+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLXNoYXJlLmh0dHBzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxs
b3ctYXR0cmlidXRlLXNoYXJlLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMDAxNWFk
MDBmNWQwNzdkYjY5YzZkZmFjYWRmNzFkOGU3ZjQ0MzIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtc2hh
cmUuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTggQEAKK0NPTlNPTEUgTUVTU0FHRTog
RmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3aXRoIG9y
aWdpbiAnaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAnJy4KK0NP
TlNPTEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9y
IGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MycgYW5kIGFsbG93IGF0
dHJpYnV0ZSAnd2ViLXNoYXJlICdub25lJycuCitDT05TT0xFIE1FU1NBR0U6IEZlYXR1cmUgcG9s
aWN5ICdXZWJTaGFyZScgY2hlY2sgZmFpbGVkIGZvciBpZnJhbWUgd2l0aCBvcmlnaW4gJ2h0dHBz
Oi8vMTI3LjAuMC4xOjg0NDMnIGFuZCBhbGxvdyBhdHRyaWJ1dGUgJ3dlYi1zaGFyZSAnbm9uZScn
LgorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUnIGNoZWNrIGZhaWxl
ZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovL2xvY2FsaG9zdDo4NDQzJyBhbmQgYWxs
b3cgYXR0cmlidXRlICd3ZWItc2hhcmUgJ3NlbGYnJy4KK0NPTlNPTEUgTUVTU0FHRTogRmVhdHVy
ZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3aXRoIG9yaWdpbiAn
aHR0cHM6Ly8xMjcuMC4wLjE6ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAnd2ViLXNoYXJlIGh0
dHBzOi8vbG9jYWxob3N0Ojg0NDMnLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly9sb2NhbGhv
c3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0
aCBhbGxvdz0iIiBNVVNUIE5PVCBiZSBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4gTm90QWxsb3dl
ZEVycm9yIFRoaXJkLXBhcnR5IGlmcmFtZXMgYXJlIG5vdCBhbGxvd2VkIHRvIGNhbGwgc2hhcmUo
KSB1bmxlc3MgZXhwbGljaXRseSBhbGxvd2VkIHZpYSBGZWF0dXJlLVBvbGljeSAod2ViLXNoYXJl
KQorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNv
dXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0iIiBpcyBhbGxvd2Vk
IHRvIGNhbGwgc2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxob3N0Ojg0
NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxs
b3c9IndlYi1zaGFyZSIgaXMgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkuCitQQVNTIGlmcmFtZSBz
cmM6ICJodHRwczovLzEyNy4wLjAuMTo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1w
b3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUiIGlzIGFsbG93ZWQgdG8gY2Fs
bCBzaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJz
aGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2Vi
LXNoYXJlICoiIGlzIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAi
aHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1l
c3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICoiIGlzIGFsbG93ZWQgdG8gY2FsbCBz
aGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFy
ZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNo
YXJlICdub25lJyIgTVVTVCBOT1QgYmUgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkuIE5vdEFsbG93
ZWRFcnJvciBUaGlyZC1wYXJ0eSBpZnJhbWVzIGFyZSBub3QgYWxsb3dlZCB0byBjYWxsIHNoYXJl
KCkgdW5sZXNzIGV4cGxpY2l0bHkgYWxsb3dlZCB2aWEgRmVhdHVyZS1Qb2xpY3kgKHdlYi1zaGFy
ZSkKK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vic2hhcmUvcmVz
b3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAn
bm9uZSciIE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpLiBOb3RBbGxvd2VkRXJy
b3IgVGhpcmQtcGFydHkgaWZyYW1lcyBhcmUgbm90IGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpIHVu
bGVzcyBleHBsaWNpdGx5IGFsbG93ZWQgdmlhIEZlYXR1cmUtUG9saWN5ICh3ZWItc2hhcmUpCitQ
QVNTIGlmcmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNl
cy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgJ3NlbGYn
IiBNVVNUIE5PVCBiZSBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4gTm90QWxsb3dlZEVycm9yIFRo
aXJkLXBhcnR5IGlmcmFtZXMgYXJlIG5vdCBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKSB1bmxlc3Mg
ZXhwbGljaXRseSBhbGxvd2VkIHZpYSBGZWF0dXJlLVBvbGljeSAod2ViLXNoYXJlKQorUEFTUyBp
ZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vi
c2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICdzZWxmJyIgaXMg
YWxsb3dlZCB0byBjYWxsIHNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovL2xvY2Fs
aG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3
aXRoIGFsbG93PSJ3ZWItc2hhcmUgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MyIgaXMgYWxsb3dlZCB0
byBjYWxsIHNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAuMTo4NDQz
L3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93
PSJ3ZWItc2hhcmUgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MyIgTVVTVCBOT1QgYmUgYWxsb3dlZCB0
byBjYWxsIHNoYXJlKCkuIE5vdEFsbG93ZWRFcnJvciBUaGlyZC1wYXJ0eSBpZnJhbWVzIGFyZSBu
b3QgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkgdW5sZXNzIGV4cGxpY2l0bHkgYWxsb3dlZCB2aWEg
RmVhdHVyZS1Qb2xpY3kgKHdlYi1zaGFyZSkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmli
dXRlLXNoYXJlLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmI0OGE2MWY1MjFmNWE5NTYwMjE4YjI4
MmI1MjJiMzkxZjFiYTExYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLXNoYXJlLmh0dHBzLmh0bWwKQEAg
LTAsMCArMSwxMjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgIDxoZWFkPgorICAgIDx0
aXRsZT4KKyAgICAgIFRlc3QgYWxsb3cgYXR0cmlidXRlIHdpdGggIndlYi1zaGFyZSIgYW5kIHNo
YXJlKCkgbWV0aG9kCisgICAgPC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0iaW5pdGlhbC1zY2FsZT01LCB3aWR0aD1kZXZpY2Utd2lkdGgiIC8+CisgICAgPHNjcmlw
dCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgIDxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxz
Y3JpcHQ+CisgICAgICB0ZXN0UnVubmVyPy5kdW1wQXNUZXh0KCk7CisgICAgICB0ZXN0UnVubmVy
Py53YWl0VW50aWxEb25lKCk7CisKKyAgICAgIGZ1bmN0aW9uIHdhaXRGb3IodGFyZ2V0LCBldmVu
dE5hbWUpIHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAg
ICAgICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCByZXNvbHZlLCB7IG9uY2U6
IHRydWUgfSk7CisgICAgICAgIH0pOworICAgICAgfQorCisgICAgICB3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgZm9yIChjb25zdCBpZnJhbWUg
b2YgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiaWZyYW1lIikpIHsKKyAgICAgICAgICBjb25z
dCB7IGVuYWJsZWQsIHNyYyB9ID0gaWZyYW1lLmRhdGFzZXQ7CisgICAgICAgICAgY29uc3QgaXNB
bGxvd2VkID0gZW5hYmxlZCA9PT0gInRydWUiOworICAgICAgICAgIGNvbnN0IGFjdGlvbiA9ICJj
YWxsIHNoYXJlKCkiOworICAgICAgICAgIGlmcmFtZS5jb250ZW50V2luZG93LnBvc3RNZXNzYWdl
KHsgYWN0aW9uIH0sICIqIik7CisgICAgICAgICAgY29uc3QgeyBkYXRhOiBjbGlja01lc3NhZ2Ug
fSA9IGF3YWl0IHdhaXRGb3Iod2luZG93LCAibWVzc2FnZSIpOworICAgICAgICAgIGlmIChjbGlj
a01lc3NhZ2UgIT09ICJjbGljayBtZSEiKSB7CisgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkV4cGVjdGVkIGEgY2xpY2sgcmVxdWVzdDoiICsgY2xpY2tNZXNzYWdlKTsKKyAgICAgICAgICB9
CisgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGlmcmFtZSk7CisgICAg
ICAgICAgY29uc3QgeyBkYXRhIH0gPSBhd2FpdCB3YWl0Rm9yKHdpbmRvdywgIm1lc3NhZ2UiKTsK
KyAgICAgICAgICBjb25zdCB7IGV4Y2VwdGlvbk1lc3NhZ2UsIGV4Y2VwdGlvbk5hbWUsIHJlc3Vs
dCB9ID0gZGF0YTsKKyAgICAgICAgICBjb25zdCBtc2cgPSBgaWZyYW1lIHNyYzogIiR7aWZyYW1l
LnNyY30iIHdpdGggYWxsb3c9IiR7CisgICAgICAgICAgICBpZnJhbWUuYWxsb3cKKyAgICAgICAg
ICB9IiAkeworICAgICAgICAgICAgaXNBbGxvd2VkID8gImlzIGFsbG93ZWQgdG8iIDogIk1VU1Qg
Tk9UIGJlIGFsbG93ZWQgdG8iCisgICAgICAgICAgfSAke2FjdGlvbn0uICR7ZXhjZXB0aW9uTmFt
ZSA/PyAiIn0gJHtleGNlcHRpb25NZXNzYWdlID8/ICIifWA7CisgICAgICAgICAgc3dpdGNoIChy
ZXN1bHQpIHsKKyAgICAgICAgICAgIGNhc2UgInNoYXJlIGNvbXBsZXRlZCI6CisgICAgICAgICAg
ICAgIGlzQWxsb3dlZCA/IHRlc3RQYXNzZWQobXNnKSA6IHRlc3RGYWlsZWQobXNnKTsKKyAgICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlICJ0aHJldyI6CisgICAgICAgICAgICAg
IGlmICgKKyAgICAgICAgICAgICAgICAhaXNBbGxvd2VkICYmCisgICAgICAgICAgICAgICAgZXhj
ZXB0aW9uTmFtZSA9PT0gIk5vdEFsbG93ZWRFcnJvciIgJiYKKyAgICAgICAgICAgICAgICBleGNl
cHRpb25NZXNzYWdlLmVuZHNXaXRoKCJGZWF0dXJlLVBvbGljeSAod2ViLXNoYXJlKSIpCisgICAg
ICAgICAgICAgICkgeworICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQobXNnKTsKKyAgICAgICAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKG1zZyk7CisgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0OgorICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKAorICAgICAgICAgICAgICAgIGBVbmV4cGVjdGVkIHJlc3Vs
dCBmcm9tICIke2FjdGlvbn0iOiAke3Jlc3VsdH0gLSAoJHtzcmN9KWAKKyAgICAgICAgICAgICAg
KTsKKyAgICAgICAgICB9CisgICAgICAgICAgaWZyYW1lLnJlbW92ZSgpOworICAgICAgICB9Cisg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgfSk7CisgICAgPC9zY3JpcHQ+
CisgIDwvaGVhZD4KKyAgPGJvZHk+CisgICAgPGlmcmFtZQorICAgICAgZGF0YS1lbmFibGVkPSJm
YWxzZSIKKyAgICAgIHNyYz0iaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJj
ZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFt
ZQorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAgc3JjPSIuL3Jlc291cmNlcy93ZWJz
aGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAg
ICBhbGxvdz0id2ViLXNoYXJlIgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAgc3Jj
PSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0
bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0i
d2ViLXNoYXJlIgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAgc3JjPSIuL3Jlc291
cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZy
YW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlICoiCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUi
CisgICAgICBzcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dl
YnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAg
ICAgIGFsbG93PSJ3ZWItc2hhcmUgKiIKKyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAg
IHNyYz0iLi9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJh
bWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSAnbm9uZSciCisgICAgICBk
YXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAgc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dl
YnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFt
ZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlICdub25lJyIKKyAgICAgIGRh
dGEtZW5hYmxlZD0iZmFsc2UiCisgICAgICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3Rt
ZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3
ZWItc2hhcmUgJ3NlbGYnIgorICAgICAgZGF0YS1lbmFibGVkPSJmYWxzZSIKKyAgICAgIHNyYz0i
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1l
c3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9Indl
Yi1zaGFyZSAnc2VsZiciCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAgICBzcmM9Ii4v
cmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAg
IDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MyIK
KyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iaHR0cHM6Ly9sb2NhbGhvc3Q6
ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+
PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSBodHRwczovL2xv
Y2FsaG9zdDo4NDQzIgorICAgICAgZGF0YS1lbmFibGVkPSJmYWxzZSIKKyAgICAgIHNyYz0iLi9y
ZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgIDwv
Ym9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437223</attachid>
            <date>2021-09-02 17:30:54 -0700</date>
            <delta_ts>2021-09-03 00:12:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214448-20210903103053.patch</filename>
            <type>text/plain</type>
            <size>24284</size>
            <attacher name="Marcos Caceres">marcos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxODg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjRkOTNmN2YwMzYxNDgy
Y2Y2NzY4NTRkNjQ5YzFmYTk3MjYwOWFjMS4uZjIyYWQ1MDgyNjJkZWUxYTViYjA0YjA4YTgzNjFm
NzhjMjVkOGM3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA5LTAyICBNYXJj
b3MgQ2FjZXJlcyAgPG1hcmNvc0BtYXJjb3NjLmNvbT4KKworICAgICAgICBXZWIgU2hhcmUgcGVy
bWlzc2lvbiBwb2xpY3kgIndlYi1zaGFyZSIgYW5kICJzZWxmIiBhcyB0aGUgYWxsb3dsaXN0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ0NDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEZXZpbiBSb3Vzc28uCisKKyAgICAgICAgVGVzdHM6IGh0dHAv
dGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLmh0
bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0
cmlidXRlLXNoYXJlLmh0dHBzLmh0bWwKKworICAgICAgICAqIGh0bWwvRmVhdHVyZVBvbGljeS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpwb2xpY3lUeXBlTmFtZSk6CisgICAgICAgIChXZWJDb3Jl
OjpGZWF0dXJlUG9saWN5OjpwYXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpGZWF0dXJlUG9saWN5
OjphbGxvd3MgY29uc3QpOgorICAgICAgICAqIGh0bWwvRmVhdHVyZVBvbGljeS5oOgorICAgICAg
ICAqIHBhZ2UvTmF2aWdhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvcjo6Y2Fu
U2hhcmUpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yOjpzaGFyZSk6CisKIDIwMjEtMDkt
MDEgIE1hcmNvcyBDYWNlcmVzICA8bWFyY29zQG1hcmNvc2MuY29tPgogCiAgICAgICAgIEFkZCAi
cGF5bWVudCIgcGVybWlzc2lvbnMgcG9saWN5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0ZlYXR1cmVQb2xpY3kuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5
LmNwcAppbmRleCAwZjQyMTYzZDNlZDBiZDBiNmY3OGY2Y2VkYWM2ZDQ0MDBmODExZWY3Li42ZTU2
Y2MyOTRmYTExYjUzYzcxMDMyZmFjODkxNjE3YjY2M2NlODYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0ZlYXR1cmVQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
RmVhdHVyZVBvbGljeS5jcHAKQEAgLTU2LDYgKzU2LDggQEAgc3RhdGljIGNvbnN0IGNoYXIqIHBv
bGljeVR5cGVOYW1lKEZlYXR1cmVQb2xpY3k6OlR5cGUgdHlwZSkKICAgICAgICAgcmV0dXJuICJT
eW5jWEhSIjsKICAgICBjYXNlIEZlYXR1cmVQb2xpY3k6OlR5cGU6OkZ1bGxzY3JlZW46CiAgICAg
ICAgIHJldHVybiAiRnVsbHNjcmVlbiI7CisgICAgY2FzZSBGZWF0dXJlUG9saWN5OjpUeXBlOjpX
ZWJTaGFyZToKKyAgICAgICAgcmV0dXJuICJXZWJTaGFyZSI7CiAjaWYgRU5BQkxFKERFVklDRV9P
UklFTlRBVElPTikKICAgICBjYXNlIEZlYXR1cmVQb2xpY3k6OlR5cGU6Okd5cm9zY29wZToKICAg
ICAgICAgcmV0dXJuICJHeXJvc2NvcGUiOwpAQCAtMTc1LDYgKzE3Nyw3IEBAIEZlYXR1cmVQb2xp
Y3kgRmVhdHVyZVBvbGljeTo6cGFyc2UoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBIVE1MSUZy
YW1lRWxlbWVudCYKICAgICBib29sIGlzUGF5bWVudEluaXRpYWxpemVkID0gZmFsc2U7CiAgICAg
Ym9vbCBpc1N5bmNYSFJJbml0aWFsaXplZCA9IGZhbHNlOwogICAgIGJvb2wgaXNGdWxsc2NyZWVu
SW5pdGlhbGl6ZWQgPSBmYWxzZTsKKyAgICBib29sIGlzV2ViU2hhcmVJbml0aWFsaXplZCA9IGZh
bHNlOwogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAgICAgYm9vbCBpc0d5cm9zY29w
ZUluaXRpYWxpemVkID0gZmFsc2U7CiAgICAgYm9vbCBpc0FjY2VsZXJvbWV0ZXJJbml0aWFsaXpl
ZCA9IGZhbHNlOwpAQCAtMjI1LDYgKzIyOCwxMSBAQCBGZWF0dXJlUG9saWN5IEZlYXR1cmVQb2xp
Y3k6OnBhcnNlKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgSFRNTElGcmFtZUVsZW1lbnQmCiAg
ICAgICAgICAgICB1cGRhdGVMaXN0KGRvY3VtZW50LCBwb2xpY3kubV9mdWxsc2NyZWVuUnVsZSwg
aXRlbS5zdWJzdHJpbmcoMTEpKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9Cisg
ICAgICAgIGlmIChpdGVtLnN0YXJ0c1dpdGgoIndlYi1zaGFyZSIpKSB7CisgICAgICAgICAgICBp
c1dlYlNoYXJlSW5pdGlhbGl6ZWQgPSB0cnVlOworICAgICAgICAgICAgdXBkYXRlTGlzdChkb2N1
bWVudCwgcG9saWN5Lm1fd2ViU2hhcmVSdWxlLCBpdGVtLnN1YnN0cmluZygxMCkpOworICAgICAg
ICAgICAgY29udGludWU7CisgICAgICAgIH0KICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9O
KQogICAgICAgICBpZiAoaXRlbS5zdGFydHNXaXRoKCJneXJvc2NvcGUiKSkgewogICAgICAgICAg
ICAgaXNHeXJvc2NvcGVJbml0aWFsaXplZCA9IHRydWU7CkBAIC0yNjQsNiArMjcyLDggQEAgRmVh
dHVyZVBvbGljeSBGZWF0dXJlUG9saWN5OjpwYXJzZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0
IEhUTUxJRnJhbWVFbGVtZW50JgogICAgICAgICBwb2xpY3kubV9nZW9sb2NhdGlvblJ1bGUuYWxs
b3dlZExpc3QuYWRkKGRvY3VtZW50LnNlY3VyaXR5T3JpZ2luKCkuZGF0YSgpKTsKICAgICBpZiAo
IWlzUGF5bWVudEluaXRpYWxpemVkKQogICAgICAgICBwb2xpY3kubV9wYXltZW50UnVsZS5hbGxv
d2VkTGlzdC5hZGQoZG9jdW1lbnQuc2VjdXJpdHlPcmlnaW4oKS5kYXRhKCkpOworICAgIGlmICgh
aXNXZWJTaGFyZUluaXRpYWxpemVkKQorICAgICAgICBwb2xpY3kubV93ZWJTaGFyZVJ1bGUuYWxs
b3dlZExpc3QuYWRkKGRvY3VtZW50LnNlY3VyaXR5T3JpZ2luKCkuZGF0YSgpKTsKICNpZiBFTkFC
TEUoREVWSUNFX09SSUVOVEFUSU9OKQogICAgIGlmICghaXNHeXJvc2NvcGVJbml0aWFsaXplZCkK
ICAgICAgICAgcG9saWN5Lm1fZ3lyb3Njb3BlUnVsZS5hbGxvd2VkTGlzdC5hZGQoZG9jdW1lbnQu
c2VjdXJpdHlPcmlnaW4oKS5kYXRhKCkpOwpAQCAtMzE3LDYgKzMyNyw4IEBAIGJvb2wgRmVhdHVy
ZVBvbGljeTo6YWxsb3dzKFR5cGUgdHlwZSwgY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiBvcmln
aW4pIGNvbnN0CiAgICAgICAgIHJldHVybiBpc0FsbG93ZWRCeUZlYXR1cmVQb2xpY3kobV9zeW5j
WEhSUnVsZSwgb3JpZ2luKTsKICAgICBjYXNlIFR5cGU6OkZ1bGxzY3JlZW46CiAgICAgICAgIHJl
dHVybiBpc0FsbG93ZWRCeUZlYXR1cmVQb2xpY3kobV9mdWxsc2NyZWVuUnVsZSwgb3JpZ2luKTsK
KyAgICBjYXNlIFR5cGU6OldlYlNoYXJlOgorICAgICAgICByZXR1cm4gaXNBbGxvd2VkQnlGZWF0
dXJlUG9saWN5KG1fd2ViU2hhcmVSdWxlLCBvcmlnaW4pOwogI2lmIEVOQUJMRShERVZJQ0VfT1JJ
RU5UQVRJT04pCiAgICAgY2FzZSBUeXBlOjpHeXJvc2NvcGU6CiAgICAgICAgIHJldHVybiBpc0Fs
bG93ZWRCeUZlYXR1cmVQb2xpY3kobV9neXJvc2NvcGVSdWxlLCBvcmlnaW4pOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5LmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0ZlYXR1cmVQb2xpY3kuaAppbmRleCA3OWU2NmZiMTY0MWIyNDE2YmIzOTc2Yjc2YTE0OGE4
YTEwZmRhZjc1Li5lNjQwZjhhNWQ3MjNkZTAxZTlhNjRiNTEwNjY2YjkzYTY3OTdhNzkyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZlYXR1cmVQb2xpY3kuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0ZlYXR1cmVQb2xpY3kuaApAQCAtNDcsNiArNDcsNyBAQCBwdWJsaWM6CiAg
ICAgICAgIFBheW1lbnQsCiAgICAgICAgIFN5bmNYSFIsCiAgICAgICAgIEZ1bGxzY3JlZW4sCisg
ICAgICAgIFdlYlNoYXJlLAogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAgICAgICAg
IEd5cm9zY29wZSwKICAgICAgICAgQWNjZWxlcm9tZXRlciwKQEAgLTczLDYgKzc0LDggQEAgcHJp
dmF0ZToKICAgICBBbGxvd1J1bGUgbV9wYXltZW50UnVsZTsKICAgICBBbGxvd1J1bGUgbV9zeW5j
WEhSUnVsZTsKICAgICBBbGxvd1J1bGUgbV9mdWxsc2NyZWVuUnVsZTsKKyAgICBBbGxvd1J1bGUg
bV93ZWJTaGFyZVJ1bGU7CisKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQogICAgIEFs
bG93UnVsZSBtX2d5cm9zY29wZVJ1bGU7CiAgICAgQWxsb3dSdWxlIG1fYWNjZWxlcm9tZXRlclJ1
bGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAKaW5kZXggYzBhMGMxOGQ3NDgwYTE2NGIwYmU5
MDhhZTExN2JkNzQyMjUyOThiMS4uYTQwYWViMGRmZTAwNTdiMGUzMTMwMjM2YzUxOTY3OTU0Njc3
YTlmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2lu
Y2x1ZGUgIkRPTVBsdWdpbi5oIgogI2luY2x1ZGUgIkRPTVBsdWdpbkFycmF5LmgiCiAjaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJGZWF0dXJlUG9saWN5LmgiCiAjaW5jbHVkZSAiRnJh
bWUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xp
ZW50LmgiCkBAIC0xMzAsNiArMTMxLDkgQEAgYm9vbCBOYXZpZ2F0b3I6OmNhblNoYXJlKERvY3Vt
ZW50JiBkb2N1bWVudCwgY29uc3QgU2hhcmVEYXRhJiBkYXRhKQogICAgIGlmICghZnJhbWUgfHwg
IWZyYW1lLT5wYWdlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmICghaXNGZWF0
dXJlUG9saWN5QWxsb3dlZEJ5RG9jdW1lbnRBbmRBbGxPd25lcnMoRmVhdHVyZVBvbGljeTo6VHlw
ZTo6V2ViU2hhcmUsIGRvY3VtZW50LCBMb2dGZWF0dXJlUG9saWN5RmFpbHVyZTo6WWVzKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgYm9vbCBoYXNTaGFyZWFibGVUaXRsZU9yVGV4dCA9
ICFkYXRhLnRpdGxlLmlzTnVsbCgpIHx8ICFkYXRhLnRleHQuaXNOdWxsKCk7CiAgICAgYm9vbCBo
YXNTaGFyZWFibGVVUkwgPSAhIXNoYXJlYWJsZVVSTEZvclNoYXJlRGF0YShkb2N1bWVudCwgZGF0
YSk7CiAjaWYgRU5BQkxFKEZJTEVfU0hBUkUpCkBAIC0xNDMsNiArMTQ3LDExIEBAIGJvb2wgTmF2
aWdhdG9yOjpjYW5TaGFyZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFNoYXJlRGF0YSYgZGF0
YSkKIAogdm9pZCBOYXZpZ2F0b3I6OnNoYXJlKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU2hh
cmVEYXRhJiBkYXRhLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiB7CisgICAgaWYg
KCFpc0ZlYXR1cmVQb2xpY3lBbGxvd2VkQnlEb2N1bWVudEFuZEFsbE93bmVycyhGZWF0dXJlUG9s
aWN5OjpUeXBlOjpXZWJTaGFyZSwgZG9jdW1lbnQsIExvZ0ZlYXR1cmVQb2xpY3lGYWlsdXJlOjpZ
ZXMpKSB7CisgICAgICAgIHByb21pc2UtPnJlamVjdChOb3RBbGxvd2VkRXJyb3IsICJUaGlyZC1w
YXJ0eSBpZnJhbWVzIGFyZSBub3QgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkgdW5sZXNzIGV4cGxp
Y2l0bHkgYWxsb3dlZCB2aWEgRmVhdHVyZS1Qb2xpY3kgKHdlYi1zaGFyZSkiX3MpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKG1faGFzUGVuZGluZ1NoYXJlKSB7CiAgICAgICAg
IHByb21pc2UtPnJlamVjdChOb3RBbGxvd2VkRXJyb3IpOwogICAgICAgICByZXR1cm47CkBAIC0x
NjksNyArMTc4LDcgQEAgdm9pZCBOYXZpZ2F0b3I6OnNoYXJlKERvY3VtZW50JiBkb2N1bWVudCwg
Y29uc3QgU2hhcmVEYXRhJiBkYXRhLCBSZWY8RGVmZXJyZWRQcm8KICAgICBpZiAoZG9jdW1lbnQu
c2V0dGluZ3MoKS53ZWJTaGFyZUZpbGVBUElFbmFibGVkKCkgJiYgIWRhdGEuZmlsZXMuaXNFbXB0
eSgpKSB7CiAgICAgICAgIGlmIChtX2xvYWRlcikKICAgICAgICAgICAgIG1fbG9hZGVyLT5jYW5j
ZWwoKTsKLSAgICAgICAgCisKICAgICAgICAgbV9sb2FkZXIgPSBTaGFyZURhdGFSZWFkZXI6OmNy
ZWF0ZShbdGhpcywgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldIChFeGNlcHRpb25PcjxTaGFy
ZURhdGFXaXRoUGFyc2VkVVJMJj4gcmVhZERhdGEpIG11dGFibGUgewogICAgICAgICAgICAgc2hv
d1NoYXJlRGF0YShyZWFkRGF0YSwgV1RGTW92ZShwcm9taXNlKSk7CiAgICAgICAgIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGNjYzI5MGVlMDAxODhiMzFhNTRlNWNhYjk1ZmQxZjU5MWQzZjhhNDMuLmUwYzM0MzExNzY1
ZTg2ZWEzNDJlMzViN2QzZmFiNDZjYjJjNmYxMWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAy
MS0wOS0wMiAgTWFyY29zIENhY2VyZXMgIDxtYXJjb3NAbWFyY29zYy5jb20+CisKKyAgICAgICAg
V2ViIFNoYXJlIHBlcm1pc3Npb24gcG9saWN5ICJ3ZWItc2hhcmUiIGFuZCAic2VsZiIgYXMgdGhl
IGFsbG93bGlzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjE0NDQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGV2aW4gUm91c3NvLgorCisgICAgICAg
ICogaHR0cC90ZXN0cy93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1h
dHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1jYW5TaGFyZS5odHRw
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFs
bG93LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLXNoYXJlLmh0dHBz
Lmh0bWw6IEFkZGVkLgorCiAyMDIxLTA5LTAxICBNYXJjb3MgQ2FjZXJlcyAgPG1hcmNvc0BtYXJj
b3NjLmNvbT4KIAogICAgICAgICBBZGQgInBheW1lbnQiIHBlcm1pc3Npb25zIHBvbGljeQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hh
cmUtcG9zdG1lc3NhZ2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUvcmVz
b3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmUxZTFkNWIwNmU4
MGRiNzQ4MGYyNDZmMDk3YjVjZGMzYTE0ZDFkYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0
bWwKQEAgLTAsMCArMSw2NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCIgLz4KKzxzdHlsZT4KKyAgaHRtbCB7CisgICAgaGVpZ2h0OiAxMDAlOworICB9CisgIGJvZHkg
eworICAgIGRpc3BsYXk6IGdyaWQ7CisgIH0KKyAgYnV0dG9uIHsKKyAgICBoZWlnaHQ6IDEwMHZo
OworICAgIHdpZHRoOiAxMDAlOworICB9Cis8L3N0eWxlPgorPGJvZHk+CisgIDxidXR0b24gaWQ9
InNoYXJlLWJ1dHRvbiI+U0hBUkUhPC9idXR0b24+CisgIDxzY3JpcHQ+CisgICAgd2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIoCisgICAgICAibWVzc2FnZSIsCisgICAgICBhc3luYyAoZXZlbnQpID0+
IHsKKyAgICAgICAgY29uc3Qgc2hhcmVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c2hhcmUtYnV0dG9uIik7CisgICAgICAgIGNvbnN0IHsgYWN0aW9uIH0gPSBldmVudC5kYXRhOwor
ICAgICAgICBsZXQgcmVzdWx0ID0gbnVsbDsKKyAgICAgICAgbGV0IGV4Y2VwdGlvbk1lc3NhZ2U7
CisgICAgICAgIGxldCBleGNlcHRpb25OYW1lOworICAgICAgICBzd2l0Y2ggKGFjdGlvbikgewor
ICAgICAgICAgIGNhc2UgImNhbGwgY2FuU2hhcmUoKSI6CisgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICByZXN1bHQgPSBuYXZpZ2F0b3IuY2FuU2hhcmUoeyB0ZXh0OiAic29tZSB0ZXh0
IiB9KTsKKyAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgICAgZXhjZXB0aW9u
TWVzc2FnZSA9IGUubWVzc2FnZTsKKyAgICAgICAgICAgICAgZXhjZXB0aW9uTmFtZSA9IGUubmFt
ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGNhc2UgImNh
bGwgc2hhcmUoKSI6CisgICAgICAgICAgICBhd2FpdCB1c2VyQWN0aXZhdGlvbkZyb21QYXJlbnQo
c2hhcmVCdXR0b24sIGV2ZW50KTsKKyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgIGF3
YWl0IG5hdmlnYXRvci5zaGFyZSh7IHRleHQ6ICJzb21lIHRleHQiIH0pOworICAgICAgICAgICAg
ICByZXN1bHQgPSAic2hhcmUgY29tcGxldGVkIjsKKyAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsK
KyAgICAgICAgICAgICAgcmVzdWx0ID0gInRocmV3IjsKKyAgICAgICAgICAgICAgZXhjZXB0aW9u
TWVzc2FnZSA9IGUubWVzc2FnZTsKKyAgICAgICAgICAgICAgZXhjZXB0aW9uTmFtZSA9IGUubmFt
ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGRlZmF1bHQ6
CisgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gYWN0aW9uOiAke2FjdGlvbn1g
KTsKKyAgICAgICAgfQorICAgICAgICBldmVudC5zb3VyY2UucG9zdE1lc3NhZ2UoCisgICAgICAg
ICAgeyBhY3Rpb24sIHJlc3VsdCwgZXhjZXB0aW9uTWVzc2FnZSwgZXhjZXB0aW9uTmFtZSB9LAor
ICAgICAgICAgIGV2ZW50Lm9yaWdpbgorICAgICAgICApOworICAgICAgfSwKKyAgICAgIHsgb25j
ZTogdHJ1ZSB9CisgICAgKTsKKworICAgIGZ1bmN0aW9uIHVzZXJBY3RpdmF0aW9uRnJvbVBhcmVu
dChzaGFyZUJ1dHRvbiwgZXZlbnQpIHsKKyAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2
ZSkgPT4geworICAgICAgICBzaGFyZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHJl
c29sdmUsIHsgb25jZTogdHJ1ZSB9KTsKKyAgICAgICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdl
KCJjbGljayBtZSEiLCBldmVudC5vcmlnaW4pOworICAgICAgfSk7CisgICAgfQorICA8L3Njcmlw
dD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUv
d2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLWNh
blNoYXJlLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MWRmNzNhNDBiNjlkNjM4NmZm
YjU4ZmFkMjM2OGU5MDUwMjQ4MWNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTggQEAKK0NPTlNPTEUgTUVTU0FHRTogRmVhdHVyZSBw
b2xpY3kgJ1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0
cHM6Ly9sb2NhbGhvc3Q6ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAnJy4KK0NPTlNPTEUgTUVT
U0FHRTogRmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3
aXRoIG9yaWdpbiAnaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAn
d2ViLXNoYXJlICdub25lJycuCitDT05TT0xFIE1FU1NBR0U6IEZlYXR1cmUgcG9saWN5ICdXZWJT
aGFyZScgY2hlY2sgZmFpbGVkIGZvciBpZnJhbWUgd2l0aCBvcmlnaW4gJ2h0dHBzOi8vMTI3LjAu
MC4xOjg0NDMnIGFuZCBhbGxvdyBhdHRyaWJ1dGUgJ3dlYi1zaGFyZSAnbm9uZScnLgorQ09OU09M
RSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUnIGNoZWNrIGZhaWxlZCBmb3IgaWZy
YW1lIHdpdGggb3JpZ2luICdodHRwczovL2xvY2FsaG9zdDo4NDQzJyBhbmQgYWxsb3cgYXR0cmli
dXRlICd3ZWItc2hhcmUgJ3NlbGYnJy4KK0NPTlNPTEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kg
J1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6Ly8x
MjcuMC4wLjE6ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAnd2ViLXNoYXJlIGh0dHBzOi8vbG9j
YWxob3N0Ojg0NDMnLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93
ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0i
IiBNVVNUIE5PVCBiZSBhbGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNy
YzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBv
c3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IiIgaXMgYWxsb3dlZCB0byBjYWxsIGNhblNoYXJl
KCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jl
c291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUi
IGlzIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6
Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2Uu
aHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlIiBpcyBhbGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUo
KS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVz
b3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAq
IiBpcyBhbGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBz
Oi8vMTI3LjAuMC4xOjg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdl
Lmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAqIiBpcyBhbGxvd2VkIHRvIGNhbGwgY2FuU2hh
cmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUv
cmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFy
ZSAnbm9uZSciIE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBp
ZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vi
c2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICdub25lJyIgTVVT
VCBOT1QgYmUgYWxsb3dlZCB0byBjYWxsIGNhblNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJo
dHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVz
c2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgJ3NlbGYnIiBNVVNUIE5PVCBiZSBhbGxv
d2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAu
MC4xOjg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdp
dGggYWxsb3c9IndlYi1zaGFyZSAnc2VsZiciIGlzIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgp
LgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNv
dXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlIGh0
dHBzOi8vbG9jYWxob3N0Ojg0NDMiIGlzIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFT
UyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMv
d2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlIGh0dHBzOi8v
bG9jYWxob3N0Ojg0NDMiIE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFs
bG93LWF0dHJpYnV0ZS1jYW5TaGFyZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MTU0MzQ3ODVhMmQyNGI4MzVjYmMzMzU4NGJlOTMyMTcyZGVmYzZlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1h
bGxvdy1hdHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMuaHRtbApAQCAtMCwwICsxLDEwOSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHRpdGxlPgorICAgICAgVGVzdCBh
bGxvdyBhdHRyaWJ1dGUgd2l0aCAid2ViLXNoYXJlIiBhbmQgY2FuU2hhcmUoKSBtZXRob2QKKyAg
ICA8L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJpbml0aWFsLXNj
YWxlPTUsIHdpZHRoPWRldmljZS13aWR0aCIgLz4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgdGVzdFJ1
bm5lcj8uZHVtcEFzVGV4dCgpOworICAgICAgdGVzdFJ1bm5lcj8ud2FpdFVudGlsRG9uZSgpOwor
CisgICAgICBmdW5jdGlvbiB3YWl0Rm9yKHRhcmdldCwgZXZlbnROYW1lKSB7CisgICAgICAgIHJl
dHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgICAgIHRhcmdldC5hZGRFdmVu
dExpc3RlbmVyKGV2ZW50TmFtZSwgcmVzb2x2ZSwgeyBvbmNlOiB0cnVlIH0pOworICAgICAgICB9
KTsKKyAgICAgIH0KKworICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBhc3lu
YyAoKSA9PiB7CisgICAgICAgIGZvciAoY29uc3QgaWZyYW1lIG9mIGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3JBbGwoImlmcmFtZSIpKSB7CisgICAgICAgICAgY29uc3QgeyBlbmFibGVkLCBzcmMgfSA9
IGlmcmFtZS5kYXRhc2V0OworICAgICAgICAgIGNvbnN0IGlzQWxsb3dlZCA9IGVuYWJsZWQgPT09
ICJ0cnVlIjsKKyAgICAgICAgICBjb25zdCBhY3Rpb24gPSAiY2FsbCBjYW5TaGFyZSgpIjsKKyAg
ICAgICAgICBpZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSh7IGFjdGlvbiB9LCAiKiIp
OworICAgICAgICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgd2FpdEZvcih3aW5kb3csICJtZXNz
YWdlIik7CisgICAgICAgICAgY29uc3QgeyBleGNlcHRpb25NZXNzYWdlLCBleGNlcHRpb25OYW1l
LCByZXN1bHQgfSA9IGRhdGE7CisKKyAgICAgICAgICBjb25zdCBtc2cgPSBgaWZyYW1lIHNyYzog
IiR7aWZyYW1lLnNyY30iIHdpdGggYWxsb3c9IiR7CisgICAgICAgICAgICBpZnJhbWUuYWxsb3cK
KyAgICAgICAgICB9IiAkeworICAgICAgICAgICAgaXNBbGxvd2VkID8gImlzIGFsbG93ZWQgdG8i
IDogIk1VU1QgTk9UIGJlIGFsbG93ZWQgdG8iCisgICAgICAgICAgfSAke2FjdGlvbn0uICR7ZXhj
ZXB0aW9uTmFtZSA/PyAiIn0gJHtleGNlcHRpb25NZXNzYWdlID8/ICIifWA7CisKKyAgICAgICAg
ICBzd2l0Y2ggKHJlc3VsdCkgeworICAgICAgICAgICAgY2FzZSB0cnVlOgorICAgICAgICAgICAg
ICBpc0FsbG93ZWQgPyB0ZXN0UGFzc2VkKG1zZykgOiB0ZXN0RmFpbGVkKG1zZyk7CisgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBmYWxzZToKKyAgICAgICAgICAgICAgIWlz
QWxsb3dlZCA/IHRlc3RQYXNzZWQobXNnKSA6IHRlc3RGYWlsZWQobXNnKTsKKyAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KG1zZyArIGAgLSByZXN1bHQgd2FzOiAke3Jlc3VsdH1gKTsKKyAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICB9KTsKKyAgICA8L3Nj
cmlwdD4KKyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8aWZyYW1lCisgICAgICBkYXRhLWVuYWJs
ZWQ9ImZhbHNlIgorICAgICAgc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jl
c291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8
aWZyYW1lCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAgICBzcmM9Ii4vcmVzb3VyY2Vz
L3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUK
KyAgICAgIGFsbG93PSJ3ZWItc2hhcmUiCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAg
ICBzcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJl
LXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFs
bG93PSJ3ZWItc2hhcmUiCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAgICBzcmM9Ii4v
cmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAg
IDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUgKiIKKyAgICAgIGRhdGEtZW5hYmxlZD0i
dHJ1ZSIKKyAgICAgIHNyYz0iaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJj
ZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFt
ZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSAqIgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgor
ICAgICAgc3JjPSIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48
L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlICdub25lJyIKKyAg
ICAgIGRhdGEtZW5hYmxlZD0iZmFsc2UiCisgICAgICBzcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0
NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwv
aWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUgJ25vbmUnIgorICAg
ICAgZGF0YS1lbmFibGVkPSJmYWxzZSIKKyAgICAgIHNyYz0iLi9yZXNvdXJjZXMvd2Vic2hhcmUt
cG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxs
b3c9IndlYi1zaGFyZSAnc2VsZiciCisgICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAg
c3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1w
b3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxv
dz0id2ViLXNoYXJlICdzZWxmJyIKKyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIHNy
Yz0iLi9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+
CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSBodHRwczovL2xvY2FsaG9zdDo4
NDQzIgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAgc3JjPSJodHRwczovL2xvY2Fs
aG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgor
ICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlIGh0dHBz
Oi8vbG9jYWxob3N0Ojg0NDMiCisgICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAgc3Jj
PSIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4K
KyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1
dGUtc2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAwMDE1YWQwMGY1ZDA3N2Ri
NjljNmRmYWNhZGY3MWQ4ZTdmNDQzMjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBv
bGljeSAnV2ViU2hhcmUnIGNoZWNrIGZhaWxlZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRw
czovL2xvY2FsaG9zdDo4NDQzJyBhbmQgYWxsb3cgYXR0cmlidXRlICcnLgorQ09OU09MRSBNRVNT
QUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUnIGNoZWNrIGZhaWxlZCBmb3IgaWZyYW1lIHdp
dGggb3JpZ2luICdodHRwczovL2xvY2FsaG9zdDo4NDQzJyBhbmQgYWxsb3cgYXR0cmlidXRlICd3
ZWItc2hhcmUgJ25vbmUnJy4KK0NPTlNPTEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kgJ1dlYlNo
YXJlJyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6Ly8xMjcuMC4w
LjE6ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAnd2ViLXNoYXJlICdub25lJycuCitDT05TT0xF
IE1FU1NBR0U6IEZlYXR1cmUgcG9saWN5ICdXZWJTaGFyZScgY2hlY2sgZmFpbGVkIGZvciBpZnJh
bWUgd2l0aCBvcmlnaW4gJ2h0dHBzOi8vbG9jYWxob3N0Ojg0NDMnIGFuZCBhbGxvdyBhdHRyaWJ1
dGUgJ3dlYi1zaGFyZSAnc2VsZicnLgorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAn
V2ViU2hhcmUnIGNoZWNrIGZhaWxlZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovLzEy
Ny4wLjAuMTo4NDQzJyBhbmQgYWxsb3cgYXR0cmlidXRlICd3ZWItc2hhcmUgaHR0cHM6Ly9sb2Nh
bGhvc3Q6ODQ0MycuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dl
YnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSIi
IE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpLiBOb3RBbGxvd2VkRXJyb3IgVGhp
cmQtcGFydHkgaWZyYW1lcyBhcmUgbm90IGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpIHVubGVzcyBl
eHBsaWNpdGx5IGFsbG93ZWQgdmlhIEZlYXR1cmUtUG9saWN5ICh3ZWItc2hhcmUpCitQQVNTIGlm
cmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAuMTo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJz
aGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSIiIGlzIGFsbG93ZWQgdG8gY2FsbCBz
aGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFy
ZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNo
YXJlIiBpcyBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBz
Oi8vMTI3LjAuMC4xOjg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdl
Lmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSIgaXMgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCku
CitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291
cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgKiIg
aXMgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEy
Ny4wLjAuMTo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1s
IiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgKiIgaXMgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkuCitQ
QVNTIGlmcmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNl
cy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgJ25vbmUn
IiBNVVNUIE5PVCBiZSBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4gTm90QWxsb3dlZEVycm9yIFRo
aXJkLXBhcnR5IGlmcmFtZXMgYXJlIG5vdCBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKSB1bmxlc3Mg
ZXhwbGljaXRseSBhbGxvd2VkIHZpYSBGZWF0dXJlLVBvbGljeSAod2ViLXNoYXJlKQorUEFTUyBp
ZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vi
c2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICdub25lJyIgTVVT
VCBOT1QgYmUgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkuIE5vdEFsbG93ZWRFcnJvciBUaGlyZC1w
YXJ0eSBpZnJhbWVzIGFyZSBub3QgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkgdW5sZXNzIGV4cGxp
Y2l0bHkgYWxsb3dlZCB2aWEgRmVhdHVyZS1Qb2xpY3kgKHdlYi1zaGFyZSkKK1BBU1MgaWZyYW1l
IHNyYzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJl
LXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAnc2VsZiciIE1VU1QgTk9U
IGJlIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpLiBOb3RBbGxvd2VkRXJyb3IgVGhpcmQtcGFydHkg
aWZyYW1lcyBhcmUgbm90IGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpIHVubGVzcyBleHBsaWNpdGx5
IGFsbG93ZWQgdmlhIEZlYXR1cmUtUG9saWN5ICh3ZWItc2hhcmUpCitQQVNTIGlmcmFtZSBzcmM6
ICJodHRwczovLzEyNy4wLjAuMTo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0
bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgJ3NlbGYnIiBpcyBhbGxvd2VkIHRv
IGNhbGwgc2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMv
d2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9
IndlYi1zaGFyZSBodHRwczovL2xvY2FsaG9zdDo4NDQzIiBpcyBhbGxvd2VkIHRvIGNhbGwgc2hh
cmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vic2hhcmUv
cmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFy
ZSBodHRwczovL2xvY2FsaG9zdDo4NDQzIiBNVVNUIE5PVCBiZSBhbGxvd2VkIHRvIGNhbGwgc2hh
cmUoKS4gTm90QWxsb3dlZEVycm9yIFRoaXJkLXBhcnR5IGlmcmFtZXMgYXJlIG5vdCBhbGxvd2Vk
IHRvIGNhbGwgc2hhcmUoKSB1bmxlc3MgZXhwbGljaXRseSBhbGxvd2VkIHZpYSBGZWF0dXJlLVBv
bGljeSAod2ViLXNoYXJlKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtc2hhcmUu
aHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNWI3YzEyNTNjYjRlNWJmNjlkZDQwYjY3MDg1NmNkYjE1
ZTA0YmE4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFy
ZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMuaHRtbApAQCAtMCwwICsxLDEy
MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHRpdGxlPgorICAg
ICAgVGVzdCBhbGxvdyBhdHRyaWJ1dGUgd2l0aCAid2ViLXNoYXJlIiBhbmQgc2hhcmUoKSBtZXRo
b2QKKyAgICA8L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJpbml0
aWFsLXNjYWxlPTUsIHdpZHRoPWRldmljZS13aWR0aCIgLz4KKyAgICA8c2NyaXB0IHNyYz0iL2pz
LXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAg
ICAgIHRlc3RSdW5uZXI/LmR1bXBBc1RleHQoKTsKKyAgICAgIHRlc3RSdW5uZXI/LndhaXRVbnRp
bERvbmUoKTsKKworICAgICAgZnVuY3Rpb24gd2FpdEZvcih0YXJnZXQsIGV2ZW50TmFtZSkgewor
ICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgICAgICB0YXJn
ZXQuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIHJlc29sdmUsIHsgb25jZTogdHJ1ZSB9KTsK
KyAgICAgICAgfSk7CisgICAgICB9CisKKyAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgYXN5bmMgKCkgPT4geworICAgICAgICBmb3IgKGNvbnN0IGlmcmFtZSBvZiBkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yQWxsKCJpZnJhbWUiKSkgeworICAgICAgICAgIGNvbnN0IHsgZW5hYmxl
ZCwgc3JjIH0gPSBpZnJhbWUuZGF0YXNldDsKKyAgICAgICAgICBjb25zdCBpc0FsbG93ZWQgPSBl
bmFibGVkID09PSAidHJ1ZSI7CisgICAgICAgICAgY29uc3QgYWN0aW9uID0gImNhbGwgc2hhcmUo
KSI7CisgICAgICAgICAgaWZyYW1lLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoeyBhY3Rpb24g
fSwgIioiKTsKKyAgICAgICAgICBjb25zdCB7IGRhdGE6IGNsaWNrTWVzc2FnZSB9ID0gYXdhaXQg
d2FpdEZvcih3aW5kb3csICJtZXNzYWdlIik7CisgICAgICAgICAgaWYgKGNsaWNrTWVzc2FnZSAh
PT0gImNsaWNrIG1lISIpIHsKKyAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQg
YSBjbGljayByZXF1ZXN0OiIgKyBjbGlja01lc3NhZ2UpOworICAgICAgICAgIH0KKyAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoaWZyYW1lKTsKKyAgICAgICAgICBjb25z
dCB7IGRhdGEgfSA9IGF3YWl0IHdhaXRGb3Iod2luZG93LCAibWVzc2FnZSIpOworICAgICAgICAg
IGNvbnN0IHsgZXhjZXB0aW9uTWVzc2FnZSwgZXhjZXB0aW9uTmFtZSwgcmVzdWx0IH0gPSBkYXRh
OworICAgICAgICAgIGNvbnN0IG1zZyA9IGBpZnJhbWUgc3JjOiAiJHtpZnJhbWUuc3JjfSIgd2l0
aCBhbGxvdz0iJHsKKyAgICAgICAgICAgIGlmcmFtZS5hbGxvdworICAgICAgICAgIH0iICR7Cisg
ICAgICAgICAgICBpc0FsbG93ZWQgPyAiaXMgYWxsb3dlZCB0byIgOiAiTVVTVCBOT1QgYmUgYWxs
b3dlZCB0byIKKyAgICAgICAgICB9ICR7YWN0aW9ufS4gJHtleGNlcHRpb25OYW1lID8/ICIifSAk
e2V4Y2VwdGlvbk1lc3NhZ2UgPz8gIiJ9YDsKKyAgICAgICAgICBzd2l0Y2ggKHJlc3VsdCkgewor
ICAgICAgICAgICAgY2FzZSAic2hhcmUgY29tcGxldGVkIjoKKyAgICAgICAgICAgICAgaXNBbGxv
d2VkID8gdGVzdFBhc3NlZChtc2cpIDogdGVzdEZhaWxlZChtc2cpOworICAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgIGNhc2UgInRocmV3IjoKKyAgICAgICAgICAgICAgaWYgKAorICAg
ICAgICAgICAgICAgICFpc0FsbG93ZWQgJiYKKyAgICAgICAgICAgICAgICBleGNlcHRpb25OYW1l
ID09PSAiTm90QWxsb3dlZEVycm9yIiAmJgorICAgICAgICAgICAgICAgIGV4Y2VwdGlvbk1lc3Nh
Z2UuZW5kc1dpdGgoIkZlYXR1cmUtUG9saWN5ICh3ZWItc2hhcmUpIikKKyAgICAgICAgICAgICAg
KSB7CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZChtc2cpOworICAgICAgICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQobXNnKTsKKyAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAg
IHRlc3RGYWlsZWQobXNnICsgYCAtIHJlc3VsdCB3YXM6ICR7cmVzdWx0fWApOworICAgICAgICAg
IH0KKyAgICAgICAgICBpZnJhbWUucmVtb3ZlKCk7CisgICAgICAgIH0KKyAgICAgICAgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7CisgICAgICB9KTsKKyAgICA8L3NjcmlwdD4KKyAgPC9oZWFkPgor
ICA8Ym9keT4KKyAgICA8aWZyYW1lCisgICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAg
c3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1w
b3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBkYXRh
LWVuYWJsZWQ9InRydWUiCisgICAgICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNz
YWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWIt
c2hhcmUiCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAgICBzcmM9Imh0dHBzOi8vbG9j
YWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwi
CisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUiCisg
ICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAgICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJl
LXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFs
bG93PSJ3ZWItc2hhcmUgKiIKKyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0i
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1l
c3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9Indl
Yi1zaGFyZSAqIgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAgc3JjPSIuL3Jlc291
cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZy
YW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlICdub25lJyIKKyAgICAgIGRhdGEtZW5hYmxlZD0i
ZmFsc2UiCisgICAgICBzcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3Vy
Y2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJh
bWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUgJ25vbmUnIgorICAgICAgZGF0YS1lbmFibGVkPSJm
YWxzZSIKKyAgICAgIHNyYz0iLi9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIK
KyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSAnc2Vs
ZiciCisgICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAgc3JjPSJodHRwczovL2xvY2Fs
aG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgor
ICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlICdzZWxm
JyIKKyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iLi9yZXNvdXJjZXMvd2Vi
c2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAg
ICAgYWxsb3c9IndlYi1zaGFyZSBodHRwczovL2xvY2FsaG9zdDo4NDQzIgorICAgICAgZGF0YS1l
bmFibGVkPSJ0cnVlIgorICAgICAgc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJl
L3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAg
ICA8aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMi
CisgICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAgc3JjPSIuL3Jlc291cmNlcy93ZWJz
aGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgPC9ib2R5PgorPC9odG1s
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437248</attachid>
            <date>2021-09-03 00:13:00 -0700</date>
            <delta_ts>2021-09-03 04:29:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214448-20210903171259.patch</filename>
            <type>text/plain</type>
            <size>33342</size>
            <attacher name="Marcos Caceres">marcos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxODg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjRkOTNmN2YwMzYxNDgy
Y2Y2NzY4NTRkNjQ5YzFmYTk3MjYwOWFjMS4uZTFmMmQwMDY0NTFmOTczN2EyNjc2MjRhNjczZDA2
MGMwN2MxZmE1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA5LTAzICBNYXJj
b3MgQ2FjZXJlcyAgPG1hcmNvc0BtYXJjb3NjLmNvbT4KKworICAgICAgICBXZWIgU2hhcmUgcGVy
bWlzc2lvbiBwb2xpY3kgIndlYi1zaGFyZSIgYW5kICJzZWxmIiBhcyB0aGUgYWxsb3dsaXN0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ0NDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEZXZpbiBSb3Vzc28uCisKKyAgICAgICAgVGVzdHM6IGh0dHAv
dGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLmh0
bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0
cmlidXRlLXNoYXJlLmh0dHBzLmh0bWwKKworICAgICAgICAqIGh0bWwvRmVhdHVyZVBvbGljeS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpwb2xpY3lUeXBlTmFtZSk6CisgICAgICAgIChXZWJDb3Jl
OjpGZWF0dXJlUG9saWN5OjpwYXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpGZWF0dXJlUG9saWN5
OjphbGxvd3MgY29uc3QpOgorICAgICAgICAqIGh0bWwvRmVhdHVyZVBvbGljeS5oOgorICAgICAg
ICAqIHBhZ2UvTmF2aWdhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvcjo6Y2Fu
U2hhcmUpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yOjpzaGFyZSk6CisKIDIwMjEtMDkt
MDEgIE1hcmNvcyBDYWNlcmVzICA8bWFyY29zQG1hcmNvc2MuY29tPgogCiAgICAgICAgIEFkZCAi
cGF5bWVudCIgcGVybWlzc2lvbnMgcG9saWN5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0ZlYXR1cmVQb2xpY3kuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5
LmNwcAppbmRleCAwZjQyMTYzZDNlZDBiZDBiNmY3OGY2Y2VkYWM2ZDQ0MDBmODExZWY3Li42ZTU2
Y2MyOTRmYTExYjUzYzcxMDMyZmFjODkxNjE3YjY2M2NlODYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0ZlYXR1cmVQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
RmVhdHVyZVBvbGljeS5jcHAKQEAgLTU2LDYgKzU2LDggQEAgc3RhdGljIGNvbnN0IGNoYXIqIHBv
bGljeVR5cGVOYW1lKEZlYXR1cmVQb2xpY3k6OlR5cGUgdHlwZSkKICAgICAgICAgcmV0dXJuICJT
eW5jWEhSIjsKICAgICBjYXNlIEZlYXR1cmVQb2xpY3k6OlR5cGU6OkZ1bGxzY3JlZW46CiAgICAg
ICAgIHJldHVybiAiRnVsbHNjcmVlbiI7CisgICAgY2FzZSBGZWF0dXJlUG9saWN5OjpUeXBlOjpX
ZWJTaGFyZToKKyAgICAgICAgcmV0dXJuICJXZWJTaGFyZSI7CiAjaWYgRU5BQkxFKERFVklDRV9P
UklFTlRBVElPTikKICAgICBjYXNlIEZlYXR1cmVQb2xpY3k6OlR5cGU6Okd5cm9zY29wZToKICAg
ICAgICAgcmV0dXJuICJHeXJvc2NvcGUiOwpAQCAtMTc1LDYgKzE3Nyw3IEBAIEZlYXR1cmVQb2xp
Y3kgRmVhdHVyZVBvbGljeTo6cGFyc2UoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBIVE1MSUZy
YW1lRWxlbWVudCYKICAgICBib29sIGlzUGF5bWVudEluaXRpYWxpemVkID0gZmFsc2U7CiAgICAg
Ym9vbCBpc1N5bmNYSFJJbml0aWFsaXplZCA9IGZhbHNlOwogICAgIGJvb2wgaXNGdWxsc2NyZWVu
SW5pdGlhbGl6ZWQgPSBmYWxzZTsKKyAgICBib29sIGlzV2ViU2hhcmVJbml0aWFsaXplZCA9IGZh
bHNlOwogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAgICAgYm9vbCBpc0d5cm9zY29w
ZUluaXRpYWxpemVkID0gZmFsc2U7CiAgICAgYm9vbCBpc0FjY2VsZXJvbWV0ZXJJbml0aWFsaXpl
ZCA9IGZhbHNlOwpAQCAtMjI1LDYgKzIyOCwxMSBAQCBGZWF0dXJlUG9saWN5IEZlYXR1cmVQb2xp
Y3k6OnBhcnNlKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgSFRNTElGcmFtZUVsZW1lbnQmCiAg
ICAgICAgICAgICB1cGRhdGVMaXN0KGRvY3VtZW50LCBwb2xpY3kubV9mdWxsc2NyZWVuUnVsZSwg
aXRlbS5zdWJzdHJpbmcoMTEpKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9Cisg
ICAgICAgIGlmIChpdGVtLnN0YXJ0c1dpdGgoIndlYi1zaGFyZSIpKSB7CisgICAgICAgICAgICBp
c1dlYlNoYXJlSW5pdGlhbGl6ZWQgPSB0cnVlOworICAgICAgICAgICAgdXBkYXRlTGlzdChkb2N1
bWVudCwgcG9saWN5Lm1fd2ViU2hhcmVSdWxlLCBpdGVtLnN1YnN0cmluZygxMCkpOworICAgICAg
ICAgICAgY29udGludWU7CisgICAgICAgIH0KICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9O
KQogICAgICAgICBpZiAoaXRlbS5zdGFydHNXaXRoKCJneXJvc2NvcGUiKSkgewogICAgICAgICAg
ICAgaXNHeXJvc2NvcGVJbml0aWFsaXplZCA9IHRydWU7CkBAIC0yNjQsNiArMjcyLDggQEAgRmVh
dHVyZVBvbGljeSBGZWF0dXJlUG9saWN5OjpwYXJzZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0
IEhUTUxJRnJhbWVFbGVtZW50JgogICAgICAgICBwb2xpY3kubV9nZW9sb2NhdGlvblJ1bGUuYWxs
b3dlZExpc3QuYWRkKGRvY3VtZW50LnNlY3VyaXR5T3JpZ2luKCkuZGF0YSgpKTsKICAgICBpZiAo
IWlzUGF5bWVudEluaXRpYWxpemVkKQogICAgICAgICBwb2xpY3kubV9wYXltZW50UnVsZS5hbGxv
d2VkTGlzdC5hZGQoZG9jdW1lbnQuc2VjdXJpdHlPcmlnaW4oKS5kYXRhKCkpOworICAgIGlmICgh
aXNXZWJTaGFyZUluaXRpYWxpemVkKQorICAgICAgICBwb2xpY3kubV93ZWJTaGFyZVJ1bGUuYWxs
b3dlZExpc3QuYWRkKGRvY3VtZW50LnNlY3VyaXR5T3JpZ2luKCkuZGF0YSgpKTsKICNpZiBFTkFC
TEUoREVWSUNFX09SSUVOVEFUSU9OKQogICAgIGlmICghaXNHeXJvc2NvcGVJbml0aWFsaXplZCkK
ICAgICAgICAgcG9saWN5Lm1fZ3lyb3Njb3BlUnVsZS5hbGxvd2VkTGlzdC5hZGQoZG9jdW1lbnQu
c2VjdXJpdHlPcmlnaW4oKS5kYXRhKCkpOwpAQCAtMzE3LDYgKzMyNyw4IEBAIGJvb2wgRmVhdHVy
ZVBvbGljeTo6YWxsb3dzKFR5cGUgdHlwZSwgY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiBvcmln
aW4pIGNvbnN0CiAgICAgICAgIHJldHVybiBpc0FsbG93ZWRCeUZlYXR1cmVQb2xpY3kobV9zeW5j
WEhSUnVsZSwgb3JpZ2luKTsKICAgICBjYXNlIFR5cGU6OkZ1bGxzY3JlZW46CiAgICAgICAgIHJl
dHVybiBpc0FsbG93ZWRCeUZlYXR1cmVQb2xpY3kobV9mdWxsc2NyZWVuUnVsZSwgb3JpZ2luKTsK
KyAgICBjYXNlIFR5cGU6OldlYlNoYXJlOgorICAgICAgICByZXR1cm4gaXNBbGxvd2VkQnlGZWF0
dXJlUG9saWN5KG1fd2ViU2hhcmVSdWxlLCBvcmlnaW4pOwogI2lmIEVOQUJMRShERVZJQ0VfT1JJ
RU5UQVRJT04pCiAgICAgY2FzZSBUeXBlOjpHeXJvc2NvcGU6CiAgICAgICAgIHJldHVybiBpc0Fs
bG93ZWRCeUZlYXR1cmVQb2xpY3kobV9neXJvc2NvcGVSdWxlLCBvcmlnaW4pOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5LmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0ZlYXR1cmVQb2xpY3kuaAppbmRleCA3OWU2NmZiMTY0MWIyNDE2YmIzOTc2Yjc2YTE0OGE4
YTEwZmRhZjc1Li5lNjQwZjhhNWQ3MjNkZTAxZTlhNjRiNTEwNjY2YjkzYTY3OTdhNzkyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZlYXR1cmVQb2xpY3kuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0ZlYXR1cmVQb2xpY3kuaApAQCAtNDcsNiArNDcsNyBAQCBwdWJsaWM6CiAg
ICAgICAgIFBheW1lbnQsCiAgICAgICAgIFN5bmNYSFIsCiAgICAgICAgIEZ1bGxzY3JlZW4sCisg
ICAgICAgIFdlYlNoYXJlLAogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAgICAgICAg
IEd5cm9zY29wZSwKICAgICAgICAgQWNjZWxlcm9tZXRlciwKQEAgLTczLDYgKzc0LDggQEAgcHJp
dmF0ZToKICAgICBBbGxvd1J1bGUgbV9wYXltZW50UnVsZTsKICAgICBBbGxvd1J1bGUgbV9zeW5j
WEhSUnVsZTsKICAgICBBbGxvd1J1bGUgbV9mdWxsc2NyZWVuUnVsZTsKKyAgICBBbGxvd1J1bGUg
bV93ZWJTaGFyZVJ1bGU7CisKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQogICAgIEFs
bG93UnVsZSBtX2d5cm9zY29wZVJ1bGU7CiAgICAgQWxsb3dSdWxlIG1fYWNjZWxlcm9tZXRlclJ1
bGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAKaW5kZXggYzBhMGMxOGQ3NDgwYTE2NGIwYmU5
MDhhZTExN2JkNzQyMjUyOThiMS4uYTQwYWViMGRmZTAwNTdiMGUzMTMwMjM2YzUxOTY3OTU0Njc3
YTlmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2lu
Y2x1ZGUgIkRPTVBsdWdpbi5oIgogI2luY2x1ZGUgIkRPTVBsdWdpbkFycmF5LmgiCiAjaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJGZWF0dXJlUG9saWN5LmgiCiAjaW5jbHVkZSAiRnJh
bWUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xp
ZW50LmgiCkBAIC0xMzAsNiArMTMxLDkgQEAgYm9vbCBOYXZpZ2F0b3I6OmNhblNoYXJlKERvY3Vt
ZW50JiBkb2N1bWVudCwgY29uc3QgU2hhcmVEYXRhJiBkYXRhKQogICAgIGlmICghZnJhbWUgfHwg
IWZyYW1lLT5wYWdlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmICghaXNGZWF0
dXJlUG9saWN5QWxsb3dlZEJ5RG9jdW1lbnRBbmRBbGxPd25lcnMoRmVhdHVyZVBvbGljeTo6VHlw
ZTo6V2ViU2hhcmUsIGRvY3VtZW50LCBMb2dGZWF0dXJlUG9saWN5RmFpbHVyZTo6WWVzKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgYm9vbCBoYXNTaGFyZWFibGVUaXRsZU9yVGV4dCA9
ICFkYXRhLnRpdGxlLmlzTnVsbCgpIHx8ICFkYXRhLnRleHQuaXNOdWxsKCk7CiAgICAgYm9vbCBo
YXNTaGFyZWFibGVVUkwgPSAhIXNoYXJlYWJsZVVSTEZvclNoYXJlRGF0YShkb2N1bWVudCwgZGF0
YSk7CiAjaWYgRU5BQkxFKEZJTEVfU0hBUkUpCkBAIC0xNDMsNiArMTQ3LDExIEBAIGJvb2wgTmF2
aWdhdG9yOjpjYW5TaGFyZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFNoYXJlRGF0YSYgZGF0
YSkKIAogdm9pZCBOYXZpZ2F0b3I6OnNoYXJlKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU2hh
cmVEYXRhJiBkYXRhLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiB7CisgICAgaWYg
KCFpc0ZlYXR1cmVQb2xpY3lBbGxvd2VkQnlEb2N1bWVudEFuZEFsbE93bmVycyhGZWF0dXJlUG9s
aWN5OjpUeXBlOjpXZWJTaGFyZSwgZG9jdW1lbnQsIExvZ0ZlYXR1cmVQb2xpY3lGYWlsdXJlOjpZ
ZXMpKSB7CisgICAgICAgIHByb21pc2UtPnJlamVjdChOb3RBbGxvd2VkRXJyb3IsICJUaGlyZC1w
YXJ0eSBpZnJhbWVzIGFyZSBub3QgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkgdW5sZXNzIGV4cGxp
Y2l0bHkgYWxsb3dlZCB2aWEgRmVhdHVyZS1Qb2xpY3kgKHdlYi1zaGFyZSkiX3MpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKG1faGFzUGVuZGluZ1NoYXJlKSB7CiAgICAgICAg
IHByb21pc2UtPnJlamVjdChOb3RBbGxvd2VkRXJyb3IpOwogICAgICAgICByZXR1cm47CkBAIC0x
NjksNyArMTc4LDcgQEAgdm9pZCBOYXZpZ2F0b3I6OnNoYXJlKERvY3VtZW50JiBkb2N1bWVudCwg
Y29uc3QgU2hhcmVEYXRhJiBkYXRhLCBSZWY8RGVmZXJyZWRQcm8KICAgICBpZiAoZG9jdW1lbnQu
c2V0dGluZ3MoKS53ZWJTaGFyZUZpbGVBUElFbmFibGVkKCkgJiYgIWRhdGEuZmlsZXMuaXNFbXB0
eSgpKSB7CiAgICAgICAgIGlmIChtX2xvYWRlcikKICAgICAgICAgICAgIG1fbG9hZGVyLT5jYW5j
ZWwoKTsKLSAgICAgICAgCisKICAgICAgICAgbV9sb2FkZXIgPSBTaGFyZURhdGFSZWFkZXI6OmNy
ZWF0ZShbdGhpcywgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldIChFeGNlcHRpb25PcjxTaGFy
ZURhdGFXaXRoUGFyc2VkVVJMJj4gcmVhZERhdGEpIG11dGFibGUgewogICAgICAgICAgICAgc2hv
d1NoYXJlRGF0YShyZWFkRGF0YSwgV1RGTW92ZShwcm9taXNlKSk7CiAgICAgICAgIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGNjYzI5MGVlMDAxODhiMzFhNTRlNWNhYjk1ZmQxZjU5MWQzZjhhNDMuLmZjMjE5YTgxZDlj
OGM5MTE5OTc0YTlhNzBlYWRjYjE0YjZmNDQxMDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAy
MS0wOS0wMyAgTWFyY29zIENhY2VyZXMgIDxtYXJjb3NAbWFyY29zYy5jb20+CisKKyAgICAgICAg
V2ViIFNoYXJlIHBlcm1pc3Npb24gcG9saWN5ICJ3ZWItc2hhcmUiIGFuZCAic2VsZiIgYXMgdGhl
IGFsbG93bGlzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjE0NDQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGV2aW4gUm91c3NvLgorCisgICAgICAg
ICogaHR0cC90ZXN0cy93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1h
dHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1jYW5TaGFyZS5odHRw
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFs
bG93LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLXNoYXJlLmh0dHBz
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azEvd2Vic2hhcmUvd2Vic2hh
cmUtYWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vbWFjLXdrMS93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1
dGUtc2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93
aW4vd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vd2luL3dlYnNoYXJlL3dlYnNoYXJl
LWFsbG93LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDIx
LTA5LTAxICBNYXJjb3MgQ2FjZXJlcyAgPG1hcmNvc0BtYXJjb3NjLmNvbT4KIAogICAgICAgICBB
ZGQgInBheW1lbnQiIHBlcm1pc3Npb25zIHBvbGljeQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3Rt
ZXNzYWdlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmUxZTFkNWIwNmU4MGRiNzQ4MGYyNDZmMDk3YjVjZGMz
YTE0ZDFkYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hh
cmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwKQEAgLTAsMCArMSw2NCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzxzdHlsZT4KKyAgaHRt
bCB7CisgICAgaGVpZ2h0OiAxMDAlOworICB9CisgIGJvZHkgeworICAgIGRpc3BsYXk6IGdyaWQ7
CisgIH0KKyAgYnV0dG9uIHsKKyAgICBoZWlnaHQ6IDEwMHZoOworICAgIHdpZHRoOiAxMDAlOwor
ICB9Cis8L3N0eWxlPgorPGJvZHk+CisgIDxidXR0b24gaWQ9InNoYXJlLWJ1dHRvbiI+U0hBUkUh
PC9idXR0b24+CisgIDxzY3JpcHQ+CisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoCisgICAg
ICAibWVzc2FnZSIsCisgICAgICBhc3luYyAoZXZlbnQpID0+IHsKKyAgICAgICAgY29uc3Qgc2hh
cmVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2hhcmUtYnV0dG9uIik7CisgICAg
ICAgIGNvbnN0IHsgYWN0aW9uIH0gPSBldmVudC5kYXRhOworICAgICAgICBsZXQgcmVzdWx0ID0g
bnVsbDsKKyAgICAgICAgbGV0IGV4Y2VwdGlvbk1lc3NhZ2U7CisgICAgICAgIGxldCBleGNlcHRp
b25OYW1lOworICAgICAgICBzd2l0Y2ggKGFjdGlvbikgeworICAgICAgICAgIGNhc2UgImNhbGwg
Y2FuU2hhcmUoKSI6CisgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICByZXN1bHQgPSBu
YXZpZ2F0b3IuY2FuU2hhcmUoeyB0ZXh0OiAic29tZSB0ZXh0IiB9KTsKKyAgICAgICAgICAgIH0g
Y2F0Y2ggKGUpIHsKKyAgICAgICAgICAgICAgZXhjZXB0aW9uTWVzc2FnZSA9IGUubWVzc2FnZTsK
KyAgICAgICAgICAgICAgZXhjZXB0aW9uTmFtZSA9IGUubmFtZTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGNhc2UgImNhbGwgc2hhcmUoKSI6CisgICAgICAg
ICAgICBhd2FpdCB1c2VyQWN0aXZhdGlvbkZyb21QYXJlbnQoc2hhcmVCdXR0b24sIGV2ZW50KTsK
KyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgIGF3YWl0IG5hdmlnYXRvci5zaGFyZSh7
IHRleHQ6ICJzb21lIHRleHQiIH0pOworICAgICAgICAgICAgICByZXN1bHQgPSAic2hhcmUgY29t
cGxldGVkIjsKKyAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgICAgcmVzdWx0
ID0gInRocmV3IjsKKyAgICAgICAgICAgICAgZXhjZXB0aW9uTWVzc2FnZSA9IGUubWVzc2FnZTsK
KyAgICAgICAgICAgICAgZXhjZXB0aW9uTmFtZSA9IGUubmFtZTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoYFVua25vd24gYWN0aW9uOiAke2FjdGlvbn1gKTsKKyAgICAgICAgfQorICAgICAg
ICBldmVudC5zb3VyY2UucG9zdE1lc3NhZ2UoCisgICAgICAgICAgeyBhY3Rpb24sIHJlc3VsdCwg
ZXhjZXB0aW9uTWVzc2FnZSwgZXhjZXB0aW9uTmFtZSB9LAorICAgICAgICAgIGV2ZW50Lm9yaWdp
bgorICAgICAgICApOworICAgICAgfSwKKyAgICAgIHsgb25jZTogdHJ1ZSB9CisgICAgKTsKKwor
ICAgIGZ1bmN0aW9uIHVzZXJBY3RpdmF0aW9uRnJvbVBhcmVudChzaGFyZUJ1dHRvbiwgZXZlbnQp
IHsKKyAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgICBzaGFy
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHJlc29sdmUsIHsgb25jZTogdHJ1ZSB9
KTsKKyAgICAgICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdlKCJjbGljayBtZSEiLCBldmVudC5v
cmlnaW4pOworICAgICAgfSk7CisgICAgfQorICA8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmli
dXRlLWNhblNoYXJlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40MWRmNzNhNDBiNjlkNjM4NmZmYjU4ZmFkMjM2OGU5MDUwMjQ4MWNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJz
aGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTggQEAKK0NPTlNPTEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVj
ayBmYWlsZWQgZm9yIGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0Mycg
YW5kIGFsbG93IGF0dHJpYnV0ZSAnJy4KK0NPTlNPTEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kg
J1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6Ly9s
b2NhbGhvc3Q6ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAnd2ViLXNoYXJlICdub25lJycuCitD
T05TT0xFIE1FU1NBR0U6IEZlYXR1cmUgcG9saWN5ICdXZWJTaGFyZScgY2hlY2sgZmFpbGVkIGZv
ciBpZnJhbWUgd2l0aCBvcmlnaW4gJ2h0dHBzOi8vMTI3LjAuMC4xOjg0NDMnIGFuZCBhbGxvdyBh
dHRyaWJ1dGUgJ3dlYi1zaGFyZSAnbm9uZScnLgorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBv
bGljeSAnV2ViU2hhcmUnIGNoZWNrIGZhaWxlZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRw
czovL2xvY2FsaG9zdDo4NDQzJyBhbmQgYWxsb3cgYXR0cmlidXRlICd3ZWItc2hhcmUgJ3NlbGYn
Jy4KK0NPTlNPTEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVjayBmYWls
ZWQgZm9yIGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0MycgYW5kIGFs
bG93IGF0dHJpYnV0ZSAnd2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMnLgorUEFTUyBp
ZnJhbWUgc3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vi
c2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0iIiBNVVNUIE5PVCBiZSBhbGxvd2Vk
IHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4x
Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGgg
YWxsb3c9IiIgaXMgYWxsb3dlZCB0byBjYWxsIGNhblNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6
ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0
bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUiIGlzIGFsbG93ZWQgdG8gY2FsbCBj
YW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJz
aGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2Vi
LXNoYXJlIiBpcyBhbGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzog
Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3Rt
ZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAqIiBpcyBhbGxvd2VkIHRvIGNhbGwg
Y2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vi
c2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9Indl
Yi1zaGFyZSAqIiBpcyBhbGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNy
YzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBv
c3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAnbm9uZSciIE1VU1QgTk9UIGJl
IGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8x
MjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRt
bCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICdub25lJyIgTVVTVCBOT1QgYmUgYWxsb3dlZCB0byBj
YWxsIGNhblNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQz
L3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93
PSJ3ZWItc2hhcmUgJ3NlbGYnIiBNVVNUIE5PVCBiZSBhbGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUo
KS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vic2hhcmUvcmVz
b3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAn
c2VsZiciIGlzIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1l
c3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMi
IGlzIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6
Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2Uu
aHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMiIE1VU1Qg
Tk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1jYW5TaGFy
ZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1h
bGxvdy1hdHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTU0MzQ3ODVh
MmQyNGI4MzVjYmMzMzU4NGJlOTMyMTcyZGVmYzZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2FuU2hh
cmUuaHR0cHMuaHRtbApAQCAtMCwwICsxLDEwOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KyAgPGhlYWQ+CisgICAgPHRpdGxlPgorICAgICAgVGVzdCBhbGxvdyBhdHRyaWJ1dGUgd2l0aCAi
d2ViLXNoYXJlIiBhbmQgY2FuU2hhcmUoKSBtZXRob2QKKyAgICA8L3RpdGxlPgorICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJpbml0aWFsLXNjYWxlPTUsIHdpZHRoPWRldmljZS13
aWR0aCIgLz4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgdGVzdFJ1bm5lcj8uZHVtcEFzVGV4dCgpOwor
ICAgICAgdGVzdFJ1bm5lcj8ud2FpdFVudGlsRG9uZSgpOworCisgICAgICBmdW5jdGlvbiB3YWl0
Rm9yKHRhcmdldCwgZXZlbnROYW1lKSB7CisgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVz
b2x2ZSkgPT4geworICAgICAgICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwg
cmVzb2x2ZSwgeyBvbmNlOiB0cnVlIH0pOworICAgICAgICB9KTsKKyAgICAgIH0KKworICAgICAg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBhc3luYyAoKSA9PiB7CisgICAgICAgIGZv
ciAoY29uc3QgaWZyYW1lIG9mIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoImlmcmFtZSIpKSB7
CisgICAgICAgICAgY29uc3QgeyBlbmFibGVkLCBzcmMgfSA9IGlmcmFtZS5kYXRhc2V0OworICAg
ICAgICAgIGNvbnN0IGlzQWxsb3dlZCA9IGVuYWJsZWQgPT09ICJ0cnVlIjsKKyAgICAgICAgICBj
b25zdCBhY3Rpb24gPSAiY2FsbCBjYW5TaGFyZSgpIjsKKyAgICAgICAgICBpZnJhbWUuY29udGVu
dFdpbmRvdy5wb3N0TWVzc2FnZSh7IGFjdGlvbiB9LCAiKiIpOworICAgICAgICAgIGNvbnN0IHsg
ZGF0YSB9ID0gYXdhaXQgd2FpdEZvcih3aW5kb3csICJtZXNzYWdlIik7CisgICAgICAgICAgY29u
c3QgeyBleGNlcHRpb25NZXNzYWdlLCBleGNlcHRpb25OYW1lLCByZXN1bHQgfSA9IGRhdGE7CisK
KyAgICAgICAgICBjb25zdCBtc2cgPSBgaWZyYW1lIHNyYzogIiR7aWZyYW1lLnNyY30iIHdpdGgg
YWxsb3c9IiR7CisgICAgICAgICAgICBpZnJhbWUuYWxsb3cKKyAgICAgICAgICB9IiAkeworICAg
ICAgICAgICAgaXNBbGxvd2VkID8gImlzIGFsbG93ZWQgdG8iIDogIk1VU1QgTk9UIGJlIGFsbG93
ZWQgdG8iCisgICAgICAgICAgfSAke2FjdGlvbn0uICR7ZXhjZXB0aW9uTmFtZSA/PyAiIn0gJHtl
eGNlcHRpb25NZXNzYWdlID8/ICIifWA7CisKKyAgICAgICAgICBzd2l0Y2ggKHJlc3VsdCkgewor
ICAgICAgICAgICAgY2FzZSB0cnVlOgorICAgICAgICAgICAgICBpc0FsbG93ZWQgPyB0ZXN0UGFz
c2VkKG1zZykgOiB0ZXN0RmFpbGVkKG1zZyk7CisgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgY2FzZSBmYWxzZToKKyAgICAgICAgICAgICAgIWlzQWxsb3dlZCA/IHRlc3RQYXNzZWQo
bXNnKSA6IHRlc3RGYWlsZWQobXNnKTsKKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAg
ICBkZWZhdWx0OgorICAgICAgICAgICAgICB0ZXN0RmFpbGVkKG1zZyArIGAgLSByZXN1bHQgd2Fz
OiAke3Jlc3VsdH1gKTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7CisgICAgICB9KTsKKyAgICA8L3NjcmlwdD4KKyAgPC9oZWFkPgorICA8
Ym9keT4KKyAgICA8aWZyYW1lCisgICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAgc3Jj
PSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0
bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBkYXRhLWVu
YWJsZWQ9InRydWUiCisgICAgICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdl
Lmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hh
cmUiCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAgICBzcmM9Imh0dHBzOi8vbG9jYWxo
b3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisg
ICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUiCisgICAg
ICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAgICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBv
c3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93
PSJ3ZWItc2hhcmUgKiIKKyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iaHR0
cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3Nh
Z2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1z
aGFyZSAqIgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAgc3JjPSIuL3Jlc291cmNl
cy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1l
CisgICAgICBhbGxvdz0id2ViLXNoYXJlICdub25lJyIKKyAgICAgIGRhdGEtZW5hYmxlZD0iZmFs
c2UiCisgICAgICBzcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2Vz
L3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUK
KyAgICAgIGFsbG93PSJ3ZWItc2hhcmUgJ25vbmUnIgorICAgICAgZGF0YS1lbmFibGVkPSJmYWxz
ZSIKKyAgICAgIHNyYz0iLi9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAg
ICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSAnc2VsZici
CisgICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAgc3JjPSJodHRwczovL2xvY2FsaG9z
dDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAg
ID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlICdzZWxmJyIK
KyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iLi9yZXNvdXJjZXMvd2Vic2hh
cmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAg
YWxsb3c9IndlYi1zaGFyZSBodHRwczovL2xvY2FsaG9zdDo4NDQzIgorICAgICAgZGF0YS1lbmFi
bGVkPSJ0cnVlIgorICAgICAgc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jl
c291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8
aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMiCisg
ICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAgc3JjPSIuL3Jlc291cmNlcy93ZWJzaGFy
ZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxv
dy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjAwMDE1YWQwMGY1ZDA3N2RiNjljNmRmYWNhZGY3MWQ4ZTdmNDQz
MjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dl
YnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxOCBAQAorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUnIGNoZWNr
IGZhaWxlZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovL2xvY2FsaG9zdDo4NDQzJyBh
bmQgYWxsb3cgYXR0cmlidXRlICcnLgorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAn
V2ViU2hhcmUnIGNoZWNrIGZhaWxlZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovL2xv
Y2FsaG9zdDo4NDQzJyBhbmQgYWxsb3cgYXR0cmlidXRlICd3ZWItc2hhcmUgJ25vbmUnJy4KK0NP
TlNPTEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9y
IGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0MycgYW5kIGFsbG93IGF0
dHJpYnV0ZSAnd2ViLXNoYXJlICdub25lJycuCitDT05TT0xFIE1FU1NBR0U6IEZlYXR1cmUgcG9s
aWN5ICdXZWJTaGFyZScgY2hlY2sgZmFpbGVkIGZvciBpZnJhbWUgd2l0aCBvcmlnaW4gJ2h0dHBz
Oi8vbG9jYWxob3N0Ojg0NDMnIGFuZCBhbGxvdyBhdHRyaWJ1dGUgJ3dlYi1zaGFyZSAnc2VsZicn
LgorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUnIGNoZWNrIGZhaWxl
ZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovLzEyNy4wLjAuMTo4NDQzJyBhbmQgYWxs
b3cgYXR0cmlidXRlICd3ZWItc2hhcmUgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MycuCitQQVNTIGlm
cmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJz
aGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSIiIE1VU1QgTk9UIGJlIGFsbG93ZWQg
dG8gY2FsbCBzaGFyZSgpLiBOb3RBbGxvd2VkRXJyb3IgVGhpcmQtcGFydHkgaWZyYW1lcyBhcmUg
bm90IGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpIHVubGVzcyBleHBsaWNpdGx5IGFsbG93ZWQgdmlh
IEZlYXR1cmUtUG9saWN5ICh3ZWItc2hhcmUpCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEy
Ny4wLjAuMTo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1s
IiB3aXRoIGFsbG93PSIiIGlzIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpLgorUEFTUyBpZnJhbWUg
c3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUt
cG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlIiBpcyBhbGxvd2VkIHRvIGNh
bGwgc2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vi
c2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9Indl
Yi1zaGFyZSIgaXMgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJo
dHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVz
c2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgKiIgaXMgYWxsb3dlZCB0byBjYWxsIHNo
YXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAuMTo4NDQzL3dlYnNoYXJl
L3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hh
cmUgKiIgaXMgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRw
czovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2Fn
ZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgJ25vbmUnIiBNVVNUIE5PVCBiZSBhbGxvd2Vk
IHRvIGNhbGwgc2hhcmUoKS4gTm90QWxsb3dlZEVycm9yIFRoaXJkLXBhcnR5IGlmcmFtZXMgYXJl
IG5vdCBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKSB1bmxlc3MgZXhwbGljaXRseSBhbGxvd2VkIHZp
YSBGZWF0dXJlLVBvbGljeSAod2ViLXNoYXJlKQorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8x
MjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRt
bCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICdub25lJyIgTVVTVCBOT1QgYmUgYWxsb3dlZCB0byBj
YWxsIHNoYXJlKCkuIE5vdEFsbG93ZWRFcnJvciBUaGlyZC1wYXJ0eSBpZnJhbWVzIGFyZSBub3Qg
YWxsb3dlZCB0byBjYWxsIHNoYXJlKCkgdW5sZXNzIGV4cGxpY2l0bHkgYWxsb3dlZCB2aWEgRmVh
dHVyZS1Qb2xpY3kgKHdlYi1zaGFyZSkKK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxo
b3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdp
dGggYWxsb3c9IndlYi1zaGFyZSAnc2VsZiciIE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBz
aGFyZSgpLiBOb3RBbGxvd2VkRXJyb3IgVGhpcmQtcGFydHkgaWZyYW1lcyBhcmUgbm90IGFsbG93
ZWQgdG8gY2FsbCBzaGFyZSgpIHVubGVzcyBleHBsaWNpdGx5IGFsbG93ZWQgdmlhIEZlYXR1cmUt
UG9saWN5ICh3ZWItc2hhcmUpCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAuMTo4
NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFs
bG93PSJ3ZWItc2hhcmUgJ3NlbGYnIiBpcyBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4KK1BBU1Mg
aWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dl
YnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSBodHRwczovL2xv
Y2FsaG9zdDo4NDQzIiBpcyBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNy
YzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBv
c3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSBodHRwczovL2xvY2FsaG9zdDo4
NDQzIiBNVVNUIE5PVCBiZSBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4gTm90QWxsb3dlZEVycm9y
IFRoaXJkLXBhcnR5IGlmcmFtZXMgYXJlIG5vdCBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKSB1bmxl
c3MgZXhwbGljaXRseSBhbGxvd2VkIHZpYSBGZWF0dXJlLVBvbGljeSAod2ViLXNoYXJlKQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93
LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
aGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lNWI3YzEyNTNjYjRlNWJmNjlkZDQwYjY3MDg1NmNkYjE1ZTA0YmE4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRy
aWJ1dGUtc2hhcmUuaHR0cHMuaHRtbApAQCAtMCwwICsxLDEyMiBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHRpdGxlPgorICAgICAgVGVzdCBhbGxvdyBhdHRyaWJ1
dGUgd2l0aCAid2ViLXNoYXJlIiBhbmQgc2hhcmUoKSBtZXRob2QKKyAgICA8L3RpdGxlPgorICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJpbml0aWFsLXNjYWxlPTUsIHdpZHRoPWRl
dmljZS13aWR0aCIgLz4KKyAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgIHRlc3RSdW5uZXI/LmR1bXBB
c1RleHQoKTsKKyAgICAgIHRlc3RSdW5uZXI/LndhaXRVbnRpbERvbmUoKTsKKworICAgICAgZnVu
Y3Rpb24gd2FpdEZvcih0YXJnZXQsIGV2ZW50TmFtZSkgeworICAgICAgICByZXR1cm4gbmV3IFBy
b21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgICAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihl
dmVudE5hbWUsIHJlc29sdmUsIHsgb25jZTogdHJ1ZSB9KTsKKyAgICAgICAgfSk7CisgICAgICB9
CisKKyAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICBmb3IgKGNvbnN0IGlmcmFtZSBvZiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJp
ZnJhbWUiKSkgeworICAgICAgICAgIGNvbnN0IHsgZW5hYmxlZCwgc3JjIH0gPSBpZnJhbWUuZGF0
YXNldDsKKyAgICAgICAgICBjb25zdCBpc0FsbG93ZWQgPSBlbmFibGVkID09PSAidHJ1ZSI7Cisg
ICAgICAgICAgY29uc3QgYWN0aW9uID0gImNhbGwgc2hhcmUoKSI7CisgICAgICAgICAgaWZyYW1l
LmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoeyBhY3Rpb24gfSwgIioiKTsKKyAgICAgICAgICBj
b25zdCB7IGRhdGE6IGNsaWNrTWVzc2FnZSB9ID0gYXdhaXQgd2FpdEZvcih3aW5kb3csICJtZXNz
YWdlIik7CisgICAgICAgICAgaWYgKGNsaWNrTWVzc2FnZSAhPT0gImNsaWNrIG1lISIpIHsKKyAg
ICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgYSBjbGljayByZXF1ZXN0OiIgKyBj
bGlja01lc3NhZ2UpOworICAgICAgICAgIH0KKyAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoaWZyYW1lKTsKKyAgICAgICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IHdh
aXRGb3Iod2luZG93LCAibWVzc2FnZSIpOworICAgICAgICAgIGNvbnN0IHsgZXhjZXB0aW9uTWVz
c2FnZSwgZXhjZXB0aW9uTmFtZSwgcmVzdWx0IH0gPSBkYXRhOworICAgICAgICAgIGNvbnN0IG1z
ZyA9IGBpZnJhbWUgc3JjOiAiJHtpZnJhbWUuc3JjfSIgd2l0aCBhbGxvdz0iJHsKKyAgICAgICAg
ICAgIGlmcmFtZS5hbGxvdworICAgICAgICAgIH0iICR7CisgICAgICAgICAgICBpc0FsbG93ZWQg
PyAiaXMgYWxsb3dlZCB0byIgOiAiTVVTVCBOT1QgYmUgYWxsb3dlZCB0byIKKyAgICAgICAgICB9
ICR7YWN0aW9ufS4gJHtleGNlcHRpb25OYW1lID8/ICIifSAke2V4Y2VwdGlvbk1lc3NhZ2UgPz8g
IiJ9YDsKKyAgICAgICAgICBzd2l0Y2ggKHJlc3VsdCkgeworICAgICAgICAgICAgY2FzZSAic2hh
cmUgY29tcGxldGVkIjoKKyAgICAgICAgICAgICAgaXNBbGxvd2VkID8gdGVzdFBhc3NlZChtc2cp
IDogdGVzdEZhaWxlZChtc2cpOworICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNh
c2UgInRocmV3IjoKKyAgICAgICAgICAgICAgaWYgKAorICAgICAgICAgICAgICAgICFpc0FsbG93
ZWQgJiYKKyAgICAgICAgICAgICAgICBleGNlcHRpb25OYW1lID09PSAiTm90QWxsb3dlZEVycm9y
IiAmJgorICAgICAgICAgICAgICAgIGV4Y2VwdGlvbk1lc3NhZ2UuZW5kc1dpdGgoIkZlYXR1cmUt
UG9saWN5ICh3ZWItc2hhcmUpIikKKyAgICAgICAgICAgICAgKSB7CisgICAgICAgICAgICAgICAg
dGVzdFBhc3NlZChtc2cpOworICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQobXNnKTsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgIHRlc3RGYWlsZWQobXNnICsgYCAt
IHJlc3VsdCB3YXM6ICR7cmVzdWx0fWApOworICAgICAgICAgIH0KKyAgICAgICAgICBpZnJhbWUu
cmVtb3ZlKCk7CisgICAgICAgIH0KKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cisg
ICAgICB9KTsKKyAgICA8L3NjcmlwdD4KKyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8aWZyYW1l
CisgICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAgc3JjPSJodHRwczovL2xvY2FsaG9z
dDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAg
ID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAg
ICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZy
YW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUiCisgICAgICBkYXRhLWVu
YWJsZWQ9InRydWUiCisgICAgICBzcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUv
cmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAg
IDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUiCisgICAgICBkYXRhLWVuYWJsZWQ9InRy
dWUiCisgICAgICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisg
ICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUgKiIKKyAg
ICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0
My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9p
ZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSAqIgorICAgICAgZGF0
YS1lbmFibGVkPSJ0cnVlIgorICAgICAgc3JjPSIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVz
c2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0id2Vi
LXNoYXJlICdub25lJyIKKyAgICAgIGRhdGEtZW5hYmxlZD0iZmFsc2UiCisgICAgICBzcmM9Imh0
dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNz
YWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWIt
c2hhcmUgJ25vbmUnIgorICAgICAgZGF0YS1lbmFibGVkPSJmYWxzZSIKKyAgICAgIHNyYz0iLi9y
ZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAg
PGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSAnc2VsZiciCisgICAgICBkYXRhLWVuYWJs
ZWQ9ImZhbHNlIgorICAgICAgc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jl
c291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8
aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlICdzZWxmJyIKKyAgICAgIGRhdGEtZW5hYmxl
ZD0idHJ1ZSIKKyAgICAgIHNyYz0iLi9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRt
bCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSBo
dHRwczovL2xvY2FsaG9zdDo4NDQzIgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAg
c3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1w
b3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxv
dz0id2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMiCisgICAgICBkYXRhLWVuYWJsZWQ9
ImZhbHNlIgorICAgICAgc3JjPSIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1s
IgorICAgID48L2lmcmFtZT4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUt
Y2FuU2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
MS93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmRkZjliMGQzMjI2NTdlNDg1NTdhYTAyZDk2ODNhNzEwOWMxZmEw
NDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL3dlYnNo
YXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1jYW5TaGFyZS5odHRwcy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorRkFJTCBpZnJhbWUgc3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0
My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxv
dz0iIiBNVVNUIE5PVCBiZSBhbGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4gVHlwZUVycm9yIG5h
dmlnYXRvci5jYW5TaGFyZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICduYXZpZ2F0b3IuY2FuU2hh
cmUoeyB0ZXh0OiAic29tZSB0ZXh0IiB9KScsICduYXZpZ2F0b3IuY2FuU2hhcmUnIGlzIHVuZGVm
aW5lZCkgLSByZXN1bHQgd2FzOiBudWxsCitGQUlMIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4w
LjAuMTo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3
aXRoIGFsbG93PSIiIGlzIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLiBUeXBlRXJyb3IgbmF2
aWdhdG9yLmNhblNoYXJlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ25hdmlnYXRvci5jYW5TaGFy
ZSh7IHRleHQ6ICJzb21lIHRleHQiIH0pJywgJ25hdmlnYXRvci5jYW5TaGFyZScgaXMgdW5kZWZp
bmVkKSAtIHJlc3VsdCB3YXM6IG51bGwKK0ZBSUwgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxo
b3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdp
dGggYWxsb3c9IndlYi1zaGFyZSIgaXMgYWxsb3dlZCB0byBjYWxsIGNhblNoYXJlKCkuIFR5cGVF
cnJvciBuYXZpZ2F0b3IuY2FuU2hhcmUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnbmF2aWdhdG9y
LmNhblNoYXJlKHsgdGV4dDogInNvbWUgdGV4dCIgfSknLCAnbmF2aWdhdG9yLmNhblNoYXJlJyBp
cyB1bmRlZmluZWQpIC0gcmVzdWx0IHdhczogbnVsbAorRkFJTCBpZnJhbWUgc3JjOiAiaHR0cHM6
Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2Uu
aHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlIiBpcyBhbGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUo
KS4gVHlwZUVycm9yIG5hdmlnYXRvci5jYW5TaGFyZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdu
YXZpZ2F0b3IuY2FuU2hhcmUoeyB0ZXh0OiAic29tZSB0ZXh0IiB9KScsICduYXZpZ2F0b3IuY2Fu
U2hhcmUnIGlzIHVuZGVmaW5lZCkgLSByZXN1bHQgd2FzOiBudWxsCitGQUlMIGlmcmFtZSBzcmM6
ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0
bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgKiIgaXMgYWxsb3dlZCB0byBjYWxs
IGNhblNoYXJlKCkuIFR5cGVFcnJvciBuYXZpZ2F0b3IuY2FuU2hhcmUgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnbmF2aWdhdG9yLmNhblNoYXJlKHsgdGV4dDogInNvbWUgdGV4dCIgfSknLCAnbmF2
aWdhdG9yLmNhblNoYXJlJyBpcyB1bmRlZmluZWQpIC0gcmVzdWx0IHdhczogbnVsbAorRkFJTCBp
ZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vi
c2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICoiIGlzIGFsbG93
ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLiBUeXBlRXJyb3IgbmF2aWdhdG9yLmNhblNoYXJlIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ25hdmlnYXRvci5jYW5TaGFyZSh7IHRleHQ6ICJzb21lIHRleHQi
IH0pJywgJ25hdmlnYXRvci5jYW5TaGFyZScgaXMgdW5kZWZpbmVkKSAtIHJlc3VsdCB3YXM6IG51
bGwKK0ZBSUwgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVz
b3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAn
bm9uZSciIE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLiBUeXBlRXJyb3Ig
bmF2aWdhdG9yLmNhblNoYXJlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ25hdmlnYXRvci5jYW5T
aGFyZSh7IHRleHQ6ICJzb21lIHRleHQiIH0pJywgJ25hdmlnYXRvci5jYW5TaGFyZScgaXMgdW5k
ZWZpbmVkKSAtIHJlc3VsdCB3YXM6IG51bGwKK0ZBSUwgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3
LjAuMC4xOjg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwi
IHdpdGggYWxsb3c9IndlYi1zaGFyZSAnbm9uZSciIE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2Fs
bCBjYW5TaGFyZSgpLiBUeXBlRXJyb3IgbmF2aWdhdG9yLmNhblNoYXJlIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ25hdmlnYXRvci5jYW5TaGFyZSh7IHRleHQ6ICJzb21lIHRleHQiIH0pJywgJ25h
dmlnYXRvci5jYW5TaGFyZScgaXMgdW5kZWZpbmVkKSAtIHJlc3VsdCB3YXM6IG51bGwKK0ZBSUwg
aWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dl
YnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAnc2VsZiciIE1V
U1QgTk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLiBUeXBlRXJyb3IgbmF2aWdhdG9y
LmNhblNoYXJlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ25hdmlnYXRvci5jYW5TaGFyZSh7IHRl
eHQ6ICJzb21lIHRleHQiIH0pJywgJ25hdmlnYXRvci5jYW5TaGFyZScgaXMgdW5kZWZpbmVkKSAt
IHJlc3VsdCB3YXM6IG51bGwKK0ZBSUwgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0
NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxs
b3c9IndlYi1zaGFyZSAnc2VsZiciIGlzIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLiBUeXBl
RXJyb3IgbmF2aWdhdG9yLmNhblNoYXJlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ25hdmlnYXRv
ci5jYW5TaGFyZSh7IHRleHQ6ICJzb21lIHRleHQiIH0pJywgJ25hdmlnYXRvci5jYW5TaGFyZScg
aXMgdW5kZWZpbmVkKSAtIHJlc3VsdCB3YXM6IG51bGwKK0ZBSUwgaWZyYW1lIHNyYzogImh0dHBz
Oi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdl
Lmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSBodHRwczovL2xvY2FsaG9zdDo4NDQzIiBpcyBh
bGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4gVHlwZUVycm9yIG5hdmlnYXRvci5jYW5TaGFyZSBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICduYXZpZ2F0b3IuY2FuU2hhcmUoeyB0ZXh0OiAic29tZSB0
ZXh0IiB9KScsICduYXZpZ2F0b3IuY2FuU2hhcmUnIGlzIHVuZGVmaW5lZCkgLSByZXN1bHQgd2Fz
OiBudWxsCitGQUlMIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAuMTo4NDQzL3dlYnNoYXJl
L3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hh
cmUgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MyIgTVVTVCBOT1QgYmUgYWxsb3dlZCB0byBjYWxsIGNh
blNoYXJlKCkuIFR5cGVFcnJvciBuYXZpZ2F0b3IuY2FuU2hhcmUgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAnbmF2aWdhdG9yLmNhblNoYXJlKHsgdGV4dDogInNvbWUgdGV4dCIgfSknLCAnbmF2aWdh
dG9yLmNhblNoYXJlJyBpcyB1bmRlZmluZWQpIC0gcmVzdWx0IHdhczogbnVsbAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93
LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2sxL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMxNGI1MGIyZTZlNzU4Y2Q0MzljY2VmZTE5ZGUzZWFh
MWU4MjE2YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEv
d2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLXNoYXJlLmh0dHBzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEzIEBACitGQUlMIGlmcmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4
NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFs
bG93PSIiIE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpLiBUeXBlRXJyb3IgbmF2
aWdhdG9yLnNoYXJlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ25hdmlnYXRvci5zaGFyZSh7IHRl
eHQ6ICJzb21lIHRleHQiIH0pJywgJ25hdmlnYXRvci5zaGFyZScgaXMgdW5kZWZpbmVkKQorRkFJ
TCBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMv
d2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0iIiBpcyBhbGxvd2VkIHRvIGNh
bGwgc2hhcmUoKS4gVHlwZUVycm9yIG5hdmlnYXRvci5zaGFyZSBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICduYXZpZ2F0b3Iuc2hhcmUoeyB0ZXh0OiAic29tZSB0ZXh0IiB9KScsICduYXZpZ2F0b3Iu
c2hhcmUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxob3N0
Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGgg
YWxsb3c9IndlYi1zaGFyZSIgaXMgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkuIFR5cGVFcnJvciBu
YXZpZ2F0b3Iuc2hhcmUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnbmF2aWdhdG9yLnNoYXJlKHsg
dGV4dDogInNvbWUgdGV4dCIgfSknLCAnbmF2aWdhdG9yLnNoYXJlJyBpcyB1bmRlZmluZWQpCitG
QUlMIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAuMTo4NDQzL3dlYnNoYXJlL3Jlc291cmNl
cy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUiIGlzIGFs
bG93ZWQgdG8gY2FsbCBzaGFyZSgpLiBUeXBlRXJyb3IgbmF2aWdhdG9yLnNoYXJlIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ25hdmlnYXRvci5zaGFyZSh7IHRleHQ6ICJzb21lIHRleHQiIH0pJywg
J25hdmlnYXRvci5zaGFyZScgaXMgdW5kZWZpbmVkKQorRkFJTCBpZnJhbWUgc3JjOiAiaHR0cHM6
Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2Uu
aHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICoiIGlzIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgp
LiBUeXBlRXJyb3IgbmF2aWdhdG9yLnNoYXJlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ25hdmln
YXRvci5zaGFyZSh7IHRleHQ6ICJzb21lIHRleHQiIH0pJywgJ25hdmlnYXRvci5zaGFyZScgaXMg
dW5kZWZpbmVkKQorRkFJTCBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJz
aGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2Vi
LXNoYXJlICoiIGlzIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpLiBUeXBlRXJyb3IgbmF2aWdhdG9y
LnNoYXJlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ25hdmlnYXRvci5zaGFyZSh7IHRleHQ6ICJz
b21lIHRleHQiIH0pJywgJ25hdmlnYXRvci5zaGFyZScgaXMgdW5kZWZpbmVkKQorRkFJTCBpZnJh
bWUgc3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hh
cmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICdub25lJyIgTVVTVCBO
T1QgYmUgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkuIFR5cGVFcnJvciBuYXZpZ2F0b3Iuc2hhcmUg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnbmF2aWdhdG9yLnNoYXJlKHsgdGV4dDogInNvbWUgdGV4
dCIgfSknLCAnbmF2aWdhdG9yLnNoYXJlJyBpcyB1bmRlZmluZWQpCitGQUlMIGlmcmFtZSBzcmM6
ICJodHRwczovLzEyNy4wLjAuMTo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0
bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgJ25vbmUnIiBNVVNUIE5PVCBiZSBh
bGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4gVHlwZUVycm9yIG5hdmlnYXRvci5zaGFyZSBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICduYXZpZ2F0b3Iuc2hhcmUoeyB0ZXh0OiAic29tZSB0ZXh0IiB9KScs
ICduYXZpZ2F0b3Iuc2hhcmUnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgaWZyYW1lIHNyYzogImh0dHBz
Oi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdl
Lmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAnc2VsZiciIE1VU1QgTk9UIGJlIGFsbG93ZWQg
dG8gY2FsbCBzaGFyZSgpLiBUeXBlRXJyb3IgbmF2aWdhdG9yLnNoYXJlIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ25hdmlnYXRvci5zaGFyZSh7IHRleHQ6ICJzb21lIHRleHQiIH0pJywgJ25hdmln
YXRvci5zaGFyZScgaXMgdW5kZWZpbmVkKQorRkFJTCBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcu
MC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIg
d2l0aCBhbGxvdz0id2ViLXNoYXJlICdzZWxmJyIgaXMgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCku
IFR5cGVFcnJvciBuYXZpZ2F0b3Iuc2hhcmUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnbmF2aWdh
dG9yLnNoYXJlKHsgdGV4dDogInNvbWUgdGV4dCIgfSknLCAnbmF2aWdhdG9yLnNoYXJlJyBpcyB1
bmRlZmluZWQpCitGQUlMIGlmcmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNo
YXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWIt
c2hhcmUgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MyIgaXMgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCku
IFR5cGVFcnJvciBuYXZpZ2F0b3Iuc2hhcmUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnbmF2aWdh
dG9yLnNoYXJlKHsgdGV4dDogInNvbWUgdGV4dCIgfSknLCAnbmF2aWdhdG9yLnNoYXJlJyBpcyB1
bmRlZmluZWQpCitGQUlMIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAuMTo4NDQzL3dlYnNo
YXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWIt
c2hhcmUgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MyIgTVVTVCBOT1QgYmUgYWxsb3dlZCB0byBjYWxs
IHNoYXJlKCkuIFR5cGVFcnJvciBuYXZpZ2F0b3Iuc2hhcmUgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnbmF2aWdhdG9yLnNoYXJlKHsgdGV4dDogInNvbWUgdGV4dCIgfSknLCAnbmF2aWdhdG9yLnNo
YXJlJyBpcyB1bmRlZmluZWQpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93
LWF0dHJpYnV0ZS1jYW5TaGFyZS5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmVlM2Y3
MTNmZjI5NjM2OWQwYjQwNWY4MWRkNjQ4ZjA1YWMwNDA0YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUt
Y2FuU2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBAQAorRkFJTDogVGltZWQg
b3V0IHdhaXRpbmcgZm9yIG5vdGlmeURvbmUgdG8gYmUgY2FsbGVkCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUt
c2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL3dlYnNo
YXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNmVlM2Y3MTNmZjI5NjM2OWQwYjQwNWY4MWRkNjQ4ZjA1YWMwNDA0YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi93ZWJzaGFyZS93ZWJzaGFyZS1h
bGxvdy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBAQAor
RkFJTDogVGltZWQgb3V0IHdhaXRpbmcgZm9yIG5vdGlmeURvbmUgdG8gYmUgY2FsbGVkCisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437259</attachid>
            <date>2021-09-03 04:29:59 -0700</date>
            <delta_ts>2021-09-08 18:35:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214448-20210903212957.patch</filename>
            <type>text/plain</type>
            <size>26443</size>
            <attacher name="Marcos Caceres">marcos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxODg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjRkOTNmN2YwMzYxNDgy
Y2Y2NzY4NTRkNjQ5YzFmYTk3MjYwOWFjMS4uZTFmMmQwMDY0NTFmOTczN2EyNjc2MjRhNjczZDA2
MGMwN2MxZmE1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA5LTAzICBNYXJj
b3MgQ2FjZXJlcyAgPG1hcmNvc0BtYXJjb3NjLmNvbT4KKworICAgICAgICBXZWIgU2hhcmUgcGVy
bWlzc2lvbiBwb2xpY3kgIndlYi1zaGFyZSIgYW5kICJzZWxmIiBhcyB0aGUgYWxsb3dsaXN0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ0NDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEZXZpbiBSb3Vzc28uCisKKyAgICAgICAgVGVzdHM6IGh0dHAv
dGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLmh0
bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0
cmlidXRlLXNoYXJlLmh0dHBzLmh0bWwKKworICAgICAgICAqIGh0bWwvRmVhdHVyZVBvbGljeS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpwb2xpY3lUeXBlTmFtZSk6CisgICAgICAgIChXZWJDb3Jl
OjpGZWF0dXJlUG9saWN5OjpwYXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpGZWF0dXJlUG9saWN5
OjphbGxvd3MgY29uc3QpOgorICAgICAgICAqIGh0bWwvRmVhdHVyZVBvbGljeS5oOgorICAgICAg
ICAqIHBhZ2UvTmF2aWdhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvcjo6Y2Fu
U2hhcmUpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yOjpzaGFyZSk6CisKIDIwMjEtMDkt
MDEgIE1hcmNvcyBDYWNlcmVzICA8bWFyY29zQG1hcmNvc2MuY29tPgogCiAgICAgICAgIEFkZCAi
cGF5bWVudCIgcGVybWlzc2lvbnMgcG9saWN5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0ZlYXR1cmVQb2xpY3kuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5
LmNwcAppbmRleCAwZjQyMTYzZDNlZDBiZDBiNmY3OGY2Y2VkYWM2ZDQ0MDBmODExZWY3Li42ZTU2
Y2MyOTRmYTExYjUzYzcxMDMyZmFjODkxNjE3YjY2M2NlODYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0ZlYXR1cmVQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
RmVhdHVyZVBvbGljeS5jcHAKQEAgLTU2LDYgKzU2LDggQEAgc3RhdGljIGNvbnN0IGNoYXIqIHBv
bGljeVR5cGVOYW1lKEZlYXR1cmVQb2xpY3k6OlR5cGUgdHlwZSkKICAgICAgICAgcmV0dXJuICJT
eW5jWEhSIjsKICAgICBjYXNlIEZlYXR1cmVQb2xpY3k6OlR5cGU6OkZ1bGxzY3JlZW46CiAgICAg
ICAgIHJldHVybiAiRnVsbHNjcmVlbiI7CisgICAgY2FzZSBGZWF0dXJlUG9saWN5OjpUeXBlOjpX
ZWJTaGFyZToKKyAgICAgICAgcmV0dXJuICJXZWJTaGFyZSI7CiAjaWYgRU5BQkxFKERFVklDRV9P
UklFTlRBVElPTikKICAgICBjYXNlIEZlYXR1cmVQb2xpY3k6OlR5cGU6Okd5cm9zY29wZToKICAg
ICAgICAgcmV0dXJuICJHeXJvc2NvcGUiOwpAQCAtMTc1LDYgKzE3Nyw3IEBAIEZlYXR1cmVQb2xp
Y3kgRmVhdHVyZVBvbGljeTo6cGFyc2UoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBIVE1MSUZy
YW1lRWxlbWVudCYKICAgICBib29sIGlzUGF5bWVudEluaXRpYWxpemVkID0gZmFsc2U7CiAgICAg
Ym9vbCBpc1N5bmNYSFJJbml0aWFsaXplZCA9IGZhbHNlOwogICAgIGJvb2wgaXNGdWxsc2NyZWVu
SW5pdGlhbGl6ZWQgPSBmYWxzZTsKKyAgICBib29sIGlzV2ViU2hhcmVJbml0aWFsaXplZCA9IGZh
bHNlOwogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAgICAgYm9vbCBpc0d5cm9zY29w
ZUluaXRpYWxpemVkID0gZmFsc2U7CiAgICAgYm9vbCBpc0FjY2VsZXJvbWV0ZXJJbml0aWFsaXpl
ZCA9IGZhbHNlOwpAQCAtMjI1LDYgKzIyOCwxMSBAQCBGZWF0dXJlUG9saWN5IEZlYXR1cmVQb2xp
Y3k6OnBhcnNlKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgSFRNTElGcmFtZUVsZW1lbnQmCiAg
ICAgICAgICAgICB1cGRhdGVMaXN0KGRvY3VtZW50LCBwb2xpY3kubV9mdWxsc2NyZWVuUnVsZSwg
aXRlbS5zdWJzdHJpbmcoMTEpKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9Cisg
ICAgICAgIGlmIChpdGVtLnN0YXJ0c1dpdGgoIndlYi1zaGFyZSIpKSB7CisgICAgICAgICAgICBp
c1dlYlNoYXJlSW5pdGlhbGl6ZWQgPSB0cnVlOworICAgICAgICAgICAgdXBkYXRlTGlzdChkb2N1
bWVudCwgcG9saWN5Lm1fd2ViU2hhcmVSdWxlLCBpdGVtLnN1YnN0cmluZygxMCkpOworICAgICAg
ICAgICAgY29udGludWU7CisgICAgICAgIH0KICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9O
KQogICAgICAgICBpZiAoaXRlbS5zdGFydHNXaXRoKCJneXJvc2NvcGUiKSkgewogICAgICAgICAg
ICAgaXNHeXJvc2NvcGVJbml0aWFsaXplZCA9IHRydWU7CkBAIC0yNjQsNiArMjcyLDggQEAgRmVh
dHVyZVBvbGljeSBGZWF0dXJlUG9saWN5OjpwYXJzZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0
IEhUTUxJRnJhbWVFbGVtZW50JgogICAgICAgICBwb2xpY3kubV9nZW9sb2NhdGlvblJ1bGUuYWxs
b3dlZExpc3QuYWRkKGRvY3VtZW50LnNlY3VyaXR5T3JpZ2luKCkuZGF0YSgpKTsKICAgICBpZiAo
IWlzUGF5bWVudEluaXRpYWxpemVkKQogICAgICAgICBwb2xpY3kubV9wYXltZW50UnVsZS5hbGxv
d2VkTGlzdC5hZGQoZG9jdW1lbnQuc2VjdXJpdHlPcmlnaW4oKS5kYXRhKCkpOworICAgIGlmICgh
aXNXZWJTaGFyZUluaXRpYWxpemVkKQorICAgICAgICBwb2xpY3kubV93ZWJTaGFyZVJ1bGUuYWxs
b3dlZExpc3QuYWRkKGRvY3VtZW50LnNlY3VyaXR5T3JpZ2luKCkuZGF0YSgpKTsKICNpZiBFTkFC
TEUoREVWSUNFX09SSUVOVEFUSU9OKQogICAgIGlmICghaXNHeXJvc2NvcGVJbml0aWFsaXplZCkK
ICAgICAgICAgcG9saWN5Lm1fZ3lyb3Njb3BlUnVsZS5hbGxvd2VkTGlzdC5hZGQoZG9jdW1lbnQu
c2VjdXJpdHlPcmlnaW4oKS5kYXRhKCkpOwpAQCAtMzE3LDYgKzMyNyw4IEBAIGJvb2wgRmVhdHVy
ZVBvbGljeTo6YWxsb3dzKFR5cGUgdHlwZSwgY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiBvcmln
aW4pIGNvbnN0CiAgICAgICAgIHJldHVybiBpc0FsbG93ZWRCeUZlYXR1cmVQb2xpY3kobV9zeW5j
WEhSUnVsZSwgb3JpZ2luKTsKICAgICBjYXNlIFR5cGU6OkZ1bGxzY3JlZW46CiAgICAgICAgIHJl
dHVybiBpc0FsbG93ZWRCeUZlYXR1cmVQb2xpY3kobV9mdWxsc2NyZWVuUnVsZSwgb3JpZ2luKTsK
KyAgICBjYXNlIFR5cGU6OldlYlNoYXJlOgorICAgICAgICByZXR1cm4gaXNBbGxvd2VkQnlGZWF0
dXJlUG9saWN5KG1fd2ViU2hhcmVSdWxlLCBvcmlnaW4pOwogI2lmIEVOQUJMRShERVZJQ0VfT1JJ
RU5UQVRJT04pCiAgICAgY2FzZSBUeXBlOjpHeXJvc2NvcGU6CiAgICAgICAgIHJldHVybiBpc0Fs
bG93ZWRCeUZlYXR1cmVQb2xpY3kobV9neXJvc2NvcGVSdWxlLCBvcmlnaW4pOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5LmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0ZlYXR1cmVQb2xpY3kuaAppbmRleCA3OWU2NmZiMTY0MWIyNDE2YmIzOTc2Yjc2YTE0OGE4
YTEwZmRhZjc1Li5lNjQwZjhhNWQ3MjNkZTAxZTlhNjRiNTEwNjY2YjkzYTY3OTdhNzkyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZlYXR1cmVQb2xpY3kuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0ZlYXR1cmVQb2xpY3kuaApAQCAtNDcsNiArNDcsNyBAQCBwdWJsaWM6CiAg
ICAgICAgIFBheW1lbnQsCiAgICAgICAgIFN5bmNYSFIsCiAgICAgICAgIEZ1bGxzY3JlZW4sCisg
ICAgICAgIFdlYlNoYXJlLAogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAgICAgICAg
IEd5cm9zY29wZSwKICAgICAgICAgQWNjZWxlcm9tZXRlciwKQEAgLTczLDYgKzc0LDggQEAgcHJp
dmF0ZToKICAgICBBbGxvd1J1bGUgbV9wYXltZW50UnVsZTsKICAgICBBbGxvd1J1bGUgbV9zeW5j
WEhSUnVsZTsKICAgICBBbGxvd1J1bGUgbV9mdWxsc2NyZWVuUnVsZTsKKyAgICBBbGxvd1J1bGUg
bV93ZWJTaGFyZVJ1bGU7CisKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQogICAgIEFs
bG93UnVsZSBtX2d5cm9zY29wZVJ1bGU7CiAgICAgQWxsb3dSdWxlIG1fYWNjZWxlcm9tZXRlclJ1
bGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAKaW5kZXggYzBhMGMxOGQ3NDgwYTE2NGIwYmU5
MDhhZTExN2JkNzQyMjUyOThiMS4uYTQwYWViMGRmZTAwNTdiMGUzMTMwMjM2YzUxOTY3OTU0Njc3
YTlmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2lu
Y2x1ZGUgIkRPTVBsdWdpbi5oIgogI2luY2x1ZGUgIkRPTVBsdWdpbkFycmF5LmgiCiAjaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJGZWF0dXJlUG9saWN5LmgiCiAjaW5jbHVkZSAiRnJh
bWUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xp
ZW50LmgiCkBAIC0xMzAsNiArMTMxLDkgQEAgYm9vbCBOYXZpZ2F0b3I6OmNhblNoYXJlKERvY3Vt
ZW50JiBkb2N1bWVudCwgY29uc3QgU2hhcmVEYXRhJiBkYXRhKQogICAgIGlmICghZnJhbWUgfHwg
IWZyYW1lLT5wYWdlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmICghaXNGZWF0
dXJlUG9saWN5QWxsb3dlZEJ5RG9jdW1lbnRBbmRBbGxPd25lcnMoRmVhdHVyZVBvbGljeTo6VHlw
ZTo6V2ViU2hhcmUsIGRvY3VtZW50LCBMb2dGZWF0dXJlUG9saWN5RmFpbHVyZTo6WWVzKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgYm9vbCBoYXNTaGFyZWFibGVUaXRsZU9yVGV4dCA9
ICFkYXRhLnRpdGxlLmlzTnVsbCgpIHx8ICFkYXRhLnRleHQuaXNOdWxsKCk7CiAgICAgYm9vbCBo
YXNTaGFyZWFibGVVUkwgPSAhIXNoYXJlYWJsZVVSTEZvclNoYXJlRGF0YShkb2N1bWVudCwgZGF0
YSk7CiAjaWYgRU5BQkxFKEZJTEVfU0hBUkUpCkBAIC0xNDMsNiArMTQ3LDExIEBAIGJvb2wgTmF2
aWdhdG9yOjpjYW5TaGFyZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFNoYXJlRGF0YSYgZGF0
YSkKIAogdm9pZCBOYXZpZ2F0b3I6OnNoYXJlKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU2hh
cmVEYXRhJiBkYXRhLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiB7CisgICAgaWYg
KCFpc0ZlYXR1cmVQb2xpY3lBbGxvd2VkQnlEb2N1bWVudEFuZEFsbE93bmVycyhGZWF0dXJlUG9s
aWN5OjpUeXBlOjpXZWJTaGFyZSwgZG9jdW1lbnQsIExvZ0ZlYXR1cmVQb2xpY3lGYWlsdXJlOjpZ
ZXMpKSB7CisgICAgICAgIHByb21pc2UtPnJlamVjdChOb3RBbGxvd2VkRXJyb3IsICJUaGlyZC1w
YXJ0eSBpZnJhbWVzIGFyZSBub3QgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkgdW5sZXNzIGV4cGxp
Y2l0bHkgYWxsb3dlZCB2aWEgRmVhdHVyZS1Qb2xpY3kgKHdlYi1zaGFyZSkiX3MpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKG1faGFzUGVuZGluZ1NoYXJlKSB7CiAgICAgICAg
IHByb21pc2UtPnJlamVjdChOb3RBbGxvd2VkRXJyb3IpOwogICAgICAgICByZXR1cm47CkBAIC0x
NjksNyArMTc4LDcgQEAgdm9pZCBOYXZpZ2F0b3I6OnNoYXJlKERvY3VtZW50JiBkb2N1bWVudCwg
Y29uc3QgU2hhcmVEYXRhJiBkYXRhLCBSZWY8RGVmZXJyZWRQcm8KICAgICBpZiAoZG9jdW1lbnQu
c2V0dGluZ3MoKS53ZWJTaGFyZUZpbGVBUElFbmFibGVkKCkgJiYgIWRhdGEuZmlsZXMuaXNFbXB0
eSgpKSB7CiAgICAgICAgIGlmIChtX2xvYWRlcikKICAgICAgICAgICAgIG1fbG9hZGVyLT5jYW5j
ZWwoKTsKLSAgICAgICAgCisKICAgICAgICAgbV9sb2FkZXIgPSBTaGFyZURhdGFSZWFkZXI6OmNy
ZWF0ZShbdGhpcywgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldIChFeGNlcHRpb25PcjxTaGFy
ZURhdGFXaXRoUGFyc2VkVVJMJj4gcmVhZERhdGEpIG11dGFibGUgewogICAgICAgICAgICAgc2hv
d1NoYXJlRGF0YShyZWFkRGF0YSwgV1RGTW92ZShwcm9taXNlKSk7CiAgICAgICAgIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGNjYzI5MGVlMDAxODhiMzFhNTRlNWNhYjk1ZmQxZjU5MWQzZjhhNDMuLmZjMjE5YTgxZDlj
OGM5MTE5OTc0YTlhNzBlYWRjYjE0YjZmNDQxMDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAy
MS0wOS0wMyAgTWFyY29zIENhY2VyZXMgIDxtYXJjb3NAbWFyY29zYy5jb20+CisKKyAgICAgICAg
V2ViIFNoYXJlIHBlcm1pc3Npb24gcG9saWN5ICJ3ZWItc2hhcmUiIGFuZCAic2VsZiIgYXMgdGhl
IGFsbG93bGlzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjE0NDQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGV2aW4gUm91c3NvLgorCisgICAgICAg
ICogaHR0cC90ZXN0cy93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1h
dHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1jYW5TaGFyZS5odHRw
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFs
bG93LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLXNoYXJlLmh0dHBz
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azEvd2Vic2hhcmUvd2Vic2hh
cmUtYWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vbWFjLXdrMS93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1
dGUtc2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93
aW4vd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vd2luL3dlYnNoYXJlL3dlYnNoYXJl
LWFsbG93LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDIx
LTA5LTAxICBNYXJjb3MgQ2FjZXJlcyAgPG1hcmNvc0BtYXJjb3NjLmNvbT4KIAogICAgICAgICBB
ZGQgInBheW1lbnQiIHBlcm1pc3Npb25zIHBvbGljeQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3Rt
ZXNzYWdlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmUxZTFkNWIwNmU4MGRiNzQ4MGYyNDZmMDk3YjVjZGMz
YTE0ZDFkYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hh
cmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwKQEAgLTAsMCArMSw2NCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzxzdHlsZT4KKyAgaHRt
bCB7CisgICAgaGVpZ2h0OiAxMDAlOworICB9CisgIGJvZHkgeworICAgIGRpc3BsYXk6IGdyaWQ7
CisgIH0KKyAgYnV0dG9uIHsKKyAgICBoZWlnaHQ6IDEwMHZoOworICAgIHdpZHRoOiAxMDAlOwor
ICB9Cis8L3N0eWxlPgorPGJvZHk+CisgIDxidXR0b24gaWQ9InNoYXJlLWJ1dHRvbiI+U0hBUkUh
PC9idXR0b24+CisgIDxzY3JpcHQ+CisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoCisgICAg
ICAibWVzc2FnZSIsCisgICAgICBhc3luYyAoZXZlbnQpID0+IHsKKyAgICAgICAgY29uc3Qgc2hh
cmVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2hhcmUtYnV0dG9uIik7CisgICAg
ICAgIGNvbnN0IHsgYWN0aW9uIH0gPSBldmVudC5kYXRhOworICAgICAgICBsZXQgcmVzdWx0ID0g
bnVsbDsKKyAgICAgICAgbGV0IGV4Y2VwdGlvbk1lc3NhZ2U7CisgICAgICAgIGxldCBleGNlcHRp
b25OYW1lOworICAgICAgICBzd2l0Y2ggKGFjdGlvbikgeworICAgICAgICAgIGNhc2UgImNhbGwg
Y2FuU2hhcmUoKSI6CisgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICByZXN1bHQgPSBu
YXZpZ2F0b3IuY2FuU2hhcmUoeyB0ZXh0OiAic29tZSB0ZXh0IiB9KTsKKyAgICAgICAgICAgIH0g
Y2F0Y2ggKGUpIHsKKyAgICAgICAgICAgICAgZXhjZXB0aW9uTWVzc2FnZSA9IGUubWVzc2FnZTsK
KyAgICAgICAgICAgICAgZXhjZXB0aW9uTmFtZSA9IGUubmFtZTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGNhc2UgImNhbGwgc2hhcmUoKSI6CisgICAgICAg
ICAgICBhd2FpdCB1c2VyQWN0aXZhdGlvbkZyb21QYXJlbnQoc2hhcmVCdXR0b24sIGV2ZW50KTsK
KyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgIGF3YWl0IG5hdmlnYXRvci5zaGFyZSh7
IHRleHQ6ICJzb21lIHRleHQiIH0pOworICAgICAgICAgICAgICByZXN1bHQgPSAic2hhcmUgY29t
cGxldGVkIjsKKyAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgICAgcmVzdWx0
ID0gInRocmV3IjsKKyAgICAgICAgICAgICAgZXhjZXB0aW9uTWVzc2FnZSA9IGUubWVzc2FnZTsK
KyAgICAgICAgICAgICAgZXhjZXB0aW9uTmFtZSA9IGUubmFtZTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoYFVua25vd24gYWN0aW9uOiAke2FjdGlvbn1gKTsKKyAgICAgICAgfQorICAgICAg
ICBldmVudC5zb3VyY2UucG9zdE1lc3NhZ2UoCisgICAgICAgICAgeyBhY3Rpb24sIHJlc3VsdCwg
ZXhjZXB0aW9uTWVzc2FnZSwgZXhjZXB0aW9uTmFtZSB9LAorICAgICAgICAgIGV2ZW50Lm9yaWdp
bgorICAgICAgICApOworICAgICAgfSwKKyAgICAgIHsgb25jZTogdHJ1ZSB9CisgICAgKTsKKwor
ICAgIGZ1bmN0aW9uIHVzZXJBY3RpdmF0aW9uRnJvbVBhcmVudChzaGFyZUJ1dHRvbiwgZXZlbnQp
IHsKKyAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgICBzaGFy
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHJlc29sdmUsIHsgb25jZTogdHJ1ZSB9
KTsKKyAgICAgICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdlKCJjbGljayBtZSEiLCBldmVudC5v
cmlnaW4pOworICAgICAgfSk7CisgICAgfQorICA8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmli
dXRlLWNhblNoYXJlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40MWRmNzNhNDBiNjlkNjM4NmZmYjU4ZmFkMjM2OGU5MDUwMjQ4MWNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJz
aGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTggQEAKK0NPTlNPTEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVj
ayBmYWlsZWQgZm9yIGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0Mycg
YW5kIGFsbG93IGF0dHJpYnV0ZSAnJy4KK0NPTlNPTEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kg
J1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6Ly9s
b2NhbGhvc3Q6ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAnd2ViLXNoYXJlICdub25lJycuCitD
T05TT0xFIE1FU1NBR0U6IEZlYXR1cmUgcG9saWN5ICdXZWJTaGFyZScgY2hlY2sgZmFpbGVkIGZv
ciBpZnJhbWUgd2l0aCBvcmlnaW4gJ2h0dHBzOi8vMTI3LjAuMC4xOjg0NDMnIGFuZCBhbGxvdyBh
dHRyaWJ1dGUgJ3dlYi1zaGFyZSAnbm9uZScnLgorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBv
bGljeSAnV2ViU2hhcmUnIGNoZWNrIGZhaWxlZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRw
czovL2xvY2FsaG9zdDo4NDQzJyBhbmQgYWxsb3cgYXR0cmlidXRlICd3ZWItc2hhcmUgJ3NlbGYn
Jy4KK0NPTlNPTEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVjayBmYWls
ZWQgZm9yIGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0MycgYW5kIGFs
bG93IGF0dHJpYnV0ZSAnd2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMnLgorUEFTUyBp
ZnJhbWUgc3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vi
c2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0iIiBNVVNUIE5PVCBiZSBhbGxvd2Vk
IHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4x
Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGgg
YWxsb3c9IiIgaXMgYWxsb3dlZCB0byBjYWxsIGNhblNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6
ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0
bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUiIGlzIGFsbG93ZWQgdG8gY2FsbCBj
YW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJz
aGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2Vi
LXNoYXJlIiBpcyBhbGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzog
Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3Rt
ZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAqIiBpcyBhbGxvd2VkIHRvIGNhbGwg
Y2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vi
c2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9Indl
Yi1zaGFyZSAqIiBpcyBhbGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNy
YzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBv
c3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAnbm9uZSciIE1VU1QgTk9UIGJl
IGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8x
MjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRt
bCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICdub25lJyIgTVVTVCBOT1QgYmUgYWxsb3dlZCB0byBj
YWxsIGNhblNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQz
L3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93
PSJ3ZWItc2hhcmUgJ3NlbGYnIiBNVVNUIE5PVCBiZSBhbGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUo
KS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vic2hhcmUvcmVz
b3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAn
c2VsZiciIGlzIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1l
c3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMi
IGlzIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6
Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2Uu
aHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMiIE1VU1Qg
Tk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1jYW5TaGFy
ZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1h
bGxvdy1hdHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTU0MzQ3ODVh
MmQyNGI4MzVjYmMzMzU4NGJlOTMyMTcyZGVmYzZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2FuU2hh
cmUuaHR0cHMuaHRtbApAQCAtMCwwICsxLDEwOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KyAgPGhlYWQ+CisgICAgPHRpdGxlPgorICAgICAgVGVzdCBhbGxvdyBhdHRyaWJ1dGUgd2l0aCAi
d2ViLXNoYXJlIiBhbmQgY2FuU2hhcmUoKSBtZXRob2QKKyAgICA8L3RpdGxlPgorICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJpbml0aWFsLXNjYWxlPTUsIHdpZHRoPWRldmljZS13
aWR0aCIgLz4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgdGVzdFJ1bm5lcj8uZHVtcEFzVGV4dCgpOwor
ICAgICAgdGVzdFJ1bm5lcj8ud2FpdFVudGlsRG9uZSgpOworCisgICAgICBmdW5jdGlvbiB3YWl0
Rm9yKHRhcmdldCwgZXZlbnROYW1lKSB7CisgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVz
b2x2ZSkgPT4geworICAgICAgICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwg
cmVzb2x2ZSwgeyBvbmNlOiB0cnVlIH0pOworICAgICAgICB9KTsKKyAgICAgIH0KKworICAgICAg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBhc3luYyAoKSA9PiB7CisgICAgICAgIGZv
ciAoY29uc3QgaWZyYW1lIG9mIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoImlmcmFtZSIpKSB7
CisgICAgICAgICAgY29uc3QgeyBlbmFibGVkLCBzcmMgfSA9IGlmcmFtZS5kYXRhc2V0OworICAg
ICAgICAgIGNvbnN0IGlzQWxsb3dlZCA9IGVuYWJsZWQgPT09ICJ0cnVlIjsKKyAgICAgICAgICBj
b25zdCBhY3Rpb24gPSAiY2FsbCBjYW5TaGFyZSgpIjsKKyAgICAgICAgICBpZnJhbWUuY29udGVu
dFdpbmRvdy5wb3N0TWVzc2FnZSh7IGFjdGlvbiB9LCAiKiIpOworICAgICAgICAgIGNvbnN0IHsg
ZGF0YSB9ID0gYXdhaXQgd2FpdEZvcih3aW5kb3csICJtZXNzYWdlIik7CisgICAgICAgICAgY29u
c3QgeyBleGNlcHRpb25NZXNzYWdlLCBleGNlcHRpb25OYW1lLCByZXN1bHQgfSA9IGRhdGE7CisK
KyAgICAgICAgICBjb25zdCBtc2cgPSBgaWZyYW1lIHNyYzogIiR7aWZyYW1lLnNyY30iIHdpdGgg
YWxsb3c9IiR7CisgICAgICAgICAgICBpZnJhbWUuYWxsb3cKKyAgICAgICAgICB9IiAkeworICAg
ICAgICAgICAgaXNBbGxvd2VkID8gImlzIGFsbG93ZWQgdG8iIDogIk1VU1QgTk9UIGJlIGFsbG93
ZWQgdG8iCisgICAgICAgICAgfSAke2FjdGlvbn0uICR7ZXhjZXB0aW9uTmFtZSA/PyAiIn0gJHtl
eGNlcHRpb25NZXNzYWdlID8/ICIifWA7CisKKyAgICAgICAgICBzd2l0Y2ggKHJlc3VsdCkgewor
ICAgICAgICAgICAgY2FzZSB0cnVlOgorICAgICAgICAgICAgICBpc0FsbG93ZWQgPyB0ZXN0UGFz
c2VkKG1zZykgOiB0ZXN0RmFpbGVkKG1zZyk7CisgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgY2FzZSBmYWxzZToKKyAgICAgICAgICAgICAgIWlzQWxsb3dlZCA/IHRlc3RQYXNzZWQo
bXNnKSA6IHRlc3RGYWlsZWQobXNnKTsKKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAg
ICBkZWZhdWx0OgorICAgICAgICAgICAgICB0ZXN0RmFpbGVkKG1zZyArIGAgLSByZXN1bHQgd2Fz
OiAke3Jlc3VsdH1gKTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7CisgICAgICB9KTsKKyAgICA8L3NjcmlwdD4KKyAgPC9oZWFkPgorICA8
Ym9keT4KKyAgICA8aWZyYW1lCisgICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAgc3Jj
PSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0
bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBkYXRhLWVu
YWJsZWQ9InRydWUiCisgICAgICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdl
Lmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hh
cmUiCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAgICBzcmM9Imh0dHBzOi8vbG9jYWxo
b3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisg
ICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUiCisgICAg
ICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAgICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBv
c3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93
PSJ3ZWItc2hhcmUgKiIKKyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iaHR0
cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3Nh
Z2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1z
aGFyZSAqIgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAgc3JjPSIuL3Jlc291cmNl
cy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1l
CisgICAgICBhbGxvdz0id2ViLXNoYXJlICdub25lJyIKKyAgICAgIGRhdGEtZW5hYmxlZD0iZmFs
c2UiCisgICAgICBzcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2Vz
L3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUK
KyAgICAgIGFsbG93PSJ3ZWItc2hhcmUgJ25vbmUnIgorICAgICAgZGF0YS1lbmFibGVkPSJmYWxz
ZSIKKyAgICAgIHNyYz0iLi9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAg
ICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSAnc2VsZici
CisgICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAgc3JjPSJodHRwczovL2xvY2FsaG9z
dDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAg
ID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlICdzZWxmJyIK
KyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iLi9yZXNvdXJjZXMvd2Vic2hh
cmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAg
YWxsb3c9IndlYi1zaGFyZSBodHRwczovL2xvY2FsaG9zdDo4NDQzIgorICAgICAgZGF0YS1lbmFi
bGVkPSJ0cnVlIgorICAgICAgc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jl
c291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8
aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMiCisg
ICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAgc3JjPSIuL3Jlc291cmNlcy93ZWJzaGFy
ZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxv
dy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjAwMDE1YWQwMGY1ZDA3N2RiNjljNmRmYWNhZGY3MWQ4ZTdmNDQz
MjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dl
YnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxOCBAQAorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUnIGNoZWNr
IGZhaWxlZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovL2xvY2FsaG9zdDo4NDQzJyBh
bmQgYWxsb3cgYXR0cmlidXRlICcnLgorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAn
V2ViU2hhcmUnIGNoZWNrIGZhaWxlZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovL2xv
Y2FsaG9zdDo4NDQzJyBhbmQgYWxsb3cgYXR0cmlidXRlICd3ZWItc2hhcmUgJ25vbmUnJy4KK0NP
TlNPTEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9y
IGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0MycgYW5kIGFsbG93IGF0
dHJpYnV0ZSAnd2ViLXNoYXJlICdub25lJycuCitDT05TT0xFIE1FU1NBR0U6IEZlYXR1cmUgcG9s
aWN5ICdXZWJTaGFyZScgY2hlY2sgZmFpbGVkIGZvciBpZnJhbWUgd2l0aCBvcmlnaW4gJ2h0dHBz
Oi8vbG9jYWxob3N0Ojg0NDMnIGFuZCBhbGxvdyBhdHRyaWJ1dGUgJ3dlYi1zaGFyZSAnc2VsZicn
LgorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUnIGNoZWNrIGZhaWxl
ZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovLzEyNy4wLjAuMTo4NDQzJyBhbmQgYWxs
b3cgYXR0cmlidXRlICd3ZWItc2hhcmUgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MycuCitQQVNTIGlm
cmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJz
aGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSIiIE1VU1QgTk9UIGJlIGFsbG93ZWQg
dG8gY2FsbCBzaGFyZSgpLiBOb3RBbGxvd2VkRXJyb3IgVGhpcmQtcGFydHkgaWZyYW1lcyBhcmUg
bm90IGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpIHVubGVzcyBleHBsaWNpdGx5IGFsbG93ZWQgdmlh
IEZlYXR1cmUtUG9saWN5ICh3ZWItc2hhcmUpCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEy
Ny4wLjAuMTo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1s
IiB3aXRoIGFsbG93PSIiIGlzIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpLgorUEFTUyBpZnJhbWUg
c3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUt
cG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlIiBpcyBhbGxvd2VkIHRvIGNh
bGwgc2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vi
c2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9Indl
Yi1zaGFyZSIgaXMgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJo
dHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVz
c2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgKiIgaXMgYWxsb3dlZCB0byBjYWxsIHNo
YXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAuMTo4NDQzL3dlYnNoYXJl
L3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hh
cmUgKiIgaXMgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRw
czovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2Fn
ZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgJ25vbmUnIiBNVVNUIE5PVCBiZSBhbGxvd2Vk
IHRvIGNhbGwgc2hhcmUoKS4gTm90QWxsb3dlZEVycm9yIFRoaXJkLXBhcnR5IGlmcmFtZXMgYXJl
IG5vdCBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKSB1bmxlc3MgZXhwbGljaXRseSBhbGxvd2VkIHZp
YSBGZWF0dXJlLVBvbGljeSAod2ViLXNoYXJlKQorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8x
MjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRt
bCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICdub25lJyIgTVVTVCBOT1QgYmUgYWxsb3dlZCB0byBj
YWxsIHNoYXJlKCkuIE5vdEFsbG93ZWRFcnJvciBUaGlyZC1wYXJ0eSBpZnJhbWVzIGFyZSBub3Qg
YWxsb3dlZCB0byBjYWxsIHNoYXJlKCkgdW5sZXNzIGV4cGxpY2l0bHkgYWxsb3dlZCB2aWEgRmVh
dHVyZS1Qb2xpY3kgKHdlYi1zaGFyZSkKK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxo
b3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdp
dGggYWxsb3c9IndlYi1zaGFyZSAnc2VsZiciIE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBz
aGFyZSgpLiBOb3RBbGxvd2VkRXJyb3IgVGhpcmQtcGFydHkgaWZyYW1lcyBhcmUgbm90IGFsbG93
ZWQgdG8gY2FsbCBzaGFyZSgpIHVubGVzcyBleHBsaWNpdGx5IGFsbG93ZWQgdmlhIEZlYXR1cmUt
UG9saWN5ICh3ZWItc2hhcmUpCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAuMTo4
NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFs
bG93PSJ3ZWItc2hhcmUgJ3NlbGYnIiBpcyBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4KK1BBU1Mg
aWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dl
YnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSBodHRwczovL2xv
Y2FsaG9zdDo4NDQzIiBpcyBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNy
YzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBv
c3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSBodHRwczovL2xvY2FsaG9zdDo4
NDQzIiBNVVNUIE5PVCBiZSBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4gTm90QWxsb3dlZEVycm9y
IFRoaXJkLXBhcnR5IGlmcmFtZXMgYXJlIG5vdCBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKSB1bmxl
c3MgZXhwbGljaXRseSBhbGxvd2VkIHZpYSBGZWF0dXJlLVBvbGljeSAod2ViLXNoYXJlKQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93
LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
aGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lNWI3YzEyNTNjYjRlNWJmNjlkZDQwYjY3MDg1NmNkYjE1ZTA0YmE4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRy
aWJ1dGUtc2hhcmUuaHR0cHMuaHRtbApAQCAtMCwwICsxLDEyMiBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHRpdGxlPgorICAgICAgVGVzdCBhbGxvdyBhdHRyaWJ1
dGUgd2l0aCAid2ViLXNoYXJlIiBhbmQgc2hhcmUoKSBtZXRob2QKKyAgICA8L3RpdGxlPgorICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJpbml0aWFsLXNjYWxlPTUsIHdpZHRoPWRl
dmljZS13aWR0aCIgLz4KKyAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgIHRlc3RSdW5uZXI/LmR1bXBB
c1RleHQoKTsKKyAgICAgIHRlc3RSdW5uZXI/LndhaXRVbnRpbERvbmUoKTsKKworICAgICAgZnVu
Y3Rpb24gd2FpdEZvcih0YXJnZXQsIGV2ZW50TmFtZSkgeworICAgICAgICByZXR1cm4gbmV3IFBy
b21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgICAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihl
dmVudE5hbWUsIHJlc29sdmUsIHsgb25jZTogdHJ1ZSB9KTsKKyAgICAgICAgfSk7CisgICAgICB9
CisKKyAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICBmb3IgKGNvbnN0IGlmcmFtZSBvZiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJp
ZnJhbWUiKSkgeworICAgICAgICAgIGNvbnN0IHsgZW5hYmxlZCwgc3JjIH0gPSBpZnJhbWUuZGF0
YXNldDsKKyAgICAgICAgICBjb25zdCBpc0FsbG93ZWQgPSBlbmFibGVkID09PSAidHJ1ZSI7Cisg
ICAgICAgICAgY29uc3QgYWN0aW9uID0gImNhbGwgc2hhcmUoKSI7CisgICAgICAgICAgaWZyYW1l
LmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoeyBhY3Rpb24gfSwgIioiKTsKKyAgICAgICAgICBj
b25zdCB7IGRhdGE6IGNsaWNrTWVzc2FnZSB9ID0gYXdhaXQgd2FpdEZvcih3aW5kb3csICJtZXNz
YWdlIik7CisgICAgICAgICAgaWYgKGNsaWNrTWVzc2FnZSAhPT0gImNsaWNrIG1lISIpIHsKKyAg
ICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgYSBjbGljayByZXF1ZXN0OiIgKyBj
bGlja01lc3NhZ2UpOworICAgICAgICAgIH0KKyAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoaWZyYW1lKTsKKyAgICAgICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IHdh
aXRGb3Iod2luZG93LCAibWVzc2FnZSIpOworICAgICAgICAgIGNvbnN0IHsgZXhjZXB0aW9uTWVz
c2FnZSwgZXhjZXB0aW9uTmFtZSwgcmVzdWx0IH0gPSBkYXRhOworICAgICAgICAgIGNvbnN0IG1z
ZyA9IGBpZnJhbWUgc3JjOiAiJHtpZnJhbWUuc3JjfSIgd2l0aCBhbGxvdz0iJHsKKyAgICAgICAg
ICAgIGlmcmFtZS5hbGxvdworICAgICAgICAgIH0iICR7CisgICAgICAgICAgICBpc0FsbG93ZWQg
PyAiaXMgYWxsb3dlZCB0byIgOiAiTVVTVCBOT1QgYmUgYWxsb3dlZCB0byIKKyAgICAgICAgICB9
ICR7YWN0aW9ufS4gJHtleGNlcHRpb25OYW1lID8/ICIifSAke2V4Y2VwdGlvbk1lc3NhZ2UgPz8g
IiJ9YDsKKyAgICAgICAgICBzd2l0Y2ggKHJlc3VsdCkgeworICAgICAgICAgICAgY2FzZSAic2hh
cmUgY29tcGxldGVkIjoKKyAgICAgICAgICAgICAgaXNBbGxvd2VkID8gdGVzdFBhc3NlZChtc2cp
IDogdGVzdEZhaWxlZChtc2cpOworICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNh
c2UgInRocmV3IjoKKyAgICAgICAgICAgICAgaWYgKAorICAgICAgICAgICAgICAgICFpc0FsbG93
ZWQgJiYKKyAgICAgICAgICAgICAgICBleGNlcHRpb25OYW1lID09PSAiTm90QWxsb3dlZEVycm9y
IiAmJgorICAgICAgICAgICAgICAgIGV4Y2VwdGlvbk1lc3NhZ2UuZW5kc1dpdGgoIkZlYXR1cmUt
UG9saWN5ICh3ZWItc2hhcmUpIikKKyAgICAgICAgICAgICAgKSB7CisgICAgICAgICAgICAgICAg
dGVzdFBhc3NlZChtc2cpOworICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQobXNnKTsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgIHRlc3RGYWlsZWQobXNnICsgYCAt
IHJlc3VsdCB3YXM6ICR7cmVzdWx0fWApOworICAgICAgICAgIH0KKyAgICAgICAgICBpZnJhbWUu
cmVtb3ZlKCk7CisgICAgICAgIH0KKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cisg
ICAgICB9KTsKKyAgICA8L3NjcmlwdD4KKyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8aWZyYW1l
CisgICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAgc3JjPSJodHRwczovL2xvY2FsaG9z
dDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAg
ID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAg
ICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZy
YW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUiCisgICAgICBkYXRhLWVu
YWJsZWQ9InRydWUiCisgICAgICBzcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUv
cmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAg
IDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUiCisgICAgICBkYXRhLWVuYWJsZWQ9InRy
dWUiCisgICAgICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisg
ICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUgKiIKKyAg
ICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0
My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9p
ZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSAqIgorICAgICAgZGF0
YS1lbmFibGVkPSJ0cnVlIgorICAgICAgc3JjPSIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVz
c2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0id2Vi
LXNoYXJlICdub25lJyIKKyAgICAgIGRhdGEtZW5hYmxlZD0iZmFsc2UiCisgICAgICBzcmM9Imh0
dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNz
YWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWIt
c2hhcmUgJ25vbmUnIgorICAgICAgZGF0YS1lbmFibGVkPSJmYWxzZSIKKyAgICAgIHNyYz0iLi9y
ZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAg
PGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSAnc2VsZiciCisgICAgICBkYXRhLWVuYWJs
ZWQ9ImZhbHNlIgorICAgICAgc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jl
c291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8
aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlICdzZWxmJyIKKyAgICAgIGRhdGEtZW5hYmxl
ZD0idHJ1ZSIKKyAgICAgIHNyYz0iLi9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRt
bCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSBo
dHRwczovL2xvY2FsaG9zdDo4NDQzIgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAg
c3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1w
b3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxv
dz0id2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMiCisgICAgICBkYXRhLWVuYWJsZWQ9
ImZhbHNlIgorICAgICAgc3JjPSIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1s
IgorICAgID48L2lmcmFtZT4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDkwMWVkYzRmZjlmNzhkNWYwY2Nj
NzA3ZTJjMDY0MWRjYzZkNjVhZDguLjAzMTE5NmM1ZDllNjk3ZTY1NTVjMDhjY2M1ODg4NzFlY2Rh
ZWY0MTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTE0MTEsNCArMTQxMSw4IEBAIHdlYmtpdC5vcmcvYi8yMjkyNDcgaHR0cC90ZXN0cy9m
ZXRjaC9rZWVwYWxpdmUtZmV0Y2gtMi5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAogd2Via2l0Lm9y
Zy9iLzIwOTg3OCBbIERlYnVnIF0gd2VicnRjL2RhdGFjaGFubmVsL211bHRpcGxlLWNvbm5lY3Rp
b25zLmh0bWwgWyBQYXNzIEZhaWx1cmUgU2xvdyBdCiAKLXdlYmtpdC5vcmcvYi8yMjgyMTEgY3Nz
Mi4xLzIwMTEwMzIzL3JlcGxhY2VkLWludHJpbnNpYy0wMDMuaHRtIFsgUGFzcyBGYWlsdXJlIF0K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit3ZWJraXQub3JnL2IvMjI4MjExIGNzczIuMS8y
MDExMDMyMy9yZXBsYWNlZC1pbnRyaW5zaWMtMDAzLmh0bSBbIFBhc3MgRmFpbHVyZSBdCisKKyMg
d2Via2l0Lm9yZy9iLzIxNDQ0OCBXZWIgU2hhcmUgQVBJIGlzIG5vdCBpbXBsZW1lbnRlZCBmb3Ig
bWFjLXdrMQoraHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2Fu
U2hhcmUuaHR0cHMuaHRtbCBbIFNraXAgXQoraHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1h
bGxvdy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMuaHRtbCBbIFNraXAgXQpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggYmVhYjAzYzM3NTdlOGZiYTY1Yjc5M2YxOWYwMTVjMDEwOGNiOGNiMi4uZDBiMjRjMzI2NmNk
OTU4ZDA3MzFmMjgzMDBlNGQ4OTBhY2JlOGRhNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ2ODYsNCArNDY4Niw4IEBAIHdlYmtpdC5vcmcvYi8yMjkz
NzkgZmFzdC92aXN1YWwtdmlld3BvcnQvcmVzaXplLWV2ZW50LWZpcmVkLXdpbmRvdy1yZXNpemVk
Lmh0bWwKIAogd2Via2l0Lm9yZy9iLzIxNTMxOCBmYXN0L3RleHQvendqLWxpZ2F0dXJlLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KIAotd2Via2l0Lm9yZy9iLzIyOTU5NCBqcy9kZmctaW50MTZh
cnJheS5odG1sIFsgUGFzcyBDcmFzaCBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQord2Vi
a2l0Lm9yZy9iLzIyOTU5NCBqcy9kZmctaW50MTZhcnJheS5odG1sIFsgUGFzcyBDcmFzaCBdCisK
KyMgd2Via2l0Lm9yZy9iLzIxNDQ0OCBXZWIgU2hhcmUgQVBJIGlzIG5vdCBpbXBsZW1lbnRlZCBp
biB0aGUgV2luZG93cyBwb3J0CitodHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0
dHJpYnV0ZS1jYW5TaGFyZS5odHRwcy5odG1sIFsgU2tpcCBdCitodHRwL3Rlc3RzL3dlYnNoYXJl
L3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy5odG1sIFsgU2tpcCBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437694</attachid>
            <date>2021-09-08 18:35:23 -0700</date>
            <delta_ts>2021-09-08 20:35:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214448-20210909113521.patch</filename>
            <type>text/plain</type>
            <size>26929</size>
            <attacher name="Marcos Caceres">marcos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxODg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjRkOTNmN2YwMzYxNDgy
Y2Y2NzY4NTRkNjQ5YzFmYTk3MjYwOWFjMS4uZTFmMmQwMDY0NTFmOTczN2EyNjc2MjRhNjczZDA2
MGMwN2MxZmE1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA5LTAzICBNYXJj
b3MgQ2FjZXJlcyAgPG1hcmNvc0BtYXJjb3NjLmNvbT4KKworICAgICAgICBXZWIgU2hhcmUgcGVy
bWlzc2lvbiBwb2xpY3kgIndlYi1zaGFyZSIgYW5kICJzZWxmIiBhcyB0aGUgYWxsb3dsaXN0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ0NDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEZXZpbiBSb3Vzc28uCisKKyAgICAgICAgVGVzdHM6IGh0dHAv
dGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLmh0
bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0
cmlidXRlLXNoYXJlLmh0dHBzLmh0bWwKKworICAgICAgICAqIGh0bWwvRmVhdHVyZVBvbGljeS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpwb2xpY3lUeXBlTmFtZSk6CisgICAgICAgIChXZWJDb3Jl
OjpGZWF0dXJlUG9saWN5OjpwYXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpGZWF0dXJlUG9saWN5
OjphbGxvd3MgY29uc3QpOgorICAgICAgICAqIGh0bWwvRmVhdHVyZVBvbGljeS5oOgorICAgICAg
ICAqIHBhZ2UvTmF2aWdhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvcjo6Y2Fu
U2hhcmUpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yOjpzaGFyZSk6CisKIDIwMjEtMDkt
MDEgIE1hcmNvcyBDYWNlcmVzICA8bWFyY29zQG1hcmNvc2MuY29tPgogCiAgICAgICAgIEFkZCAi
cGF5bWVudCIgcGVybWlzc2lvbnMgcG9saWN5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0ZlYXR1cmVQb2xpY3kuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5
LmNwcAppbmRleCAwZjQyMTYzZDNlZDBiZDBiNmY3OGY2Y2VkYWM2ZDQ0MDBmODExZWY3Li42ZTU2
Y2MyOTRmYTExYjUzYzcxMDMyZmFjODkxNjE3YjY2M2NlODYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0ZlYXR1cmVQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
RmVhdHVyZVBvbGljeS5jcHAKQEAgLTU2LDYgKzU2LDggQEAgc3RhdGljIGNvbnN0IGNoYXIqIHBv
bGljeVR5cGVOYW1lKEZlYXR1cmVQb2xpY3k6OlR5cGUgdHlwZSkKICAgICAgICAgcmV0dXJuICJT
eW5jWEhSIjsKICAgICBjYXNlIEZlYXR1cmVQb2xpY3k6OlR5cGU6OkZ1bGxzY3JlZW46CiAgICAg
ICAgIHJldHVybiAiRnVsbHNjcmVlbiI7CisgICAgY2FzZSBGZWF0dXJlUG9saWN5OjpUeXBlOjpX
ZWJTaGFyZToKKyAgICAgICAgcmV0dXJuICJXZWJTaGFyZSI7CiAjaWYgRU5BQkxFKERFVklDRV9P
UklFTlRBVElPTikKICAgICBjYXNlIEZlYXR1cmVQb2xpY3k6OlR5cGU6Okd5cm9zY29wZToKICAg
ICAgICAgcmV0dXJuICJHeXJvc2NvcGUiOwpAQCAtMTc1LDYgKzE3Nyw3IEBAIEZlYXR1cmVQb2xp
Y3kgRmVhdHVyZVBvbGljeTo6cGFyc2UoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBIVE1MSUZy
YW1lRWxlbWVudCYKICAgICBib29sIGlzUGF5bWVudEluaXRpYWxpemVkID0gZmFsc2U7CiAgICAg
Ym9vbCBpc1N5bmNYSFJJbml0aWFsaXplZCA9IGZhbHNlOwogICAgIGJvb2wgaXNGdWxsc2NyZWVu
SW5pdGlhbGl6ZWQgPSBmYWxzZTsKKyAgICBib29sIGlzV2ViU2hhcmVJbml0aWFsaXplZCA9IGZh
bHNlOwogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAgICAgYm9vbCBpc0d5cm9zY29w
ZUluaXRpYWxpemVkID0gZmFsc2U7CiAgICAgYm9vbCBpc0FjY2VsZXJvbWV0ZXJJbml0aWFsaXpl
ZCA9IGZhbHNlOwpAQCAtMjI1LDYgKzIyOCwxMSBAQCBGZWF0dXJlUG9saWN5IEZlYXR1cmVQb2xp
Y3k6OnBhcnNlKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgSFRNTElGcmFtZUVsZW1lbnQmCiAg
ICAgICAgICAgICB1cGRhdGVMaXN0KGRvY3VtZW50LCBwb2xpY3kubV9mdWxsc2NyZWVuUnVsZSwg
aXRlbS5zdWJzdHJpbmcoMTEpKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9Cisg
ICAgICAgIGlmIChpdGVtLnN0YXJ0c1dpdGgoIndlYi1zaGFyZSIpKSB7CisgICAgICAgICAgICBp
c1dlYlNoYXJlSW5pdGlhbGl6ZWQgPSB0cnVlOworICAgICAgICAgICAgdXBkYXRlTGlzdChkb2N1
bWVudCwgcG9saWN5Lm1fd2ViU2hhcmVSdWxlLCBpdGVtLnN1YnN0cmluZygxMCkpOworICAgICAg
ICAgICAgY29udGludWU7CisgICAgICAgIH0KICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9O
KQogICAgICAgICBpZiAoaXRlbS5zdGFydHNXaXRoKCJneXJvc2NvcGUiKSkgewogICAgICAgICAg
ICAgaXNHeXJvc2NvcGVJbml0aWFsaXplZCA9IHRydWU7CkBAIC0yNjQsNiArMjcyLDggQEAgRmVh
dHVyZVBvbGljeSBGZWF0dXJlUG9saWN5OjpwYXJzZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0
IEhUTUxJRnJhbWVFbGVtZW50JgogICAgICAgICBwb2xpY3kubV9nZW9sb2NhdGlvblJ1bGUuYWxs
b3dlZExpc3QuYWRkKGRvY3VtZW50LnNlY3VyaXR5T3JpZ2luKCkuZGF0YSgpKTsKICAgICBpZiAo
IWlzUGF5bWVudEluaXRpYWxpemVkKQogICAgICAgICBwb2xpY3kubV9wYXltZW50UnVsZS5hbGxv
d2VkTGlzdC5hZGQoZG9jdW1lbnQuc2VjdXJpdHlPcmlnaW4oKS5kYXRhKCkpOworICAgIGlmICgh
aXNXZWJTaGFyZUluaXRpYWxpemVkKQorICAgICAgICBwb2xpY3kubV93ZWJTaGFyZVJ1bGUuYWxs
b3dlZExpc3QuYWRkKGRvY3VtZW50LnNlY3VyaXR5T3JpZ2luKCkuZGF0YSgpKTsKICNpZiBFTkFC
TEUoREVWSUNFX09SSUVOVEFUSU9OKQogICAgIGlmICghaXNHeXJvc2NvcGVJbml0aWFsaXplZCkK
ICAgICAgICAgcG9saWN5Lm1fZ3lyb3Njb3BlUnVsZS5hbGxvd2VkTGlzdC5hZGQoZG9jdW1lbnQu
c2VjdXJpdHlPcmlnaW4oKS5kYXRhKCkpOwpAQCAtMzE3LDYgKzMyNyw4IEBAIGJvb2wgRmVhdHVy
ZVBvbGljeTo6YWxsb3dzKFR5cGUgdHlwZSwgY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiBvcmln
aW4pIGNvbnN0CiAgICAgICAgIHJldHVybiBpc0FsbG93ZWRCeUZlYXR1cmVQb2xpY3kobV9zeW5j
WEhSUnVsZSwgb3JpZ2luKTsKICAgICBjYXNlIFR5cGU6OkZ1bGxzY3JlZW46CiAgICAgICAgIHJl
dHVybiBpc0FsbG93ZWRCeUZlYXR1cmVQb2xpY3kobV9mdWxsc2NyZWVuUnVsZSwgb3JpZ2luKTsK
KyAgICBjYXNlIFR5cGU6OldlYlNoYXJlOgorICAgICAgICByZXR1cm4gaXNBbGxvd2VkQnlGZWF0
dXJlUG9saWN5KG1fd2ViU2hhcmVSdWxlLCBvcmlnaW4pOwogI2lmIEVOQUJMRShERVZJQ0VfT1JJ
RU5UQVRJT04pCiAgICAgY2FzZSBUeXBlOjpHeXJvc2NvcGU6CiAgICAgICAgIHJldHVybiBpc0Fs
bG93ZWRCeUZlYXR1cmVQb2xpY3kobV9neXJvc2NvcGVSdWxlLCBvcmlnaW4pOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5LmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0ZlYXR1cmVQb2xpY3kuaAppbmRleCA3OWU2NmZiMTY0MWIyNDE2YmIzOTc2Yjc2YTE0OGE4
YTEwZmRhZjc1Li5lNjQwZjhhNWQ3MjNkZTAxZTlhNjRiNTEwNjY2YjkzYTY3OTdhNzkyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZlYXR1cmVQb2xpY3kuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0ZlYXR1cmVQb2xpY3kuaApAQCAtNDcsNiArNDcsNyBAQCBwdWJsaWM6CiAg
ICAgICAgIFBheW1lbnQsCiAgICAgICAgIFN5bmNYSFIsCiAgICAgICAgIEZ1bGxzY3JlZW4sCisg
ICAgICAgIFdlYlNoYXJlLAogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAgICAgICAg
IEd5cm9zY29wZSwKICAgICAgICAgQWNjZWxlcm9tZXRlciwKQEAgLTczLDYgKzc0LDggQEAgcHJp
dmF0ZToKICAgICBBbGxvd1J1bGUgbV9wYXltZW50UnVsZTsKICAgICBBbGxvd1J1bGUgbV9zeW5j
WEhSUnVsZTsKICAgICBBbGxvd1J1bGUgbV9mdWxsc2NyZWVuUnVsZTsKKyAgICBBbGxvd1J1bGUg
bV93ZWJTaGFyZVJ1bGU7CisKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQogICAgIEFs
bG93UnVsZSBtX2d5cm9zY29wZVJ1bGU7CiAgICAgQWxsb3dSdWxlIG1fYWNjZWxlcm9tZXRlclJ1
bGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAKaW5kZXggYzBhMGMxOGQ3NDgwYTE2NGIwYmU5
MDhhZTExN2JkNzQyMjUyOThiMS4uYTQwYWViMGRmZTAwNTdiMGUzMTMwMjM2YzUxOTY3OTU0Njc3
YTlmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2lu
Y2x1ZGUgIkRPTVBsdWdpbi5oIgogI2luY2x1ZGUgIkRPTVBsdWdpbkFycmF5LmgiCiAjaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJGZWF0dXJlUG9saWN5LmgiCiAjaW5jbHVkZSAiRnJh
bWUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xp
ZW50LmgiCkBAIC0xMzAsNiArMTMxLDkgQEAgYm9vbCBOYXZpZ2F0b3I6OmNhblNoYXJlKERvY3Vt
ZW50JiBkb2N1bWVudCwgY29uc3QgU2hhcmVEYXRhJiBkYXRhKQogICAgIGlmICghZnJhbWUgfHwg
IWZyYW1lLT5wYWdlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmICghaXNGZWF0
dXJlUG9saWN5QWxsb3dlZEJ5RG9jdW1lbnRBbmRBbGxPd25lcnMoRmVhdHVyZVBvbGljeTo6VHlw
ZTo6V2ViU2hhcmUsIGRvY3VtZW50LCBMb2dGZWF0dXJlUG9saWN5RmFpbHVyZTo6WWVzKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgYm9vbCBoYXNTaGFyZWFibGVUaXRsZU9yVGV4dCA9
ICFkYXRhLnRpdGxlLmlzTnVsbCgpIHx8ICFkYXRhLnRleHQuaXNOdWxsKCk7CiAgICAgYm9vbCBo
YXNTaGFyZWFibGVVUkwgPSAhIXNoYXJlYWJsZVVSTEZvclNoYXJlRGF0YShkb2N1bWVudCwgZGF0
YSk7CiAjaWYgRU5BQkxFKEZJTEVfU0hBUkUpCkBAIC0xNDMsNiArMTQ3LDExIEBAIGJvb2wgTmF2
aWdhdG9yOjpjYW5TaGFyZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFNoYXJlRGF0YSYgZGF0
YSkKIAogdm9pZCBOYXZpZ2F0b3I6OnNoYXJlKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU2hh
cmVEYXRhJiBkYXRhLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiB7CisgICAgaWYg
KCFpc0ZlYXR1cmVQb2xpY3lBbGxvd2VkQnlEb2N1bWVudEFuZEFsbE93bmVycyhGZWF0dXJlUG9s
aWN5OjpUeXBlOjpXZWJTaGFyZSwgZG9jdW1lbnQsIExvZ0ZlYXR1cmVQb2xpY3lGYWlsdXJlOjpZ
ZXMpKSB7CisgICAgICAgIHByb21pc2UtPnJlamVjdChOb3RBbGxvd2VkRXJyb3IsICJUaGlyZC1w
YXJ0eSBpZnJhbWVzIGFyZSBub3QgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkgdW5sZXNzIGV4cGxp
Y2l0bHkgYWxsb3dlZCB2aWEgRmVhdHVyZS1Qb2xpY3kgKHdlYi1zaGFyZSkiX3MpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKG1faGFzUGVuZGluZ1NoYXJlKSB7CiAgICAgICAg
IHByb21pc2UtPnJlamVjdChOb3RBbGxvd2VkRXJyb3IpOwogICAgICAgICByZXR1cm47CkBAIC0x
NjksNyArMTc4LDcgQEAgdm9pZCBOYXZpZ2F0b3I6OnNoYXJlKERvY3VtZW50JiBkb2N1bWVudCwg
Y29uc3QgU2hhcmVEYXRhJiBkYXRhLCBSZWY8RGVmZXJyZWRQcm8KICAgICBpZiAoZG9jdW1lbnQu
c2V0dGluZ3MoKS53ZWJTaGFyZUZpbGVBUElFbmFibGVkKCkgJiYgIWRhdGEuZmlsZXMuaXNFbXB0
eSgpKSB7CiAgICAgICAgIGlmIChtX2xvYWRlcikKICAgICAgICAgICAgIG1fbG9hZGVyLT5jYW5j
ZWwoKTsKLSAgICAgICAgCisKICAgICAgICAgbV9sb2FkZXIgPSBTaGFyZURhdGFSZWFkZXI6OmNy
ZWF0ZShbdGhpcywgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldIChFeGNlcHRpb25PcjxTaGFy
ZURhdGFXaXRoUGFyc2VkVVJMJj4gcmVhZERhdGEpIG11dGFibGUgewogICAgICAgICAgICAgc2hv
d1NoYXJlRGF0YShyZWFkRGF0YSwgV1RGTW92ZShwcm9taXNlKSk7CiAgICAgICAgIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGNjYzI5MGVlMDAxODhiMzFhNTRlNWNhYjk1ZmQxZjU5MWQzZjhhNDMuLmZjMjE5YTgxZDlj
OGM5MTE5OTc0YTlhNzBlYWRjYjE0YjZmNDQxMDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAy
MS0wOS0wMyAgTWFyY29zIENhY2VyZXMgIDxtYXJjb3NAbWFyY29zYy5jb20+CisKKyAgICAgICAg
V2ViIFNoYXJlIHBlcm1pc3Npb24gcG9saWN5ICJ3ZWItc2hhcmUiIGFuZCAic2VsZiIgYXMgdGhl
IGFsbG93bGlzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjE0NDQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGV2aW4gUm91c3NvLgorCisgICAgICAg
ICogaHR0cC90ZXN0cy93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1h
dHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1jYW5TaGFyZS5odHRw
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFs
bG93LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLXNoYXJlLmh0dHBz
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azEvd2Vic2hhcmUvd2Vic2hh
cmUtYWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vbWFjLXdrMS93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1
dGUtc2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93
aW4vd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vd2luL3dlYnNoYXJlL3dlYnNoYXJl
LWFsbG93LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDIx
LTA5LTAxICBNYXJjb3MgQ2FjZXJlcyAgPG1hcmNvc0BtYXJjb3NjLmNvbT4KIAogICAgICAgICBB
ZGQgInBheW1lbnQiIHBlcm1pc3Npb25zIHBvbGljeQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3Rt
ZXNzYWdlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmUxZTFkNWIwNmU4MGRiNzQ4MGYyNDZmMDk3YjVjZGMz
YTE0ZDFkYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hh
cmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwKQEAgLTAsMCArMSw2NCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzxzdHlsZT4KKyAgaHRt
bCB7CisgICAgaGVpZ2h0OiAxMDAlOworICB9CisgIGJvZHkgeworICAgIGRpc3BsYXk6IGdyaWQ7
CisgIH0KKyAgYnV0dG9uIHsKKyAgICBoZWlnaHQ6IDEwMHZoOworICAgIHdpZHRoOiAxMDAlOwor
ICB9Cis8L3N0eWxlPgorPGJvZHk+CisgIDxidXR0b24gaWQ9InNoYXJlLWJ1dHRvbiI+U0hBUkUh
PC9idXR0b24+CisgIDxzY3JpcHQ+CisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoCisgICAg
ICAibWVzc2FnZSIsCisgICAgICBhc3luYyAoZXZlbnQpID0+IHsKKyAgICAgICAgY29uc3Qgc2hh
cmVCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2hhcmUtYnV0dG9uIik7CisgICAg
ICAgIGNvbnN0IHsgYWN0aW9uIH0gPSBldmVudC5kYXRhOworICAgICAgICBsZXQgcmVzdWx0ID0g
bnVsbDsKKyAgICAgICAgbGV0IGV4Y2VwdGlvbk1lc3NhZ2U7CisgICAgICAgIGxldCBleGNlcHRp
b25OYW1lOworICAgICAgICBzd2l0Y2ggKGFjdGlvbikgeworICAgICAgICAgIGNhc2UgImNhbGwg
Y2FuU2hhcmUoKSI6CisgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICByZXN1bHQgPSBu
YXZpZ2F0b3IuY2FuU2hhcmUoeyB0ZXh0OiAic29tZSB0ZXh0IiB9KTsKKyAgICAgICAgICAgIH0g
Y2F0Y2ggKGUpIHsKKyAgICAgICAgICAgICAgZXhjZXB0aW9uTWVzc2FnZSA9IGUubWVzc2FnZTsK
KyAgICAgICAgICAgICAgZXhjZXB0aW9uTmFtZSA9IGUubmFtZTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGNhc2UgImNhbGwgc2hhcmUoKSI6CisgICAgICAg
ICAgICBhd2FpdCB1c2VyQWN0aXZhdGlvbkZyb21QYXJlbnQoc2hhcmVCdXR0b24sIGV2ZW50KTsK
KyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgIGF3YWl0IG5hdmlnYXRvci5zaGFyZSh7
IHRleHQ6ICJzb21lIHRleHQiIH0pOworICAgICAgICAgICAgICByZXN1bHQgPSAic2hhcmUgY29t
cGxldGVkIjsKKyAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgICAgcmVzdWx0
ID0gInRocmV3IjsKKyAgICAgICAgICAgICAgZXhjZXB0aW9uTWVzc2FnZSA9IGUubWVzc2FnZTsK
KyAgICAgICAgICAgICAgZXhjZXB0aW9uTmFtZSA9IGUubmFtZTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoYFVua25vd24gYWN0aW9uOiAke2FjdGlvbn1gKTsKKyAgICAgICAgfQorICAgICAg
ICBldmVudC5zb3VyY2UucG9zdE1lc3NhZ2UoCisgICAgICAgICAgeyBhY3Rpb24sIHJlc3VsdCwg
ZXhjZXB0aW9uTWVzc2FnZSwgZXhjZXB0aW9uTmFtZSB9LAorICAgICAgICAgIGV2ZW50Lm9yaWdp
bgorICAgICAgICApOworICAgICAgfSwKKyAgICAgIHsgb25jZTogdHJ1ZSB9CisgICAgKTsKKwor
ICAgIGZ1bmN0aW9uIHVzZXJBY3RpdmF0aW9uRnJvbVBhcmVudChzaGFyZUJ1dHRvbiwgZXZlbnQp
IHsKKyAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgICBzaGFy
ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHJlc29sdmUsIHsgb25jZTogdHJ1ZSB9
KTsKKyAgICAgICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdlKCJjbGljayBtZSEiLCBldmVudC5v
cmlnaW4pOworICAgICAgfSk7CisgICAgfQorICA8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmli
dXRlLWNhblNoYXJlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40MWRmNzNhNDBiNjlkNjM4NmZmYjU4ZmFkMjM2OGU5MDUwMjQ4MWNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJz
aGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTggQEAKK0NPTlNPTEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVj
ayBmYWlsZWQgZm9yIGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0Mycg
YW5kIGFsbG93IGF0dHJpYnV0ZSAnJy4KK0NPTlNPTEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kg
J1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6Ly9s
b2NhbGhvc3Q6ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAnd2ViLXNoYXJlICdub25lJycuCitD
T05TT0xFIE1FU1NBR0U6IEZlYXR1cmUgcG9saWN5ICdXZWJTaGFyZScgY2hlY2sgZmFpbGVkIGZv
ciBpZnJhbWUgd2l0aCBvcmlnaW4gJ2h0dHBzOi8vMTI3LjAuMC4xOjg0NDMnIGFuZCBhbGxvdyBh
dHRyaWJ1dGUgJ3dlYi1zaGFyZSAnbm9uZScnLgorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBv
bGljeSAnV2ViU2hhcmUnIGNoZWNrIGZhaWxlZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRw
czovL2xvY2FsaG9zdDo4NDQzJyBhbmQgYWxsb3cgYXR0cmlidXRlICd3ZWItc2hhcmUgJ3NlbGYn
Jy4KK0NPTlNPTEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVjayBmYWls
ZWQgZm9yIGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0MycgYW5kIGFs
bG93IGF0dHJpYnV0ZSAnd2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMnLgorUEFTUyBp
ZnJhbWUgc3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vi
c2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0iIiBNVVNUIE5PVCBiZSBhbGxvd2Vk
IHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4x
Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGgg
YWxsb3c9IiIgaXMgYWxsb3dlZCB0byBjYWxsIGNhblNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6
ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0
bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUiIGlzIGFsbG93ZWQgdG8gY2FsbCBj
YW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJz
aGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2Vi
LXNoYXJlIiBpcyBhbGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzog
Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3Rt
ZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAqIiBpcyBhbGxvd2VkIHRvIGNhbGwg
Y2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vi
c2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9Indl
Yi1zaGFyZSAqIiBpcyBhbGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNy
YzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBv
c3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAnbm9uZSciIE1VU1QgTk9UIGJl
IGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8x
MjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRt
bCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICdub25lJyIgTVVTVCBOT1QgYmUgYWxsb3dlZCB0byBj
YWxsIGNhblNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQz
L3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93
PSJ3ZWItc2hhcmUgJ3NlbGYnIiBNVVNUIE5PVCBiZSBhbGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUo
KS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vic2hhcmUvcmVz
b3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAn
c2VsZiciIGlzIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAi
aHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1l
c3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMi
IGlzIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6
Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2Uu
aHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMiIE1VU1Qg
Tk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1jYW5TaGFy
ZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1h
bGxvdy1hdHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTU0MzQ3ODVh
MmQyNGI4MzVjYmMzMzU4NGJlOTMyMTcyZGVmYzZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2FuU2hh
cmUuaHR0cHMuaHRtbApAQCAtMCwwICsxLDEwOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KyAgPGhlYWQ+CisgICAgPHRpdGxlPgorICAgICAgVGVzdCBhbGxvdyBhdHRyaWJ1dGUgd2l0aCAi
d2ViLXNoYXJlIiBhbmQgY2FuU2hhcmUoKSBtZXRob2QKKyAgICA8L3RpdGxlPgorICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJpbml0aWFsLXNjYWxlPTUsIHdpZHRoPWRldmljZS13
aWR0aCIgLz4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgdGVzdFJ1bm5lcj8uZHVtcEFzVGV4dCgpOwor
ICAgICAgdGVzdFJ1bm5lcj8ud2FpdFVudGlsRG9uZSgpOworCisgICAgICBmdW5jdGlvbiB3YWl0
Rm9yKHRhcmdldCwgZXZlbnROYW1lKSB7CisgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVz
b2x2ZSkgPT4geworICAgICAgICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwg
cmVzb2x2ZSwgeyBvbmNlOiB0cnVlIH0pOworICAgICAgICB9KTsKKyAgICAgIH0KKworICAgICAg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBhc3luYyAoKSA9PiB7CisgICAgICAgIGZv
ciAoY29uc3QgaWZyYW1lIG9mIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoImlmcmFtZSIpKSB7
CisgICAgICAgICAgY29uc3QgeyBlbmFibGVkLCBzcmMgfSA9IGlmcmFtZS5kYXRhc2V0OworICAg
ICAgICAgIGNvbnN0IGlzQWxsb3dlZCA9IGVuYWJsZWQgPT09ICJ0cnVlIjsKKyAgICAgICAgICBj
b25zdCBhY3Rpb24gPSAiY2FsbCBjYW5TaGFyZSgpIjsKKyAgICAgICAgICBpZnJhbWUuY29udGVu
dFdpbmRvdy5wb3N0TWVzc2FnZSh7IGFjdGlvbiB9LCAiKiIpOworICAgICAgICAgIGNvbnN0IHsg
ZGF0YSB9ID0gYXdhaXQgd2FpdEZvcih3aW5kb3csICJtZXNzYWdlIik7CisgICAgICAgICAgY29u
c3QgeyBleGNlcHRpb25NZXNzYWdlLCBleGNlcHRpb25OYW1lLCByZXN1bHQgfSA9IGRhdGE7CisK
KyAgICAgICAgICBjb25zdCBtc2cgPSBgaWZyYW1lIHNyYzogIiR7aWZyYW1lLnNyY30iIHdpdGgg
YWxsb3c9IiR7CisgICAgICAgICAgICBpZnJhbWUuYWxsb3cKKyAgICAgICAgICB9IiAkeworICAg
ICAgICAgICAgaXNBbGxvd2VkID8gImlzIGFsbG93ZWQgdG8iIDogIk1VU1QgTk9UIGJlIGFsbG93
ZWQgdG8iCisgICAgICAgICAgfSAke2FjdGlvbn0uICR7ZXhjZXB0aW9uTmFtZSA/PyAiIn0gJHtl
eGNlcHRpb25NZXNzYWdlID8/ICIifWA7CisKKyAgICAgICAgICBzd2l0Y2ggKHJlc3VsdCkgewor
ICAgICAgICAgICAgY2FzZSB0cnVlOgorICAgICAgICAgICAgICBpc0FsbG93ZWQgPyB0ZXN0UGFz
c2VkKG1zZykgOiB0ZXN0RmFpbGVkKG1zZyk7CisgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgY2FzZSBmYWxzZToKKyAgICAgICAgICAgICAgIWlzQWxsb3dlZCA/IHRlc3RQYXNzZWQo
bXNnKSA6IHRlc3RGYWlsZWQobXNnKTsKKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAg
ICBkZWZhdWx0OgorICAgICAgICAgICAgICB0ZXN0RmFpbGVkKG1zZyArIGAgLSByZXN1bHQgd2Fz
OiAke3Jlc3VsdH1gKTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7CisgICAgICB9KTsKKyAgICA8L3NjcmlwdD4KKyAgPC9oZWFkPgorICA8
Ym9keT4KKyAgICA8aWZyYW1lCisgICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAgc3Jj
PSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0
bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBkYXRhLWVu
YWJsZWQ9InRydWUiCisgICAgICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdl
Lmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hh
cmUiCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAgICBzcmM9Imh0dHBzOi8vbG9jYWxo
b3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisg
ICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUiCisgICAg
ICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAgICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBv
c3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93
PSJ3ZWItc2hhcmUgKiIKKyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iaHR0
cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3Nh
Z2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1z
aGFyZSAqIgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAgc3JjPSIuL3Jlc291cmNl
cy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1l
CisgICAgICBhbGxvdz0id2ViLXNoYXJlICdub25lJyIKKyAgICAgIGRhdGEtZW5hYmxlZD0iZmFs
c2UiCisgICAgICBzcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2Vz
L3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUK
KyAgICAgIGFsbG93PSJ3ZWItc2hhcmUgJ25vbmUnIgorICAgICAgZGF0YS1lbmFibGVkPSJmYWxz
ZSIKKyAgICAgIHNyYz0iLi9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAg
ICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSAnc2VsZici
CisgICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAgc3JjPSJodHRwczovL2xvY2FsaG9z
dDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAg
ID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlICdzZWxmJyIK
KyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iLi9yZXNvdXJjZXMvd2Vic2hh
cmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAg
YWxsb3c9IndlYi1zaGFyZSBodHRwczovL2xvY2FsaG9zdDo4NDQzIgorICAgICAgZGF0YS1lbmFi
bGVkPSJ0cnVlIgorICAgICAgc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jl
c291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8
aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMiCisg
ICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAgc3JjPSIuL3Jlc291cmNlcy93ZWJzaGFy
ZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxv
dy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjAwMDE1YWQwMGY1ZDA3N2RiNjljNmRmYWNhZGY3MWQ4ZTdmNDQz
MjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dl
YnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxOCBAQAorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUnIGNoZWNr
IGZhaWxlZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovL2xvY2FsaG9zdDo4NDQzJyBh
bmQgYWxsb3cgYXR0cmlidXRlICcnLgorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAn
V2ViU2hhcmUnIGNoZWNrIGZhaWxlZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovL2xv
Y2FsaG9zdDo4NDQzJyBhbmQgYWxsb3cgYXR0cmlidXRlICd3ZWItc2hhcmUgJ25vbmUnJy4KK0NP
TlNPTEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9y
IGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0MycgYW5kIGFsbG93IGF0
dHJpYnV0ZSAnd2ViLXNoYXJlICdub25lJycuCitDT05TT0xFIE1FU1NBR0U6IEZlYXR1cmUgcG9s
aWN5ICdXZWJTaGFyZScgY2hlY2sgZmFpbGVkIGZvciBpZnJhbWUgd2l0aCBvcmlnaW4gJ2h0dHBz
Oi8vbG9jYWxob3N0Ojg0NDMnIGFuZCBhbGxvdyBhdHRyaWJ1dGUgJ3dlYi1zaGFyZSAnc2VsZicn
LgorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUnIGNoZWNrIGZhaWxl
ZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovLzEyNy4wLjAuMTo4NDQzJyBhbmQgYWxs
b3cgYXR0cmlidXRlICd3ZWItc2hhcmUgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MycuCitQQVNTIGlm
cmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJz
aGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSIiIE1VU1QgTk9UIGJlIGFsbG93ZWQg
dG8gY2FsbCBzaGFyZSgpLiBOb3RBbGxvd2VkRXJyb3IgVGhpcmQtcGFydHkgaWZyYW1lcyBhcmUg
bm90IGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpIHVubGVzcyBleHBsaWNpdGx5IGFsbG93ZWQgdmlh
IEZlYXR1cmUtUG9saWN5ICh3ZWItc2hhcmUpCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEy
Ny4wLjAuMTo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1s
IiB3aXRoIGFsbG93PSIiIGlzIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpLgorUEFTUyBpZnJhbWUg
c3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUt
cG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlIiBpcyBhbGxvd2VkIHRvIGNh
bGwgc2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vi
c2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9Indl
Yi1zaGFyZSIgaXMgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJo
dHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVz
c2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgKiIgaXMgYWxsb3dlZCB0byBjYWxsIHNo
YXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAuMTo4NDQzL3dlYnNoYXJl
L3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hh
cmUgKiIgaXMgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRw
czovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2Fn
ZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgJ25vbmUnIiBNVVNUIE5PVCBiZSBhbGxvd2Vk
IHRvIGNhbGwgc2hhcmUoKS4gTm90QWxsb3dlZEVycm9yIFRoaXJkLXBhcnR5IGlmcmFtZXMgYXJl
IG5vdCBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKSB1bmxlc3MgZXhwbGljaXRseSBhbGxvd2VkIHZp
YSBGZWF0dXJlLVBvbGljeSAod2ViLXNoYXJlKQorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8x
MjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRt
bCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICdub25lJyIgTVVTVCBOT1QgYmUgYWxsb3dlZCB0byBj
YWxsIHNoYXJlKCkuIE5vdEFsbG93ZWRFcnJvciBUaGlyZC1wYXJ0eSBpZnJhbWVzIGFyZSBub3Qg
YWxsb3dlZCB0byBjYWxsIHNoYXJlKCkgdW5sZXNzIGV4cGxpY2l0bHkgYWxsb3dlZCB2aWEgRmVh
dHVyZS1Qb2xpY3kgKHdlYi1zaGFyZSkKK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxo
b3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdp
dGggYWxsb3c9IndlYi1zaGFyZSAnc2VsZiciIE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBz
aGFyZSgpLiBOb3RBbGxvd2VkRXJyb3IgVGhpcmQtcGFydHkgaWZyYW1lcyBhcmUgbm90IGFsbG93
ZWQgdG8gY2FsbCBzaGFyZSgpIHVubGVzcyBleHBsaWNpdGx5IGFsbG93ZWQgdmlhIEZlYXR1cmUt
UG9saWN5ICh3ZWItc2hhcmUpCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAuMTo4
NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFs
bG93PSJ3ZWItc2hhcmUgJ3NlbGYnIiBpcyBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4KK1BBU1Mg
aWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dl
YnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSBodHRwczovL2xv
Y2FsaG9zdDo4NDQzIiBpcyBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNy
YzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBv
c3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSBodHRwczovL2xvY2FsaG9zdDo4
NDQzIiBNVVNUIE5PVCBiZSBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4gTm90QWxsb3dlZEVycm9y
IFRoaXJkLXBhcnR5IGlmcmFtZXMgYXJlIG5vdCBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKSB1bmxl
c3MgZXhwbGljaXRseSBhbGxvd2VkIHZpYSBGZWF0dXJlLVBvbGljeSAod2ViLXNoYXJlKQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93
LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
aGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lNWI3YzEyNTNjYjRlNWJmNjlkZDQwYjY3MDg1NmNkYjE1ZTA0YmE4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRy
aWJ1dGUtc2hhcmUuaHR0cHMuaHRtbApAQCAtMCwwICsxLDEyMiBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHRpdGxlPgorICAgICAgVGVzdCBhbGxvdyBhdHRyaWJ1
dGUgd2l0aCAid2ViLXNoYXJlIiBhbmQgc2hhcmUoKSBtZXRob2QKKyAgICA8L3RpdGxlPgorICAg
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJpbml0aWFsLXNjYWxlPTUsIHdpZHRoPWRl
dmljZS13aWR0aCIgLz4KKyAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhl
bHBlci5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgIHRlc3RSdW5uZXI/LmR1bXBB
c1RleHQoKTsKKyAgICAgIHRlc3RSdW5uZXI/LndhaXRVbnRpbERvbmUoKTsKKworICAgICAgZnVu
Y3Rpb24gd2FpdEZvcih0YXJnZXQsIGV2ZW50TmFtZSkgeworICAgICAgICByZXR1cm4gbmV3IFBy
b21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgICAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihl
dmVudE5hbWUsIHJlc29sdmUsIHsgb25jZTogdHJ1ZSB9KTsKKyAgICAgICAgfSk7CisgICAgICB9
CisKKyAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgYXN5bmMgKCkgPT4gewor
ICAgICAgICBmb3IgKGNvbnN0IGlmcmFtZSBvZiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJp
ZnJhbWUiKSkgeworICAgICAgICAgIGNvbnN0IHsgZW5hYmxlZCwgc3JjIH0gPSBpZnJhbWUuZGF0
YXNldDsKKyAgICAgICAgICBjb25zdCBpc0FsbG93ZWQgPSBlbmFibGVkID09PSAidHJ1ZSI7Cisg
ICAgICAgICAgY29uc3QgYWN0aW9uID0gImNhbGwgc2hhcmUoKSI7CisgICAgICAgICAgaWZyYW1l
LmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoeyBhY3Rpb24gfSwgIioiKTsKKyAgICAgICAgICBj
b25zdCB7IGRhdGE6IGNsaWNrTWVzc2FnZSB9ID0gYXdhaXQgd2FpdEZvcih3aW5kb3csICJtZXNz
YWdlIik7CisgICAgICAgICAgaWYgKGNsaWNrTWVzc2FnZSAhPT0gImNsaWNrIG1lISIpIHsKKyAg
ICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgYSBjbGljayByZXF1ZXN0OiIgKyBj
bGlja01lc3NhZ2UpOworICAgICAgICAgIH0KKyAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnQoaWZyYW1lKTsKKyAgICAgICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IHdh
aXRGb3Iod2luZG93LCAibWVzc2FnZSIpOworICAgICAgICAgIGNvbnN0IHsgZXhjZXB0aW9uTWVz
c2FnZSwgZXhjZXB0aW9uTmFtZSwgcmVzdWx0IH0gPSBkYXRhOworICAgICAgICAgIGNvbnN0IG1z
ZyA9IGBpZnJhbWUgc3JjOiAiJHtpZnJhbWUuc3JjfSIgd2l0aCBhbGxvdz0iJHsKKyAgICAgICAg
ICAgIGlmcmFtZS5hbGxvdworICAgICAgICAgIH0iICR7CisgICAgICAgICAgICBpc0FsbG93ZWQg
PyAiaXMgYWxsb3dlZCB0byIgOiAiTVVTVCBOT1QgYmUgYWxsb3dlZCB0byIKKyAgICAgICAgICB9
ICR7YWN0aW9ufS4gJHtleGNlcHRpb25OYW1lID8/ICIifSAke2V4Y2VwdGlvbk1lc3NhZ2UgPz8g
IiJ9YDsKKyAgICAgICAgICBzd2l0Y2ggKHJlc3VsdCkgeworICAgICAgICAgICAgY2FzZSAic2hh
cmUgY29tcGxldGVkIjoKKyAgICAgICAgICAgICAgaXNBbGxvd2VkID8gdGVzdFBhc3NlZChtc2cp
IDogdGVzdEZhaWxlZChtc2cpOworICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNh
c2UgInRocmV3IjoKKyAgICAgICAgICAgICAgaWYgKAorICAgICAgICAgICAgICAgICFpc0FsbG93
ZWQgJiYKKyAgICAgICAgICAgICAgICBleGNlcHRpb25OYW1lID09PSAiTm90QWxsb3dlZEVycm9y
IiAmJgorICAgICAgICAgICAgICAgIGV4Y2VwdGlvbk1lc3NhZ2UuZW5kc1dpdGgoIkZlYXR1cmUt
UG9saWN5ICh3ZWItc2hhcmUpIikKKyAgICAgICAgICAgICAgKSB7CisgICAgICAgICAgICAgICAg
dGVzdFBhc3NlZChtc2cpOworICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQobXNnKTsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgIHRlc3RGYWlsZWQobXNnICsgYCAt
IHJlc3VsdCB3YXM6ICR7cmVzdWx0fWApOworICAgICAgICAgIH0KKyAgICAgICAgICBpZnJhbWUu
cmVtb3ZlKCk7CisgICAgICAgIH0KKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cisg
ICAgICB9KTsKKyAgICA8L3NjcmlwdD4KKyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8aWZyYW1l
CisgICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAgc3JjPSJodHRwczovL2xvY2FsaG9z
dDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAg
ID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAg
ICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZy
YW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUiCisgICAgICBkYXRhLWVu
YWJsZWQ9InRydWUiCisgICAgICBzcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUv
cmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAg
IDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUiCisgICAgICBkYXRhLWVuYWJsZWQ9InRy
dWUiCisgICAgICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisg
ICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUgKiIKKyAg
ICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0
My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9p
ZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSAqIgorICAgICAgZGF0
YS1lbmFibGVkPSJ0cnVlIgorICAgICAgc3JjPSIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVz
c2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0id2Vi
LXNoYXJlICdub25lJyIKKyAgICAgIGRhdGEtZW5hYmxlZD0iZmFsc2UiCisgICAgICBzcmM9Imh0
dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNz
YWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWIt
c2hhcmUgJ25vbmUnIgorICAgICAgZGF0YS1lbmFibGVkPSJmYWxzZSIKKyAgICAgIHNyYz0iLi9y
ZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAg
PGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSAnc2VsZiciCisgICAgICBkYXRhLWVuYWJs
ZWQ9ImZhbHNlIgorICAgICAgc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jl
c291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8
aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlICdzZWxmJyIKKyAgICAgIGRhdGEtZW5hYmxl
ZD0idHJ1ZSIKKyAgICAgIHNyYz0iLi9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRt
bCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSBo
dHRwczovL2xvY2FsaG9zdDo4NDQzIgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAg
c3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1w
b3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxv
dz0id2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMiCisgICAgICBkYXRhLWVuYWJsZWQ9
ImZhbHNlIgorICAgICAgc3JjPSIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1s
IgorICAgID48L2lmcmFtZT4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDkwMWVkYzRmZjlmNzhkNWYwY2Nj
NzA3ZTJjMDY0MWRjYzZkNjVhZDguLjA0MzI4Mzc1NmNlY2MwMDhlNTNjNWY3OWUzNDM1MGE4YjNk
YWNlNzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTE0MTEsNCArMTQxMSw3IEBAIHdlYmtpdC5vcmcvYi8yMjkyNDcgaHR0cC90ZXN0cy9m
ZXRjaC9rZWVwYWxpdmUtZmV0Y2gtMi5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAogd2Via2l0Lm9y
Zy9iLzIwOTg3OCBbIERlYnVnIF0gd2VicnRjL2RhdGFjaGFubmVsL211bHRpcGxlLWNvbm5lY3Rp
b25zLmh0bWwgWyBQYXNzIEZhaWx1cmUgU2xvdyBdCiAKLXdlYmtpdC5vcmcvYi8yMjgyMTEgY3Nz
Mi4xLzIwMTEwMzIzL3JlcGxhY2VkLWludHJpbnNpYy0wMDMuaHRtIFsgUGFzcyBGYWlsdXJlIF0K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit3ZWJraXQub3JnL2IvMjI4MjExIGNzczIuMS8y
MDExMDMyMy9yZXBsYWNlZC1pbnRyaW5zaWMtMDAzLmh0bSBbIFBhc3MgRmFpbHVyZSBdCisKKyMg
d2Via2l0Lm9yZy9iLzIxNDQ0OCBXZWIgU2hhcmUgQVBJIGlzIG5vdCBpbXBsZW1lbnRlZCBmb3Ig
bWFjLXdrMQoraHR0cC90ZXN0cy93ZWJzaGFyZS8gWyBTa2lwIF0KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVj
dGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IGJlYWIwM2MzNzU3ZThmYmE2NWI3OTNmMTlmMDE1YzAxMDhjYjhjYjIuLmY5ZWQxZDZmMzczNWNh
YTNkNmNlZjVhYWRiYTQ3OGIxMWRkZGY3NjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9U
ZXN0RXhwZWN0YXRpb25zCkBAIC0xNDcsNyArMTQ3LDcgQEAgaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LWNyb3NzLW9yaWdpbi1uby1jb29raWVzLnB5IFsg
U2sKIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC1jcm9z
cy1vcmlnaW4tbm8tY29va2llcy13aGVuLXByaXZhdGUtYnJvd3NpbmctZW5hYmxlZC5weSBbIFNr
aXAgXSAKIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9waW5nLWF0dHJpYnV0ZS9hcmVhLWNyb3NzLW9y
aWdpbi5odG1sIFsgU2tpcCBdIAogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BpbmctYXR0cmlidXRl
L2FuY2hvci1jcm9zcy1vcmlnaW4uaHRtbCBbIFNraXAgXSAKLWh0dHAvdGVzdHMvcmVmZXJyZXIt
cG9saWN5L25vLXJlZmVycmVyLXdoZW4tZG93bmdyYWRlLyBbIFNraXAgXSAKK2h0dHAvdGVzdHMv
cmVmZXJyZXItcG9saWN5L25vLXJlZmVycmVyLXdoZW4tZG93bmdyYWRlLyBbIFNraXAgXQogaHR0
cC90ZXN0cy9yZWZlcnJlci1wb2xpY3kvdW5zYWZlLXVybC9jcm9zcy1vcmlnaW4taHR0cC1odHRw
Lmh0bWwgWyBTa2lwIF0gCiBodHRwL3Rlc3RzL3JlZmVycmVyLXBvbGljeS91bnNhZmUtdXJsL2Ny
b3NzLW9yaWdpbi1odHRwLmh0dHBzLmh0bWwgWyBTa2lwIF0gCiBodHRwL3Rlc3RzL3JlZmVycmVy
LXBvbGljeS1pbWcvbm8tcmVmZXJyZXItd2hlbi1kb3duZ3JhZGUvIFsgU2tpcCBdIApAQCAtNDY4
Niw0ICs0Njg2LDcgQEAgd2Via2l0Lm9yZy9iLzIyOTM3OSBmYXN0L3Zpc3VhbC12aWV3cG9ydC9y
ZXNpemUtZXZlbnQtZmlyZWQtd2luZG93LXJlc2l6ZWQuaHRtbAogCiB3ZWJraXQub3JnL2IvMjE1
MzE4IGZhc3QvdGV4dC96d2otbGlnYXR1cmUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogCi13
ZWJraXQub3JnL2IvMjI5NTk0IGpzL2RmZy1pbnQxNmFycmF5Lmh0bWwgWyBQYXNzIENyYXNoIF0K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit3ZWJraXQub3JnL2IvMjI5NTk0IGpzL2RmZy1p
bnQxNmFycmF5Lmh0bWwgWyBQYXNzIENyYXNoIF0KKworIyB3ZWJraXQub3JnL2IvMjE0NDQ4IFdl
YiBTaGFyZSBBUEkgaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBXaW5kb3dzIHBvcnQKK2h0dHAv
dGVzdHMvd2Vic2hhcmUvIFsgU2tpcCBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437702</attachid>
            <date>2021-09-08 20:35:36 -0700</date>
            <delta_ts>2021-09-08 20:41:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214448-20210909133534.patch</filename>
            <type>text/plain</type>
            <size>26603</size>
            <attacher name="Marcos Caceres">marcos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjVkMzdiMjQxZDNmYTFl
MzdmNzJkMjE5OTcyMDg1N2JhMGEyZTc4YS4uYzAwNTkzZjczYWZhMmNmMjEwNjYzNTNlNjc2ZjAx
YzJlNzNlZmVlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA5LTA4ICBNYXJj
b3MgQ2FjZXJlcyAgPG1hcmNvc0BtYXJjb3NjLmNvbT4KKworICAgICAgICBXZWIgU2hhcmUgcGVy
bWlzc2lvbiBwb2xpY3kgIndlYi1zaGFyZSIgYW5kICJzZWxmIiBhcyB0aGUgYWxsb3dsaXN0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ0NDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEZXZpbiBSb3Vzc28uCisKKyAgICAgICAgVGVzdHM6IGh0dHAv
dGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLmh0
bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0
cmlidXRlLXNoYXJlLmh0dHBzLmh0bWwKKworICAgICAgICAqIGh0bWwvRmVhdHVyZVBvbGljeS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpwb2xpY3lUeXBlTmFtZSk6CisgICAgICAgIChXZWJDb3Jl
OjpGZWF0dXJlUG9saWN5OjpwYXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpGZWF0dXJlUG9saWN5
OjphbGxvd3MgY29uc3QpOgorICAgICAgICAqIGh0bWwvRmVhdHVyZVBvbGljeS5oOgorICAgICAg
ICAqIHBhZ2UvTmF2aWdhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvcjo6Y2Fu
U2hhcmUpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yOjpzaGFyZSk6CisKIDIwMjEtMDkt
MDggIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAg
S2V5Ym9hcmRFdmVudCBzaG91bGQgc2V0RGVmYXVsdEhhbmRsZWQgaWYgRXZlbnRIYW5kbGVyOjpz
dGFydEtleWJvYXJkU2Nyb2xsaW5nIHJldHVybnMgdHJ1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmVhdHVy
ZVBvbGljeS5jcHAKaW5kZXggMGY0MjE2M2QzZWQwYmQwYjZmNzhmNmNlZGFjNmQ0NDAwZjgxMWVm
Ny4uNmU1NmNjMjk0ZmExMWI1M2M3MTAzMmZhYzg5MTYxN2I2NjNjZTg2MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0ZlYXR1cmVQb2xpY3kuY3BwCkBAIC01Niw2ICs1Niw4IEBAIHN0YXRpYyBjb25zdCBj
aGFyKiBwb2xpY3lUeXBlTmFtZShGZWF0dXJlUG9saWN5OjpUeXBlIHR5cGUpCiAgICAgICAgIHJl
dHVybiAiU3luY1hIUiI7CiAgICAgY2FzZSBGZWF0dXJlUG9saWN5OjpUeXBlOjpGdWxsc2NyZWVu
OgogICAgICAgICByZXR1cm4gIkZ1bGxzY3JlZW4iOworICAgIGNhc2UgRmVhdHVyZVBvbGljeTo6
VHlwZTo6V2ViU2hhcmU6CisgICAgICAgIHJldHVybiAiV2ViU2hhcmUiOwogI2lmIEVOQUJMRShE
RVZJQ0VfT1JJRU5UQVRJT04pCiAgICAgY2FzZSBGZWF0dXJlUG9saWN5OjpUeXBlOjpHeXJvc2Nv
cGU6CiAgICAgICAgIHJldHVybiAiR3lyb3Njb3BlIjsKQEAgLTE3NSw2ICsxNzcsNyBAQCBGZWF0
dXJlUG9saWN5IEZlYXR1cmVQb2xpY3k6OnBhcnNlKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3Qg
SFRNTElGcmFtZUVsZW1lbnQmCiAgICAgYm9vbCBpc1BheW1lbnRJbml0aWFsaXplZCA9IGZhbHNl
OwogICAgIGJvb2wgaXNTeW5jWEhSSW5pdGlhbGl6ZWQgPSBmYWxzZTsKICAgICBib29sIGlzRnVs
bHNjcmVlbkluaXRpYWxpemVkID0gZmFsc2U7CisgICAgYm9vbCBpc1dlYlNoYXJlSW5pdGlhbGl6
ZWQgPSBmYWxzZTsKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQogICAgIGJvb2wgaXNH
eXJvc2NvcGVJbml0aWFsaXplZCA9IGZhbHNlOwogICAgIGJvb2wgaXNBY2NlbGVyb21ldGVySW5p
dGlhbGl6ZWQgPSBmYWxzZTsKQEAgLTIyNSw2ICsyMjgsMTEgQEAgRmVhdHVyZVBvbGljeSBGZWF0
dXJlUG9saWN5OjpwYXJzZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IEhUTUxJRnJhbWVFbGVt
ZW50JgogICAgICAgICAgICAgdXBkYXRlTGlzdChkb2N1bWVudCwgcG9saWN5Lm1fZnVsbHNjcmVl
blJ1bGUsIGl0ZW0uc3Vic3RyaW5nKDExKSk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAg
ICAgfQorICAgICAgICBpZiAoaXRlbS5zdGFydHNXaXRoKCJ3ZWItc2hhcmUiKSkgeworICAgICAg
ICAgICAgaXNXZWJTaGFyZUluaXRpYWxpemVkID0gdHJ1ZTsKKyAgICAgICAgICAgIHVwZGF0ZUxp
c3QoZG9jdW1lbnQsIHBvbGljeS5tX3dlYlNoYXJlUnVsZSwgaXRlbS5zdWJzdHJpbmcoMTApKTsK
KyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CiAjaWYgRU5BQkxFKERFVklDRV9PUklF
TlRBVElPTikKICAgICAgICAgaWYgKGl0ZW0uc3RhcnRzV2l0aCgiZ3lyb3Njb3BlIikpIHsKICAg
ICAgICAgICAgIGlzR3lyb3Njb3BlSW5pdGlhbGl6ZWQgPSB0cnVlOwpAQCAtMjY0LDYgKzI3Miw4
IEBAIEZlYXR1cmVQb2xpY3kgRmVhdHVyZVBvbGljeTo6cGFyc2UoRG9jdW1lbnQmIGRvY3VtZW50
LCBjb25zdCBIVE1MSUZyYW1lRWxlbWVudCYKICAgICAgICAgcG9saWN5Lm1fZ2VvbG9jYXRpb25S
dWxlLmFsbG93ZWRMaXN0LmFkZChkb2N1bWVudC5zZWN1cml0eU9yaWdpbigpLmRhdGEoKSk7CiAg
ICAgaWYgKCFpc1BheW1lbnRJbml0aWFsaXplZCkKICAgICAgICAgcG9saWN5Lm1fcGF5bWVudFJ1
bGUuYWxsb3dlZExpc3QuYWRkKGRvY3VtZW50LnNlY3VyaXR5T3JpZ2luKCkuZGF0YSgpKTsKKyAg
ICBpZiAoIWlzV2ViU2hhcmVJbml0aWFsaXplZCkKKyAgICAgICAgcG9saWN5Lm1fd2ViU2hhcmVS
dWxlLmFsbG93ZWRMaXN0LmFkZChkb2N1bWVudC5zZWN1cml0eU9yaWdpbigpLmRhdGEoKSk7CiAj
aWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKICAgICBpZiAoIWlzR3lyb3Njb3BlSW5pdGlh
bGl6ZWQpCiAgICAgICAgIHBvbGljeS5tX2d5cm9zY29wZVJ1bGUuYWxsb3dlZExpc3QuYWRkKGRv
Y3VtZW50LnNlY3VyaXR5T3JpZ2luKCkuZGF0YSgpKTsKQEAgLTMxNyw2ICszMjcsOCBAQCBib29s
IEZlYXR1cmVQb2xpY3k6OmFsbG93cyhUeXBlIHR5cGUsIGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0
YSYgb3JpZ2luKSBjb25zdAogICAgICAgICByZXR1cm4gaXNBbGxvd2VkQnlGZWF0dXJlUG9saWN5
KG1fc3luY1hIUlJ1bGUsIG9yaWdpbik7CiAgICAgY2FzZSBUeXBlOjpGdWxsc2NyZWVuOgogICAg
ICAgICByZXR1cm4gaXNBbGxvd2VkQnlGZWF0dXJlUG9saWN5KG1fZnVsbHNjcmVlblJ1bGUsIG9y
aWdpbik7CisgICAgY2FzZSBUeXBlOjpXZWJTaGFyZToKKyAgICAgICAgcmV0dXJuIGlzQWxsb3dl
ZEJ5RmVhdHVyZVBvbGljeShtX3dlYlNoYXJlUnVsZSwgb3JpZ2luKTsKICNpZiBFTkFCTEUoREVW
SUNFX09SSUVOVEFUSU9OKQogICAgIGNhc2UgVHlwZTo6R3lyb3Njb3BlOgogICAgICAgICByZXR1
cm4gaXNBbGxvd2VkQnlGZWF0dXJlUG9saWN5KG1fZ3lyb3Njb3BlUnVsZSwgb3JpZ2luKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmVhdHVyZVBvbGljeS5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5LmgKaW5kZXggNzllNjZmYjE2NDFiMjQxNmJiMzk3NmI3
NmExNDhhOGExMGZkYWY3NS4uZTY0MGY4YTVkNzIzZGUwMWU5YTY0YjUxMDY2NmI5M2E2Nzk3YTc5
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5LmgKQEAgLTQ3LDYgKzQ3LDcgQEAgcHVi
bGljOgogICAgICAgICBQYXltZW50LAogICAgICAgICBTeW5jWEhSLAogICAgICAgICBGdWxsc2Ny
ZWVuLAorICAgICAgICBXZWJTaGFyZSwKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQog
ICAgICAgICBHeXJvc2NvcGUsCiAgICAgICAgIEFjY2VsZXJvbWV0ZXIsCkBAIC03Myw2ICs3NCw4
IEBAIHByaXZhdGU6CiAgICAgQWxsb3dSdWxlIG1fcGF5bWVudFJ1bGU7CiAgICAgQWxsb3dSdWxl
IG1fc3luY1hIUlJ1bGU7CiAgICAgQWxsb3dSdWxlIG1fZnVsbHNjcmVlblJ1bGU7CisgICAgQWxs
b3dSdWxlIG1fd2ViU2hhcmVSdWxlOworCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikK
ICAgICBBbGxvd1J1bGUgbV9neXJvc2NvcGVSdWxlOwogICAgIEFsbG93UnVsZSBtX2FjY2VsZXJv
bWV0ZXJSdWxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3BwCmluZGV4IGMwYTBjMThkNzQ4MGEx
NjRiMGJlOTA4YWUxMTdiZDc0MjI1Mjk4YjEuLmE0MGFlYjBkZmUwMDU3YjBlMzEzMDIzNmM1MTk2
Nzk1NDY3N2E5ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAKQEAgLTMwLDYgKzMwLDcg
QEAKICNpbmNsdWRlICJET01QbHVnaW4uaCIKICNpbmNsdWRlICJET01QbHVnaW5BcnJheS5oIgog
I2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRmVhdHVyZVBvbGljeS5oIgogI2luY2x1
ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKICNpbmNsdWRlICJGcmFtZUxv
YWRlckNsaWVudC5oIgpAQCAtMTMwLDYgKzEzMSw5IEBAIGJvb2wgTmF2aWdhdG9yOjpjYW5TaGFy
ZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFNoYXJlRGF0YSYgZGF0YSkKICAgICBpZiAoIWZy
YW1lIHx8ICFmcmFtZS0+cGFnZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAo
IWlzRmVhdHVyZVBvbGljeUFsbG93ZWRCeURvY3VtZW50QW5kQWxsT3duZXJzKEZlYXR1cmVQb2xp
Y3k6OlR5cGU6OldlYlNoYXJlLCBkb2N1bWVudCwgTG9nRmVhdHVyZVBvbGljeUZhaWx1cmU6Olll
cykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIGJvb2wgaGFzU2hhcmVhYmxlVGl0bGVP
clRleHQgPSAhZGF0YS50aXRsZS5pc051bGwoKSB8fCAhZGF0YS50ZXh0LmlzTnVsbCgpOwogICAg
IGJvb2wgaGFzU2hhcmVhYmxlVVJMID0gISFzaGFyZWFibGVVUkxGb3JTaGFyZURhdGEoZG9jdW1l
bnQsIGRhdGEpOwogI2lmIEVOQUJMRShGSUxFX1NIQVJFKQpAQCAtMTQzLDYgKzE0NywxMSBAQCBi
b29sIE5hdmlnYXRvcjo6Y2FuU2hhcmUoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTaGFyZURh
dGEmIGRhdGEpCiAKIHZvaWQgTmF2aWdhdG9yOjpzaGFyZShEb2N1bWVudCYgZG9jdW1lbnQsIGNv
bnN0IFNoYXJlRGF0YSYgZGF0YSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogewor
ICAgIGlmICghaXNGZWF0dXJlUG9saWN5QWxsb3dlZEJ5RG9jdW1lbnRBbmRBbGxPd25lcnMoRmVh
dHVyZVBvbGljeTo6VHlwZTo6V2ViU2hhcmUsIGRvY3VtZW50LCBMb2dGZWF0dXJlUG9saWN5RmFp
bHVyZTo6WWVzKSkgeworICAgICAgICBwcm9taXNlLT5yZWplY3QoTm90QWxsb3dlZEVycm9yLCAi
VGhpcmQtcGFydHkgaWZyYW1lcyBhcmUgbm90IGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpIHVubGVz
cyBleHBsaWNpdGx5IGFsbG93ZWQgdmlhIEZlYXR1cmUtUG9saWN5ICh3ZWItc2hhcmUpIl9zKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmIChtX2hhc1BlbmRpbmdTaGFyZSkgewog
ICAgICAgICBwcm9taXNlLT5yZWplY3QoTm90QWxsb3dlZEVycm9yKTsKICAgICAgICAgcmV0dXJu
OwpAQCAtMTY5LDcgKzE3OCw3IEBAIHZvaWQgTmF2aWdhdG9yOjpzaGFyZShEb2N1bWVudCYgZG9j
dW1lbnQsIGNvbnN0IFNoYXJlRGF0YSYgZGF0YSwgUmVmPERlZmVycmVkUHJvCiAgICAgaWYgKGRv
Y3VtZW50LnNldHRpbmdzKCkud2ViU2hhcmVGaWxlQVBJRW5hYmxlZCgpICYmICFkYXRhLmZpbGVz
LmlzRW1wdHkoKSkgewogICAgICAgICBpZiAobV9sb2FkZXIpCiAgICAgICAgICAgICBtX2xvYWRl
ci0+Y2FuY2VsKCk7Ci0gICAgICAgIAorCiAgICAgICAgIG1fbG9hZGVyID0gU2hhcmVEYXRhUmVh
ZGVyOjpjcmVhdGUoW3RoaXMsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSAoRXhjZXB0aW9u
T3I8U2hhcmVEYXRhV2l0aFBhcnNlZFVSTCY+IHJlYWREYXRhKSBtdXRhYmxlIHsKICAgICAgICAg
ICAgIHNob3dTaGFyZURhdGEocmVhZERhdGEsIFdURk1vdmUocHJvbWlzZSkpOwogICAgICAgICB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCAzMDUxMDZhNjU5ZmUzYmUzMmFjNjBjOTFiNzU1MDcxYWQ4YTVkNzcyLi44Yjdm
ZmI4YTY4MGE3ZDFmOGQzOGYxOTBjOGEzZGEyMzk1ZWZjMjg2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMjEtMDktMDggIE1hcmNvcyBDYWNlcmVzICA8bWFyY29zQG1hcmNvc2MuY29tPgorCisg
ICAgICAgIFdlYiBTaGFyZSBwZXJtaXNzaW9uIHBvbGljeSAid2ViLXNoYXJlIiBhbmQgInNlbGYi
IGFzIHRoZSBhbGxvd2xpc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxNDQ0OAorCisgICAgICAgIFJldmlld2VkIGJ5IERldmluIFJvdXNzby4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNz
YWdlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUt
YWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2FuU2hh
cmUuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJz
aGFyZS1hbGxvdy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1zaGFy
ZS5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBl
Y3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIw
MjEtMDktMDggIEFyY2FkeSBHb2xkbWludHMtT3Jsb3YgIDxhZ29sZG1pbnRzQGlnYWxpYS5jb20+
CiAKICAgICAgICAgW0dMSUJdIFVucmV2aWV3ZWQgdGVzdCBnYXJkZW5pbmcuIFVwZGF0ZSBzb21l
IHRlc3QgYmFzZWxpbmVzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
aGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMmUxZTFkNWIwNmU4MGRiNzQ4MGYyNDZmMDk3YjVjZGMzYTE0ZDFkYQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUvcmVzb3VyY2VzL3dl
YnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwKQEAgLTAsMCArMSw2NCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzxzdHlsZT4KKyAgaHRtbCB7CisgICAgaGVpZ2h0
OiAxMDAlOworICB9CisgIGJvZHkgeworICAgIGRpc3BsYXk6IGdyaWQ7CisgIH0KKyAgYnV0dG9u
IHsKKyAgICBoZWlnaHQ6IDEwMHZoOworICAgIHdpZHRoOiAxMDAlOworICB9Cis8L3N0eWxlPgor
PGJvZHk+CisgIDxidXR0b24gaWQ9InNoYXJlLWJ1dHRvbiI+U0hBUkUhPC9idXR0b24+CisgIDxz
Y3JpcHQ+CisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoCisgICAgICAibWVzc2FnZSIsCisg
ICAgICBhc3luYyAoZXZlbnQpID0+IHsKKyAgICAgICAgY29uc3Qgc2hhcmVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic2hhcmUtYnV0dG9uIik7CisgICAgICAgIGNvbnN0IHsgYWN0
aW9uIH0gPSBldmVudC5kYXRhOworICAgICAgICBsZXQgcmVzdWx0ID0gbnVsbDsKKyAgICAgICAg
bGV0IGV4Y2VwdGlvbk1lc3NhZ2U7CisgICAgICAgIGxldCBleGNlcHRpb25OYW1lOworICAgICAg
ICBzd2l0Y2ggKGFjdGlvbikgeworICAgICAgICAgIGNhc2UgImNhbGwgY2FuU2hhcmUoKSI6Cisg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICByZXN1bHQgPSBuYXZpZ2F0b3IuY2FuU2hh
cmUoeyB0ZXh0OiAic29tZSB0ZXh0IiB9KTsKKyAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAg
ICAgICAgICAgICAgZXhjZXB0aW9uTWVzc2FnZSA9IGUubWVzc2FnZTsKKyAgICAgICAgICAgICAg
ZXhjZXB0aW9uTmFtZSA9IGUubmFtZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgIGNhc2UgImNhbGwgc2hhcmUoKSI6CisgICAgICAgICAgICBhd2FpdCB1c2Vy
QWN0aXZhdGlvbkZyb21QYXJlbnQoc2hhcmVCdXR0b24sIGV2ZW50KTsKKyAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgIGF3YWl0IG5hdmlnYXRvci5zaGFyZSh7IHRleHQ6ICJzb21lIHRl
eHQiIH0pOworICAgICAgICAgICAgICByZXN1bHQgPSAic2hhcmUgY29tcGxldGVkIjsKKyAgICAg
ICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgICAgcmVzdWx0ID0gInRocmV3IjsKKyAg
ICAgICAgICAgICAgZXhjZXB0aW9uTWVzc2FnZSA9IGUubWVzc2FnZTsKKyAgICAgICAgICAgICAg
ZXhjZXB0aW9uTmFtZSA9IGUubmFtZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25v
d24gYWN0aW9uOiAke2FjdGlvbn1gKTsKKyAgICAgICAgfQorICAgICAgICBldmVudC5zb3VyY2Uu
cG9zdE1lc3NhZ2UoCisgICAgICAgICAgeyBhY3Rpb24sIHJlc3VsdCwgZXhjZXB0aW9uTWVzc2Fn
ZSwgZXhjZXB0aW9uTmFtZSB9LAorICAgICAgICAgIGV2ZW50Lm9yaWdpbgorICAgICAgICApOwor
ICAgICAgfSwKKyAgICAgIHsgb25jZTogdHJ1ZSB9CisgICAgKTsKKworICAgIGZ1bmN0aW9uIHVz
ZXJBY3RpdmF0aW9uRnJvbVBhcmVudChzaGFyZUJ1dHRvbiwgZXZlbnQpIHsKKyAgICAgIHJldHVy
biBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgICBzaGFyZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIHJlc29sdmUsIHsgb25jZTogdHJ1ZSB9KTsKKyAgICAgICAgZXZl
bnQuc291cmNlLnBvc3RNZXNzYWdlKCJjbGljayBtZSEiLCBldmVudC5vcmlnaW4pOworICAgICAg
fSk7CisgICAgfQorICA8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hh
cmUtYWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40MWRmNzNhNDBiNjlkNjM4NmZmYjU4ZmFkMjM2OGU5MDUwMjQ4MWNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRy
aWJ1dGUtY2FuU2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTggQEAKK0NPTlNP
TEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9yIGlm
cmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MycgYW5kIGFsbG93IGF0dHJp
YnV0ZSAnJy4KK0NPTlNPTEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVj
ayBmYWlsZWQgZm9yIGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0Mycg
YW5kIGFsbG93IGF0dHJpYnV0ZSAnd2ViLXNoYXJlICdub25lJycuCitDT05TT0xFIE1FU1NBR0U6
IEZlYXR1cmUgcG9saWN5ICdXZWJTaGFyZScgY2hlY2sgZmFpbGVkIGZvciBpZnJhbWUgd2l0aCBv
cmlnaW4gJ2h0dHBzOi8vMTI3LjAuMC4xOjg0NDMnIGFuZCBhbGxvdyBhdHRyaWJ1dGUgJ3dlYi1z
aGFyZSAnbm9uZScnLgorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUn
IGNoZWNrIGZhaWxlZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovL2xvY2FsaG9zdDo4
NDQzJyBhbmQgYWxsb3cgYXR0cmlidXRlICd3ZWItc2hhcmUgJ3NlbGYnJy4KK0NPTlNPTEUgTUVT
U0FHRTogRmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3
aXRoIG9yaWdpbiAnaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAn
d2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMnLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0
cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3Nh
Z2UuaHRtbCIgd2l0aCBhbGxvdz0iIiBNVVNUIE5PVCBiZSBhbGxvd2VkIHRvIGNhbGwgY2FuU2hh
cmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vic2hhcmUv
cmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IiIgaXMgYWxs
b3dlZCB0byBjYWxsIGNhblNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovL2xvY2Fs
aG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3
aXRoIGFsbG93PSJ3ZWItc2hhcmUiIGlzIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFT
UyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMv
d2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlIiBpcyBhbGxv
d2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxo
b3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdp
dGggYWxsb3c9IndlYi1zaGFyZSAqIiBpcyBhbGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BB
U1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vic2hhcmUvcmVzb3VyY2Vz
L3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAqIiBpcyBh
bGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9j
YWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwi
IHdpdGggYWxsb3c9IndlYi1zaGFyZSAnbm9uZSciIE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2Fs
bCBjYW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93
ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0i
d2ViLXNoYXJlICdub25lJyIgTVVTVCBOT1QgYmUgYWxsb3dlZCB0byBjYWxsIGNhblNoYXJlKCku
CitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291
cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgJ3Nl
bGYnIiBNVVNUIE5PVCBiZSBhbGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1l
IHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJl
LXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAnc2VsZiciIGlzIGFsbG93
ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly9sb2NhbGhv
c3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0
aCBhbGxvdz0id2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMiIGlzIGFsbG93ZWQgdG8g
Y2FsbCBjYW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0
My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxv
dz0id2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMiIE1VU1QgTk9UIGJlIGFsbG93ZWQg
dG8gY2FsbCBjYW5TaGFyZSgpLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1jYW5TaGFyZS5odHRwcy5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUt
Y2FuU2hhcmUuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTU0MzQ3ODVhMmQyNGI4MzVjYmMzMzU4
NGJlOTMyMTcyZGVmYzZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMuaHRtbApA
QCAtMCwwICsxLDEwOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAg
PHRpdGxlPgorICAgICAgVGVzdCBhbGxvdyBhdHRyaWJ1dGUgd2l0aCAid2ViLXNoYXJlIiBhbmQg
Y2FuU2hhcmUoKSBtZXRob2QKKyAgICA8L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJpbml0aWFsLXNjYWxlPTUsIHdpZHRoPWRldmljZS13aWR0aCIgLz4KKyAgICA8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8
c2NyaXB0PgorICAgICAgdGVzdFJ1bm5lcj8uZHVtcEFzVGV4dCgpOworICAgICAgdGVzdFJ1bm5l
cj8ud2FpdFVudGlsRG9uZSgpOworCisgICAgICBmdW5jdGlvbiB3YWl0Rm9yKHRhcmdldCwgZXZl
bnROYW1lKSB7CisgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAg
ICAgICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgcmVzb2x2ZSwgeyBvbmNl
OiB0cnVlIH0pOworICAgICAgICB9KTsKKyAgICAgIH0KKworICAgICAgd2luZG93LmFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBhc3luYyAoKSA9PiB7CisgICAgICAgIGZvciAoY29uc3QgaWZyYW1l
IG9mIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoImlmcmFtZSIpKSB7CisgICAgICAgICAgY29u
c3QgeyBlbmFibGVkLCBzcmMgfSA9IGlmcmFtZS5kYXRhc2V0OworICAgICAgICAgIGNvbnN0IGlz
QWxsb3dlZCA9IGVuYWJsZWQgPT09ICJ0cnVlIjsKKyAgICAgICAgICBjb25zdCBhY3Rpb24gPSAi
Y2FsbCBjYW5TaGFyZSgpIjsKKyAgICAgICAgICBpZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVz
c2FnZSh7IGFjdGlvbiB9LCAiKiIpOworICAgICAgICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQg
d2FpdEZvcih3aW5kb3csICJtZXNzYWdlIik7CisgICAgICAgICAgY29uc3QgeyBleGNlcHRpb25N
ZXNzYWdlLCBleGNlcHRpb25OYW1lLCByZXN1bHQgfSA9IGRhdGE7CisKKyAgICAgICAgICBjb25z
dCBtc2cgPSBgaWZyYW1lIHNyYzogIiR7aWZyYW1lLnNyY30iIHdpdGggYWxsb3c9IiR7CisgICAg
ICAgICAgICBpZnJhbWUuYWxsb3cKKyAgICAgICAgICB9IiAkeworICAgICAgICAgICAgaXNBbGxv
d2VkID8gImlzIGFsbG93ZWQgdG8iIDogIk1VU1QgTk9UIGJlIGFsbG93ZWQgdG8iCisgICAgICAg
ICAgfSAke2FjdGlvbn0uICR7ZXhjZXB0aW9uTmFtZSA/PyAiIn0gJHtleGNlcHRpb25NZXNzYWdl
ID8/ICIifWA7CisKKyAgICAgICAgICBzd2l0Y2ggKHJlc3VsdCkgeworICAgICAgICAgICAgY2Fz
ZSB0cnVlOgorICAgICAgICAgICAgICBpc0FsbG93ZWQgPyB0ZXN0UGFzc2VkKG1zZykgOiB0ZXN0
RmFpbGVkKG1zZyk7CisgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBmYWxz
ZToKKyAgICAgICAgICAgICAgIWlzQWxsb3dlZCA/IHRlc3RQYXNzZWQobXNnKSA6IHRlc3RGYWls
ZWQobXNnKTsKKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0OgorICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKG1zZyArIGAgLSByZXN1bHQgd2FzOiAke3Jlc3VsdH1gKTsK
KyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
CisgICAgICB9KTsKKyAgICA8L3NjcmlwdD4KKyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8aWZy
YW1lCisgICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAgc3JjPSJodHRwczovL2xvY2Fs
aG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgor
ICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisg
ICAgICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwv
aWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUiCisgICAgICBkYXRh
LWVuYWJsZWQ9InRydWUiCisgICAgICBzcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hh
cmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgor
ICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUiCisgICAgICBkYXRhLWVuYWJsZWQ9
InRydWUiCisgICAgICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwi
CisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUgKiIK
KyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iaHR0cHM6Ly9sb2NhbGhvc3Q6
ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+
PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSAqIgorICAgICAg
ZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAgc3JjPSIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0
bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0i
d2ViLXNoYXJlICdub25lJyIKKyAgICAgIGRhdGEtZW5hYmxlZD0iZmFsc2UiCisgICAgICBzcmM9
Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3Rt
ZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3
ZWItc2hhcmUgJ25vbmUnIgorICAgICAgZGF0YS1lbmFibGVkPSJmYWxzZSIKKyAgICAgIHNyYz0i
Li9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+Cisg
ICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSAnc2VsZiciCisgICAgICBkYXRhLWVu
YWJsZWQ9ImZhbHNlIgorICAgICAgc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJl
L3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAg
ICA8aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlICdzZWxmJyIKKyAgICAgIGRhdGEtZW5h
YmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iLi9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2Uu
aHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFy
ZSBodHRwczovL2xvY2FsaG9zdDo4NDQzIgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAg
ICAgc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFy
ZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBh
bGxvdz0id2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMiCisgICAgICBkYXRhLWVuYWJs
ZWQ9ImZhbHNlIgorICAgICAgc3JjPSIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5o
dG1sIgorICAgID48L2lmcmFtZT4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtc2hh
cmUuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93
ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjAwMDE1YWQwMGY1ZDA3N2RiNjljNmRmYWNhZGY3MWQ4ZTdmNDQzMjAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0
dHJpYnV0ZS1zaGFyZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorQ09OU09M
RSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUnIGNoZWNrIGZhaWxlZCBmb3IgaWZy
YW1lIHdpdGggb3JpZ2luICdodHRwczovL2xvY2FsaG9zdDo4NDQzJyBhbmQgYWxsb3cgYXR0cmli
dXRlICcnLgorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUnIGNoZWNr
IGZhaWxlZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovL2xvY2FsaG9zdDo4NDQzJyBh
bmQgYWxsb3cgYXR0cmlidXRlICd3ZWItc2hhcmUgJ25vbmUnJy4KK0NPTlNPTEUgTUVTU0FHRTog
RmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3aXRoIG9y
aWdpbiAnaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAnd2ViLXNo
YXJlICdub25lJycuCitDT05TT0xFIE1FU1NBR0U6IEZlYXR1cmUgcG9saWN5ICdXZWJTaGFyZScg
Y2hlY2sgZmFpbGVkIGZvciBpZnJhbWUgd2l0aCBvcmlnaW4gJ2h0dHBzOi8vbG9jYWxob3N0Ojg0
NDMnIGFuZCBhbGxvdyBhdHRyaWJ1dGUgJ3dlYi1zaGFyZSAnc2VsZicnLgorQ09OU09MRSBNRVNT
QUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUnIGNoZWNrIGZhaWxlZCBmb3IgaWZyYW1lIHdp
dGggb3JpZ2luICdodHRwczovLzEyNy4wLjAuMTo4NDQzJyBhbmQgYWxsb3cgYXR0cmlidXRlICd3
ZWItc2hhcmUgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MycuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRw
czovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2Fn
ZS5odG1sIiB3aXRoIGFsbG93PSIiIE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgp
LiBOb3RBbGxvd2VkRXJyb3IgVGhpcmQtcGFydHkgaWZyYW1lcyBhcmUgbm90IGFsbG93ZWQgdG8g
Y2FsbCBzaGFyZSgpIHVubGVzcyBleHBsaWNpdGx5IGFsbG93ZWQgdmlhIEZlYXR1cmUtUG9saWN5
ICh3ZWItc2hhcmUpCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAuMTo4NDQzL3dl
YnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSIi
IGlzIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly9s
b2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRt
bCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlIiBpcyBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4KK1BB
U1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vic2hhcmUvcmVzb3VyY2Vz
L3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSIgaXMgYWxs
b3dlZCB0byBjYWxsIHNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9z
dDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRo
IGFsbG93PSJ3ZWItc2hhcmUgKiIgaXMgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkuCitQQVNTIGlm
cmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAuMTo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJz
aGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgKiIgaXMgYWxsb3dl
ZCB0byBjYWxsIHNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4
NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFs
bG93PSJ3ZWItc2hhcmUgJ25vbmUnIiBNVVNUIE5PVCBiZSBhbGxvd2VkIHRvIGNhbGwgc2hhcmUo
KS4gTm90QWxsb3dlZEVycm9yIFRoaXJkLXBhcnR5IGlmcmFtZXMgYXJlIG5vdCBhbGxvd2VkIHRv
IGNhbGwgc2hhcmUoKSB1bmxlc3MgZXhwbGljaXRseSBhbGxvd2VkIHZpYSBGZWF0dXJlLVBvbGlj
eSAod2ViLXNoYXJlKQorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93
ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0i
d2ViLXNoYXJlICdub25lJyIgTVVTVCBOT1QgYmUgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkuIE5v
dEFsbG93ZWRFcnJvciBUaGlyZC1wYXJ0eSBpZnJhbWVzIGFyZSBub3QgYWxsb3dlZCB0byBjYWxs
IHNoYXJlKCkgdW5sZXNzIGV4cGxpY2l0bHkgYWxsb3dlZCB2aWEgRmVhdHVyZS1Qb2xpY3kgKHdl
Yi1zaGFyZSkKK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hh
cmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1z
aGFyZSAnc2VsZiciIE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpLiBOb3RBbGxv
d2VkRXJyb3IgVGhpcmQtcGFydHkgaWZyYW1lcyBhcmUgbm90IGFsbG93ZWQgdG8gY2FsbCBzaGFy
ZSgpIHVubGVzcyBleHBsaWNpdGx5IGFsbG93ZWQgdmlhIEZlYXR1cmUtUG9saWN5ICh3ZWItc2hh
cmUpCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAuMTo4NDQzL3dlYnNoYXJlL3Jl
c291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUg
J3NlbGYnIiBpcyBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0
dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNz
YWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSBodHRwczovL2xvY2FsaG9zdDo4NDQzIiBp
cyBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3
LjAuMC4xOjg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwi
IHdpdGggYWxsb3c9IndlYi1zaGFyZSBodHRwczovL2xvY2FsaG9zdDo4NDQzIiBNVVNUIE5PVCBi
ZSBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4gTm90QWxsb3dlZEVycm9yIFRoaXJkLXBhcnR5IGlm
cmFtZXMgYXJlIG5vdCBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKSB1bmxlc3MgZXhwbGljaXRseSBh
bGxvd2VkIHZpYSBGZWF0dXJlLVBvbGljeSAod2ViLXNoYXJlKQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1zaGFy
ZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1h
bGxvdy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNWI3YzEyNTNjYjRl
NWJmNjlkZDQwYjY3MDg1NmNkYjE1ZTA0YmE4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtc2hhcmUuaHR0
cHMuaHRtbApAQCAtMCwwICsxLDEyMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgPGhl
YWQ+CisgICAgPHRpdGxlPgorICAgICAgVGVzdCBhbGxvdyBhdHRyaWJ1dGUgd2l0aCAid2ViLXNo
YXJlIiBhbmQgc2hhcmUoKSBtZXRob2QKKyAgICA8L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJpbml0aWFsLXNjYWxlPTUsIHdpZHRoPWRldmljZS13aWR0aCIgLz4K
KyAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+CisgICAgPHNjcmlwdD4KKyAgICAgIHRlc3RSdW5uZXI/LmR1bXBBc1RleHQoKTsKKyAgICAg
IHRlc3RSdW5uZXI/LndhaXRVbnRpbERvbmUoKTsKKworICAgICAgZnVuY3Rpb24gd2FpdEZvcih0
YXJnZXQsIGV2ZW50TmFtZSkgeworICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUp
ID0+IHsKKyAgICAgICAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIHJlc29s
dmUsIHsgb25jZTogdHJ1ZSB9KTsKKyAgICAgICAgfSk7CisgICAgICB9CisKKyAgICAgIHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgYXN5bmMgKCkgPT4geworICAgICAgICBmb3IgKGNv
bnN0IGlmcmFtZSBvZiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJpZnJhbWUiKSkgeworICAg
ICAgICAgIGNvbnN0IHsgZW5hYmxlZCwgc3JjIH0gPSBpZnJhbWUuZGF0YXNldDsKKyAgICAgICAg
ICBjb25zdCBpc0FsbG93ZWQgPSBlbmFibGVkID09PSAidHJ1ZSI7CisgICAgICAgICAgY29uc3Qg
YWN0aW9uID0gImNhbGwgc2hhcmUoKSI7CisgICAgICAgICAgaWZyYW1lLmNvbnRlbnRXaW5kb3cu
cG9zdE1lc3NhZ2UoeyBhY3Rpb24gfSwgIioiKTsKKyAgICAgICAgICBjb25zdCB7IGRhdGE6IGNs
aWNrTWVzc2FnZSB9ID0gYXdhaXQgd2FpdEZvcih3aW5kb3csICJtZXNzYWdlIik7CisgICAgICAg
ICAgaWYgKGNsaWNrTWVzc2FnZSAhPT0gImNsaWNrIG1lISIpIHsKKyAgICAgICAgICAgIHRocm93
IG5ldyBFcnJvcigiRXhwZWN0ZWQgYSBjbGljayByZXF1ZXN0OiIgKyBjbGlja01lc3NhZ2UpOwor
ICAgICAgICAgIH0KKyAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoaWZy
YW1lKTsKKyAgICAgICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IHdhaXRGb3Iod2luZG93LCAi
bWVzc2FnZSIpOworICAgICAgICAgIGNvbnN0IHsgZXhjZXB0aW9uTWVzc2FnZSwgZXhjZXB0aW9u
TmFtZSwgcmVzdWx0IH0gPSBkYXRhOworICAgICAgICAgIGNvbnN0IG1zZyA9IGBpZnJhbWUgc3Jj
OiAiJHtpZnJhbWUuc3JjfSIgd2l0aCBhbGxvdz0iJHsKKyAgICAgICAgICAgIGlmcmFtZS5hbGxv
dworICAgICAgICAgIH0iICR7CisgICAgICAgICAgICBpc0FsbG93ZWQgPyAiaXMgYWxsb3dlZCB0
byIgOiAiTVVTVCBOT1QgYmUgYWxsb3dlZCB0byIKKyAgICAgICAgICB9ICR7YWN0aW9ufS4gJHtl
eGNlcHRpb25OYW1lID8/ICIifSAke2V4Y2VwdGlvbk1lc3NhZ2UgPz8gIiJ9YDsKKyAgICAgICAg
ICBzd2l0Y2ggKHJlc3VsdCkgeworICAgICAgICAgICAgY2FzZSAic2hhcmUgY29tcGxldGVkIjoK
KyAgICAgICAgICAgICAgaXNBbGxvd2VkID8gdGVzdFBhc3NlZChtc2cpIDogdGVzdEZhaWxlZCht
c2cpOworICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgInRocmV3IjoKKyAg
ICAgICAgICAgICAgaWYgKAorICAgICAgICAgICAgICAgICFpc0FsbG93ZWQgJiYKKyAgICAgICAg
ICAgICAgICBleGNlcHRpb25OYW1lID09PSAiTm90QWxsb3dlZEVycm9yIiAmJgorICAgICAgICAg
ICAgICAgIGV4Y2VwdGlvbk1lc3NhZ2UuZW5kc1dpdGgoIkZlYXR1cmUtUG9saWN5ICh3ZWItc2hh
cmUpIikKKyAgICAgICAgICAgICAgKSB7CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZChtc2cp
OworICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQobXNn
KTsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRl
ZmF1bHQ6CisgICAgICAgICAgICAgIHRlc3RGYWlsZWQobXNnICsgYCAtIHJlc3VsdCB3YXM6ICR7
cmVzdWx0fWApOworICAgICAgICAgIH0KKyAgICAgICAgICBpZnJhbWUucmVtb3ZlKCk7CisgICAg
ICAgIH0KKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICB9KTsKKyAgICA8
L3NjcmlwdD4KKyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8aWZyYW1lCisgICAgICBkYXRhLWVu
YWJsZWQ9ImZhbHNlIgorICAgICAgc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJl
L3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAg
ICA8aWZyYW1lCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAgICBzcmM9Ii4vcmVzb3Vy
Y2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJh
bWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUiCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisg
ICAgICBzcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNo
YXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAg
IGFsbG93PSJ3ZWItc2hhcmUiCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAgICBzcmM9
Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgor
ICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUgKiIKKyAgICAgIGRhdGEtZW5hYmxl
ZD0idHJ1ZSIKKyAgICAgIHNyYz0iaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNv
dXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlm
cmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSAqIgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVl
IgorICAgICAgc3JjPSIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAg
ID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlICdub25lJyIK
KyAgICAgIGRhdGEtZW5hYmxlZD0iZmFsc2UiCisgICAgICBzcmM9Imh0dHBzOi8vbG9jYWxob3N0
Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAg
PjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUgJ25vbmUnIgor
ICAgICAgZGF0YS1lbmFibGVkPSJmYWxzZSIKKyAgICAgIHNyYz0iLi9yZXNvdXJjZXMvd2Vic2hh
cmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAg
YWxsb3c9IndlYi1zaGFyZSAnc2VsZiciCisgICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAg
ICAgc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFy
ZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBh
bGxvdz0id2ViLXNoYXJlICdzZWxmJyIKKyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAg
IHNyYz0iLi9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJh
bWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSBodHRwczovL2xvY2FsaG9z
dDo4NDQzIgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAgc3JjPSJodHRwczovL2xv
Y2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1s
IgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlIGh0
dHBzOi8vbG9jYWxob3N0Ojg0NDMiCisgICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAg
c3JjPSIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFt
ZT4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IGZhNzVhMmNiODMwYmE5MDZkZTYyYzFiZDI1MTkzMzFjZDYy
NzdjNDQuLjE4NmFhZDAyZDNjZWE3OTQyYzJmMzZmMTllZmNlZDI0ZTJmM2I4NzYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE0MjEsMyAr
MTQyMSw3IEBAIHdlYmtpdC5vcmcvYi8yMjk4Nzcgd2VicnRjL2RhdGFjaGFubmVsL2dldFN0YXRz
LW5vLXByZmx4LXJlbW90ZS1jYW5kaWRhdGUuaHRtbCBbCiB3ZWJraXQub3JnL2IvMjMwMDU1IFsg
QmlnU3VyIF0gd2VicnRjL2RhdGFjaGFubmVsL2RhdGFjaGFubmVsLXBhZ2UtY2FjaGUtc2VuZC5o
dG1sIFsgUGFzcyBUaW1lb3V0IF0KIAogd2Via2l0Lm9yZy9iLzIyODIxMSBjc3MyLjEvMjAxMTAz
MjMvcmVwbGFjZWQtaW50cmluc2ljLTAwMy5odG0gWyBQYXNzIEZhaWx1cmUgXQord2Via2l0Lm9y
Zy9iLzIyODIxMSBjc3MyLjEvMjAxMTAzMjMvcmVwbGFjZWQtaW50cmluc2ljLTAwMy5odG0gWyBQ
YXNzIEZhaWx1cmUgXQorCisjIHdlYmtpdC5vcmcvYi8yMTQ0NDggV2ViIFNoYXJlIEFQSSBpcyBu
b3QgaW1wbGVtZW50ZWQgZm9yIG1hYy13azEKK2h0dHAvdGVzdHMvd2Vic2hhcmUvIFsgU2tpcCBd
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDljMTQyMzA5
OGZiYmJmZDM2MWY0YjY1ZTMwMTNjMzM4MzRlNDA2MDAuLmFhZDVkNzRlMGYwMmY2NDkzYWJjZjJj
NTM0YzI2ZTEzZmZhYjk4N2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9U
ZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0
YXRpb25zCkBAIC0xNDcsNyArMTQ3LDcgQEAgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvcmVwb3J0LWNyb3NzLW9yaWdpbi1uby1jb29raWVzLnB5IFsgU2sKIGh0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC1jcm9zcy1vcmlnaW4t
bm8tY29va2llcy13aGVuLXByaXZhdGUtYnJvd3NpbmctZW5hYmxlZC5weSBbIFNraXAgXSAKIGh0
dHAvdGVzdHMvbmF2aWdhdGlvbi9waW5nLWF0dHJpYnV0ZS9hcmVhLWNyb3NzLW9yaWdpbi5odG1s
IFsgU2tpcCBdIAogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BpbmctYXR0cmlidXRlL2FuY2hvci1j
cm9zcy1vcmlnaW4uaHRtbCBbIFNraXAgXSAKLWh0dHAvdGVzdHMvcmVmZXJyZXItcG9saWN5L25v
LXJlZmVycmVyLXdoZW4tZG93bmdyYWRlLyBbIFNraXAgXSAKK2h0dHAvdGVzdHMvcmVmZXJyZXIt
cG9saWN5L25vLXJlZmVycmVyLXdoZW4tZG93bmdyYWRlLyBbIFNraXAgXQogaHR0cC90ZXN0cy9y
ZWZlcnJlci1wb2xpY3kvdW5zYWZlLXVybC9jcm9zcy1vcmlnaW4taHR0cC1odHRwLmh0bWwgWyBT
a2lwIF0gCiBodHRwL3Rlc3RzL3JlZmVycmVyLXBvbGljeS91bnNhZmUtdXJsL2Nyb3NzLW9yaWdp
bi1odHRwLmh0dHBzLmh0bWwgWyBTa2lwIF0gCiBodHRwL3Rlc3RzL3JlZmVycmVyLXBvbGljeS1p
bWcvbm8tcmVmZXJyZXItd2hlbi1kb3duZ3JhZGUvIFsgU2tpcCBdIApAQCAtNDY5MCwzICs0Njkw
LDYgQEAgd2Via2l0Lm9yZy9iLzIyOTM3OSBmYXN0L3Zpc3VhbC12aWV3cG9ydC9yZXNpemUtZXZl
bnQtZmlyZWQtd2luZG93LXJlc2l6ZWQuaHRtbAogd2Via2l0Lm9yZy9iLzIxNTMxOCBmYXN0L3Rl
eHQvendqLWxpZ2F0dXJlLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9i
LzIyOTU5NCBqcy9kZmctaW50MTZhcnJheS5odG1sIFsgUGFzcyBDcmFzaCBdCisKKyMgd2Via2l0
Lm9yZy9iLzIxNDQ0OCBXZWIgU2hhcmUgQVBJIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgV2lu
ZG93cyBwb3J0CitodHRwL3Rlc3RzL3dlYnNoYXJlLyBbIFNraXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437703</attachid>
            <date>2021-09-08 20:41:23 -0700</date>
            <delta_ts>2021-09-14 19:25:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214448-20210909134122.patch</filename>
            <type>text/plain</type>
            <size>26522</size>
            <attacher name="Marcos Caceres">marcos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjVkMzdiMjQxZDNmYTFl
MzdmNzJkMjE5OTcyMDg1N2JhMGEyZTc4YS4uYzAwNTkzZjczYWZhMmNmMjEwNjYzNTNlNjc2ZjAx
YzJlNzNlZmVlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA5LTA4ICBNYXJj
b3MgQ2FjZXJlcyAgPG1hcmNvc0BtYXJjb3NjLmNvbT4KKworICAgICAgICBXZWIgU2hhcmUgcGVy
bWlzc2lvbiBwb2xpY3kgIndlYi1zaGFyZSIgYW5kICJzZWxmIiBhcyB0aGUgYWxsb3dsaXN0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ0NDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEZXZpbiBSb3Vzc28uCisKKyAgICAgICAgVGVzdHM6IGh0dHAv
dGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLmh0
bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0
cmlidXRlLXNoYXJlLmh0dHBzLmh0bWwKKworICAgICAgICAqIGh0bWwvRmVhdHVyZVBvbGljeS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpwb2xpY3lUeXBlTmFtZSk6CisgICAgICAgIChXZWJDb3Jl
OjpGZWF0dXJlUG9saWN5OjpwYXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpGZWF0dXJlUG9saWN5
OjphbGxvd3MgY29uc3QpOgorICAgICAgICAqIGh0bWwvRmVhdHVyZVBvbGljeS5oOgorICAgICAg
ICAqIHBhZ2UvTmF2aWdhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvcjo6Y2Fu
U2hhcmUpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yOjpzaGFyZSk6CisKIDIwMjEtMDkt
MDggIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAg
S2V5Ym9hcmRFdmVudCBzaG91bGQgc2V0RGVmYXVsdEhhbmRsZWQgaWYgRXZlbnRIYW5kbGVyOjpz
dGFydEtleWJvYXJkU2Nyb2xsaW5nIHJldHVybnMgdHJ1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmVhdHVy
ZVBvbGljeS5jcHAKaW5kZXggMGY0MjE2M2QzZWQwYmQwYjZmNzhmNmNlZGFjNmQ0NDAwZjgxMWVm
Ny4uNmU1NmNjMjk0ZmExMWI1M2M3MTAzMmZhYzg5MTYxN2I2NjNjZTg2MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0ZlYXR1cmVQb2xpY3kuY3BwCkBAIC01Niw2ICs1Niw4IEBAIHN0YXRpYyBjb25zdCBj
aGFyKiBwb2xpY3lUeXBlTmFtZShGZWF0dXJlUG9saWN5OjpUeXBlIHR5cGUpCiAgICAgICAgIHJl
dHVybiAiU3luY1hIUiI7CiAgICAgY2FzZSBGZWF0dXJlUG9saWN5OjpUeXBlOjpGdWxsc2NyZWVu
OgogICAgICAgICByZXR1cm4gIkZ1bGxzY3JlZW4iOworICAgIGNhc2UgRmVhdHVyZVBvbGljeTo6
VHlwZTo6V2ViU2hhcmU6CisgICAgICAgIHJldHVybiAiV2ViU2hhcmUiOwogI2lmIEVOQUJMRShE
RVZJQ0VfT1JJRU5UQVRJT04pCiAgICAgY2FzZSBGZWF0dXJlUG9saWN5OjpUeXBlOjpHeXJvc2Nv
cGU6CiAgICAgICAgIHJldHVybiAiR3lyb3Njb3BlIjsKQEAgLTE3NSw2ICsxNzcsNyBAQCBGZWF0
dXJlUG9saWN5IEZlYXR1cmVQb2xpY3k6OnBhcnNlKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3Qg
SFRNTElGcmFtZUVsZW1lbnQmCiAgICAgYm9vbCBpc1BheW1lbnRJbml0aWFsaXplZCA9IGZhbHNl
OwogICAgIGJvb2wgaXNTeW5jWEhSSW5pdGlhbGl6ZWQgPSBmYWxzZTsKICAgICBib29sIGlzRnVs
bHNjcmVlbkluaXRpYWxpemVkID0gZmFsc2U7CisgICAgYm9vbCBpc1dlYlNoYXJlSW5pdGlhbGl6
ZWQgPSBmYWxzZTsKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQogICAgIGJvb2wgaXNH
eXJvc2NvcGVJbml0aWFsaXplZCA9IGZhbHNlOwogICAgIGJvb2wgaXNBY2NlbGVyb21ldGVySW5p
dGlhbGl6ZWQgPSBmYWxzZTsKQEAgLTIyNSw2ICsyMjgsMTEgQEAgRmVhdHVyZVBvbGljeSBGZWF0
dXJlUG9saWN5OjpwYXJzZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IEhUTUxJRnJhbWVFbGVt
ZW50JgogICAgICAgICAgICAgdXBkYXRlTGlzdChkb2N1bWVudCwgcG9saWN5Lm1fZnVsbHNjcmVl
blJ1bGUsIGl0ZW0uc3Vic3RyaW5nKDExKSk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAg
ICAgfQorICAgICAgICBpZiAoaXRlbS5zdGFydHNXaXRoKCJ3ZWItc2hhcmUiKSkgeworICAgICAg
ICAgICAgaXNXZWJTaGFyZUluaXRpYWxpemVkID0gdHJ1ZTsKKyAgICAgICAgICAgIHVwZGF0ZUxp
c3QoZG9jdW1lbnQsIHBvbGljeS5tX3dlYlNoYXJlUnVsZSwgaXRlbS5zdWJzdHJpbmcoMTApKTsK
KyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CiAjaWYgRU5BQkxFKERFVklDRV9PUklF
TlRBVElPTikKICAgICAgICAgaWYgKGl0ZW0uc3RhcnRzV2l0aCgiZ3lyb3Njb3BlIikpIHsKICAg
ICAgICAgICAgIGlzR3lyb3Njb3BlSW5pdGlhbGl6ZWQgPSB0cnVlOwpAQCAtMjY0LDYgKzI3Miw4
IEBAIEZlYXR1cmVQb2xpY3kgRmVhdHVyZVBvbGljeTo6cGFyc2UoRG9jdW1lbnQmIGRvY3VtZW50
LCBjb25zdCBIVE1MSUZyYW1lRWxlbWVudCYKICAgICAgICAgcG9saWN5Lm1fZ2VvbG9jYXRpb25S
dWxlLmFsbG93ZWRMaXN0LmFkZChkb2N1bWVudC5zZWN1cml0eU9yaWdpbigpLmRhdGEoKSk7CiAg
ICAgaWYgKCFpc1BheW1lbnRJbml0aWFsaXplZCkKICAgICAgICAgcG9saWN5Lm1fcGF5bWVudFJ1
bGUuYWxsb3dlZExpc3QuYWRkKGRvY3VtZW50LnNlY3VyaXR5T3JpZ2luKCkuZGF0YSgpKTsKKyAg
ICBpZiAoIWlzV2ViU2hhcmVJbml0aWFsaXplZCkKKyAgICAgICAgcG9saWN5Lm1fd2ViU2hhcmVS
dWxlLmFsbG93ZWRMaXN0LmFkZChkb2N1bWVudC5zZWN1cml0eU9yaWdpbigpLmRhdGEoKSk7CiAj
aWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKICAgICBpZiAoIWlzR3lyb3Njb3BlSW5pdGlh
bGl6ZWQpCiAgICAgICAgIHBvbGljeS5tX2d5cm9zY29wZVJ1bGUuYWxsb3dlZExpc3QuYWRkKGRv
Y3VtZW50LnNlY3VyaXR5T3JpZ2luKCkuZGF0YSgpKTsKQEAgLTMxNyw2ICszMjcsOCBAQCBib29s
IEZlYXR1cmVQb2xpY3k6OmFsbG93cyhUeXBlIHR5cGUsIGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0
YSYgb3JpZ2luKSBjb25zdAogICAgICAgICByZXR1cm4gaXNBbGxvd2VkQnlGZWF0dXJlUG9saWN5
KG1fc3luY1hIUlJ1bGUsIG9yaWdpbik7CiAgICAgY2FzZSBUeXBlOjpGdWxsc2NyZWVuOgogICAg
ICAgICByZXR1cm4gaXNBbGxvd2VkQnlGZWF0dXJlUG9saWN5KG1fZnVsbHNjcmVlblJ1bGUsIG9y
aWdpbik7CisgICAgY2FzZSBUeXBlOjpXZWJTaGFyZToKKyAgICAgICAgcmV0dXJuIGlzQWxsb3dl
ZEJ5RmVhdHVyZVBvbGljeShtX3dlYlNoYXJlUnVsZSwgb3JpZ2luKTsKICNpZiBFTkFCTEUoREVW
SUNFX09SSUVOVEFUSU9OKQogICAgIGNhc2UgVHlwZTo6R3lyb3Njb3BlOgogICAgICAgICByZXR1
cm4gaXNBbGxvd2VkQnlGZWF0dXJlUG9saWN5KG1fZ3lyb3Njb3BlUnVsZSwgb3JpZ2luKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmVhdHVyZVBvbGljeS5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5LmgKaW5kZXggNzllNjZmYjE2NDFiMjQxNmJiMzk3NmI3
NmExNDhhOGExMGZkYWY3NS4uZTY0MGY4YTVkNzIzZGUwMWU5YTY0YjUxMDY2NmI5M2E2Nzk3YTc5
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5LmgKQEAgLTQ3LDYgKzQ3LDcgQEAgcHVi
bGljOgogICAgICAgICBQYXltZW50LAogICAgICAgICBTeW5jWEhSLAogICAgICAgICBGdWxsc2Ny
ZWVuLAorICAgICAgICBXZWJTaGFyZSwKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQog
ICAgICAgICBHeXJvc2NvcGUsCiAgICAgICAgIEFjY2VsZXJvbWV0ZXIsCkBAIC03Myw2ICs3NCw4
IEBAIHByaXZhdGU6CiAgICAgQWxsb3dSdWxlIG1fcGF5bWVudFJ1bGU7CiAgICAgQWxsb3dSdWxl
IG1fc3luY1hIUlJ1bGU7CiAgICAgQWxsb3dSdWxlIG1fZnVsbHNjcmVlblJ1bGU7CisgICAgQWxs
b3dSdWxlIG1fd2ViU2hhcmVSdWxlOworCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikK
ICAgICBBbGxvd1J1bGUgbV9neXJvc2NvcGVSdWxlOwogICAgIEFsbG93UnVsZSBtX2FjY2VsZXJv
bWV0ZXJSdWxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3BwCmluZGV4IGMwYTBjMThkNzQ4MGEx
NjRiMGJlOTA4YWUxMTdiZDc0MjI1Mjk4YjEuLmE0MGFlYjBkZmUwMDU3YjBlMzEzMDIzNmM1MTk2
Nzk1NDY3N2E5ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAKQEAgLTMwLDYgKzMwLDcg
QEAKICNpbmNsdWRlICJET01QbHVnaW4uaCIKICNpbmNsdWRlICJET01QbHVnaW5BcnJheS5oIgog
I2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRmVhdHVyZVBvbGljeS5oIgogI2luY2x1
ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKICNpbmNsdWRlICJGcmFtZUxv
YWRlckNsaWVudC5oIgpAQCAtMTMwLDYgKzEzMSw5IEBAIGJvb2wgTmF2aWdhdG9yOjpjYW5TaGFy
ZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFNoYXJlRGF0YSYgZGF0YSkKICAgICBpZiAoIWZy
YW1lIHx8ICFmcmFtZS0+cGFnZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAo
IWlzRmVhdHVyZVBvbGljeUFsbG93ZWRCeURvY3VtZW50QW5kQWxsT3duZXJzKEZlYXR1cmVQb2xp
Y3k6OlR5cGU6OldlYlNoYXJlLCBkb2N1bWVudCwgTG9nRmVhdHVyZVBvbGljeUZhaWx1cmU6Olll
cykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIGJvb2wgaGFzU2hhcmVhYmxlVGl0bGVP
clRleHQgPSAhZGF0YS50aXRsZS5pc051bGwoKSB8fCAhZGF0YS50ZXh0LmlzTnVsbCgpOwogICAg
IGJvb2wgaGFzU2hhcmVhYmxlVVJMID0gISFzaGFyZWFibGVVUkxGb3JTaGFyZURhdGEoZG9jdW1l
bnQsIGRhdGEpOwogI2lmIEVOQUJMRShGSUxFX1NIQVJFKQpAQCAtMTQzLDYgKzE0NywxMSBAQCBi
b29sIE5hdmlnYXRvcjo6Y2FuU2hhcmUoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTaGFyZURh
dGEmIGRhdGEpCiAKIHZvaWQgTmF2aWdhdG9yOjpzaGFyZShEb2N1bWVudCYgZG9jdW1lbnQsIGNv
bnN0IFNoYXJlRGF0YSYgZGF0YSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogewor
ICAgIGlmICghaXNGZWF0dXJlUG9saWN5QWxsb3dlZEJ5RG9jdW1lbnRBbmRBbGxPd25lcnMoRmVh
dHVyZVBvbGljeTo6VHlwZTo6V2ViU2hhcmUsIGRvY3VtZW50LCBMb2dGZWF0dXJlUG9saWN5RmFp
bHVyZTo6WWVzKSkgeworICAgICAgICBwcm9taXNlLT5yZWplY3QoTm90QWxsb3dlZEVycm9yLCAi
VGhpcmQtcGFydHkgaWZyYW1lcyBhcmUgbm90IGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpIHVubGVz
cyBleHBsaWNpdGx5IGFsbG93ZWQgdmlhIEZlYXR1cmUtUG9saWN5ICh3ZWItc2hhcmUpIl9zKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmIChtX2hhc1BlbmRpbmdTaGFyZSkgewog
ICAgICAgICBwcm9taXNlLT5yZWplY3QoTm90QWxsb3dlZEVycm9yKTsKICAgICAgICAgcmV0dXJu
OwpAQCAtMTY5LDcgKzE3OCw3IEBAIHZvaWQgTmF2aWdhdG9yOjpzaGFyZShEb2N1bWVudCYgZG9j
dW1lbnQsIGNvbnN0IFNoYXJlRGF0YSYgZGF0YSwgUmVmPERlZmVycmVkUHJvCiAgICAgaWYgKGRv
Y3VtZW50LnNldHRpbmdzKCkud2ViU2hhcmVGaWxlQVBJRW5hYmxlZCgpICYmICFkYXRhLmZpbGVz
LmlzRW1wdHkoKSkgewogICAgICAgICBpZiAobV9sb2FkZXIpCiAgICAgICAgICAgICBtX2xvYWRl
ci0+Y2FuY2VsKCk7Ci0gICAgICAgIAorCiAgICAgICAgIG1fbG9hZGVyID0gU2hhcmVEYXRhUmVh
ZGVyOjpjcmVhdGUoW3RoaXMsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSAoRXhjZXB0aW9u
T3I8U2hhcmVEYXRhV2l0aFBhcnNlZFVSTCY+IHJlYWREYXRhKSBtdXRhYmxlIHsKICAgICAgICAg
ICAgIHNob3dTaGFyZURhdGEocmVhZERhdGEsIFdURk1vdmUocHJvbWlzZSkpOwogICAgICAgICB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCAzMDUxMDZhNjU5ZmUzYmUzMmFjNjBjOTFiNzU1MDcxYWQ4YTVkNzcyLi44Yjdm
ZmI4YTY4MGE3ZDFmOGQzOGYxOTBjOGEzZGEyMzk1ZWZjMjg2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMjEtMDktMDggIE1hcmNvcyBDYWNlcmVzICA8bWFyY29zQG1hcmNvc2MuY29tPgorCisg
ICAgICAgIFdlYiBTaGFyZSBwZXJtaXNzaW9uIHBvbGljeSAid2ViLXNoYXJlIiBhbmQgInNlbGYi
IGFzIHRoZSBhbGxvd2xpc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxNDQ0OAorCisgICAgICAgIFJldmlld2VkIGJ5IERldmluIFJvdXNzby4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNz
YWdlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUt
YWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2FuU2hh
cmUuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJz
aGFyZS1hbGxvdy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1zaGFy
ZS5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBl
Y3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIw
MjEtMDktMDggIEFyY2FkeSBHb2xkbWludHMtT3Jsb3YgIDxhZ29sZG1pbnRzQGlnYWxpYS5jb20+
CiAKICAgICAgICAgW0dMSUJdIFVucmV2aWV3ZWQgdGVzdCBnYXJkZW5pbmcuIFVwZGF0ZSBzb21l
IHRlc3QgYmFzZWxpbmVzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
aGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMmUxZTFkNWIwNmU4MGRiNzQ4MGYyNDZmMDk3YjVjZGMzYTE0ZDFkYQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUvcmVzb3VyY2VzL3dl
YnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwKQEAgLTAsMCArMSw2NCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzxzdHlsZT4KKyAgaHRtbCB7CisgICAgaGVpZ2h0
OiAxMDAlOworICB9CisgIGJvZHkgeworICAgIGRpc3BsYXk6IGdyaWQ7CisgIH0KKyAgYnV0dG9u
IHsKKyAgICBoZWlnaHQ6IDEwMHZoOworICAgIHdpZHRoOiAxMDAlOworICB9Cis8L3N0eWxlPgor
PGJvZHk+CisgIDxidXR0b24gaWQ9InNoYXJlLWJ1dHRvbiI+U0hBUkUhPC9idXR0b24+CisgIDxz
Y3JpcHQ+CisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoCisgICAgICAibWVzc2FnZSIsCisg
ICAgICBhc3luYyAoZXZlbnQpID0+IHsKKyAgICAgICAgY29uc3Qgc2hhcmVCdXR0b24gPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic2hhcmUtYnV0dG9uIik7CisgICAgICAgIGNvbnN0IHsgYWN0
aW9uIH0gPSBldmVudC5kYXRhOworICAgICAgICBsZXQgcmVzdWx0ID0gbnVsbDsKKyAgICAgICAg
bGV0IGV4Y2VwdGlvbk1lc3NhZ2U7CisgICAgICAgIGxldCBleGNlcHRpb25OYW1lOworICAgICAg
ICBzd2l0Y2ggKGFjdGlvbikgeworICAgICAgICAgIGNhc2UgImNhbGwgY2FuU2hhcmUoKSI6Cisg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICByZXN1bHQgPSBuYXZpZ2F0b3IuY2FuU2hh
cmUoeyB0ZXh0OiAic29tZSB0ZXh0IiB9KTsKKyAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAg
ICAgICAgICAgICAgZXhjZXB0aW9uTWVzc2FnZSA9IGUubWVzc2FnZTsKKyAgICAgICAgICAgICAg
ZXhjZXB0aW9uTmFtZSA9IGUubmFtZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgIGNhc2UgImNhbGwgc2hhcmUoKSI6CisgICAgICAgICAgICBhd2FpdCB1c2Vy
QWN0aXZhdGlvbkZyb21QYXJlbnQoc2hhcmVCdXR0b24sIGV2ZW50KTsKKyAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgIGF3YWl0IG5hdmlnYXRvci5zaGFyZSh7IHRleHQ6ICJzb21lIHRl
eHQiIH0pOworICAgICAgICAgICAgICByZXN1bHQgPSAic2hhcmUgY29tcGxldGVkIjsKKyAgICAg
ICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgICAgcmVzdWx0ID0gInRocmV3IjsKKyAg
ICAgICAgICAgICAgZXhjZXB0aW9uTWVzc2FnZSA9IGUubWVzc2FnZTsKKyAgICAgICAgICAgICAg
ZXhjZXB0aW9uTmFtZSA9IGUubmFtZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25v
d24gYWN0aW9uOiAke2FjdGlvbn1gKTsKKyAgICAgICAgfQorICAgICAgICBldmVudC5zb3VyY2Uu
cG9zdE1lc3NhZ2UoCisgICAgICAgICAgeyBhY3Rpb24sIHJlc3VsdCwgZXhjZXB0aW9uTWVzc2Fn
ZSwgZXhjZXB0aW9uTmFtZSB9LAorICAgICAgICAgIGV2ZW50Lm9yaWdpbgorICAgICAgICApOwor
ICAgICAgfSwKKyAgICAgIHsgb25jZTogdHJ1ZSB9CisgICAgKTsKKworICAgIGZ1bmN0aW9uIHVz
ZXJBY3RpdmF0aW9uRnJvbVBhcmVudChzaGFyZUJ1dHRvbiwgZXZlbnQpIHsKKyAgICAgIHJldHVy
biBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgICBzaGFyZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIHJlc29sdmUsIHsgb25jZTogdHJ1ZSB9KTsKKyAgICAgICAgZXZl
bnQuc291cmNlLnBvc3RNZXNzYWdlKCJjbGljayBtZSEiLCBldmVudC5vcmlnaW4pOworICAgICAg
fSk7CisgICAgfQorICA8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hh
cmUtYWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40MWRmNzNhNDBiNjlkNjM4NmZmYjU4ZmFkMjM2OGU5MDUwMjQ4MWNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRy
aWJ1dGUtY2FuU2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTggQEAKK0NPTlNP
TEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9yIGlm
cmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MycgYW5kIGFsbG93IGF0dHJp
YnV0ZSAnJy4KK0NPTlNPTEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVj
ayBmYWlsZWQgZm9yIGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0Mycg
YW5kIGFsbG93IGF0dHJpYnV0ZSAnd2ViLXNoYXJlICdub25lJycuCitDT05TT0xFIE1FU1NBR0U6
IEZlYXR1cmUgcG9saWN5ICdXZWJTaGFyZScgY2hlY2sgZmFpbGVkIGZvciBpZnJhbWUgd2l0aCBv
cmlnaW4gJ2h0dHBzOi8vMTI3LjAuMC4xOjg0NDMnIGFuZCBhbGxvdyBhdHRyaWJ1dGUgJ3dlYi1z
aGFyZSAnbm9uZScnLgorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUn
IGNoZWNrIGZhaWxlZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovL2xvY2FsaG9zdDo4
NDQzJyBhbmQgYWxsb3cgYXR0cmlidXRlICd3ZWItc2hhcmUgJ3NlbGYnJy4KK0NPTlNPTEUgTUVT
U0FHRTogRmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3
aXRoIG9yaWdpbiAnaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAn
d2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMnLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0
cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3Nh
Z2UuaHRtbCIgd2l0aCBhbGxvdz0iIiBNVVNUIE5PVCBiZSBhbGxvd2VkIHRvIGNhbGwgY2FuU2hh
cmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vic2hhcmUv
cmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IiIgaXMgYWxs
b3dlZCB0byBjYWxsIGNhblNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovL2xvY2Fs
aG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3
aXRoIGFsbG93PSJ3ZWItc2hhcmUiIGlzIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFT
UyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMv
d2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlIiBpcyBhbGxv
d2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxo
b3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdp
dGggYWxsb3c9IndlYi1zaGFyZSAqIiBpcyBhbGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BB
U1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vic2hhcmUvcmVzb3VyY2Vz
L3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAqIiBpcyBh
bGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9j
YWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwi
IHdpdGggYWxsb3c9IndlYi1zaGFyZSAnbm9uZSciIE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2Fs
bCBjYW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93
ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0i
d2ViLXNoYXJlICdub25lJyIgTVVTVCBOT1QgYmUgYWxsb3dlZCB0byBjYWxsIGNhblNoYXJlKCku
CitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291
cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgJ3Nl
bGYnIiBNVVNUIE5PVCBiZSBhbGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1l
IHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJl
LXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAnc2VsZiciIGlzIGFsbG93
ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly9sb2NhbGhv
c3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0
aCBhbGxvdz0id2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMiIGlzIGFsbG93ZWQgdG8g
Y2FsbCBjYW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0
My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxv
dz0id2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMiIE1VU1QgTk9UIGJlIGFsbG93ZWQg
dG8gY2FsbCBjYW5TaGFyZSgpLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1jYW5TaGFyZS5odHRwcy5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUt
Y2FuU2hhcmUuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTU0MzQ3ODVhMmQyNGI4MzVjYmMzMzU4
NGJlOTMyMTcyZGVmYzZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMuaHRtbApA
QCAtMCwwICsxLDEwOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAg
PHRpdGxlPgorICAgICAgVGVzdCBhbGxvdyBhdHRyaWJ1dGUgd2l0aCAid2ViLXNoYXJlIiBhbmQg
Y2FuU2hhcmUoKSBtZXRob2QKKyAgICA8L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJpbml0aWFsLXNjYWxlPTUsIHdpZHRoPWRldmljZS13aWR0aCIgLz4KKyAgICA8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8
c2NyaXB0PgorICAgICAgdGVzdFJ1bm5lcj8uZHVtcEFzVGV4dCgpOworICAgICAgdGVzdFJ1bm5l
cj8ud2FpdFVudGlsRG9uZSgpOworCisgICAgICBmdW5jdGlvbiB3YWl0Rm9yKHRhcmdldCwgZXZl
bnROYW1lKSB7CisgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAg
ICAgICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgcmVzb2x2ZSwgeyBvbmNl
OiB0cnVlIH0pOworICAgICAgICB9KTsKKyAgICAgIH0KKworICAgICAgd2luZG93LmFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBhc3luYyAoKSA9PiB7CisgICAgICAgIGZvciAoY29uc3QgaWZyYW1l
IG9mIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoImlmcmFtZSIpKSB7CisgICAgICAgICAgY29u
c3QgeyBlbmFibGVkLCBzcmMgfSA9IGlmcmFtZS5kYXRhc2V0OworICAgICAgICAgIGNvbnN0IGlz
QWxsb3dlZCA9IGVuYWJsZWQgPT09ICJ0cnVlIjsKKyAgICAgICAgICBjb25zdCBhY3Rpb24gPSAi
Y2FsbCBjYW5TaGFyZSgpIjsKKyAgICAgICAgICBpZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVz
c2FnZSh7IGFjdGlvbiB9LCAiKiIpOworICAgICAgICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQg
d2FpdEZvcih3aW5kb3csICJtZXNzYWdlIik7CisgICAgICAgICAgY29uc3QgeyBleGNlcHRpb25N
ZXNzYWdlLCBleGNlcHRpb25OYW1lLCByZXN1bHQgfSA9IGRhdGE7CisKKyAgICAgICAgICBjb25z
dCBtc2cgPSBgaWZyYW1lIHNyYzogIiR7aWZyYW1lLnNyY30iIHdpdGggYWxsb3c9IiR7CisgICAg
ICAgICAgICBpZnJhbWUuYWxsb3cKKyAgICAgICAgICB9IiAkeworICAgICAgICAgICAgaXNBbGxv
d2VkID8gImlzIGFsbG93ZWQgdG8iIDogIk1VU1QgTk9UIGJlIGFsbG93ZWQgdG8iCisgICAgICAg
ICAgfSAke2FjdGlvbn0uICR7ZXhjZXB0aW9uTmFtZSA/PyAiIn0gJHtleGNlcHRpb25NZXNzYWdl
ID8/ICIifWA7CisKKyAgICAgICAgICBzd2l0Y2ggKHJlc3VsdCkgeworICAgICAgICAgICAgY2Fz
ZSB0cnVlOgorICAgICAgICAgICAgICBpc0FsbG93ZWQgPyB0ZXN0UGFzc2VkKG1zZykgOiB0ZXN0
RmFpbGVkKG1zZyk7CisgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBmYWxz
ZToKKyAgICAgICAgICAgICAgIWlzQWxsb3dlZCA/IHRlc3RQYXNzZWQobXNnKSA6IHRlc3RGYWls
ZWQobXNnKTsKKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0OgorICAg
ICAgICAgICAgICB0ZXN0RmFpbGVkKG1zZyArIGAgLSByZXN1bHQgd2FzOiAke3Jlc3VsdH1gKTsK
KyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
CisgICAgICB9KTsKKyAgICA8L3NjcmlwdD4KKyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8aWZy
YW1lCisgICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAgc3JjPSJodHRwczovL2xvY2Fs
aG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgor
ICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisg
ICAgICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwv
aWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUiCisgICAgICBkYXRh
LWVuYWJsZWQ9InRydWUiCisgICAgICBzcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hh
cmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgor
ICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUiCisgICAgICBkYXRhLWVuYWJsZWQ9
InRydWUiCisgICAgICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwi
CisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUgKiIK
KyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iaHR0cHM6Ly9sb2NhbGhvc3Q6
ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+
PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSAqIgorICAgICAg
ZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAgc3JjPSIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0
bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0i
d2ViLXNoYXJlICdub25lJyIKKyAgICAgIGRhdGEtZW5hYmxlZD0iZmFsc2UiCisgICAgICBzcmM9
Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3Rt
ZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3
ZWItc2hhcmUgJ25vbmUnIgorICAgICAgZGF0YS1lbmFibGVkPSJmYWxzZSIKKyAgICAgIHNyYz0i
Li9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+Cisg
ICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSAnc2VsZiciCisgICAgICBkYXRhLWVu
YWJsZWQ9ImZhbHNlIgorICAgICAgc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJl
L3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAg
ICA8aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlICdzZWxmJyIKKyAgICAgIGRhdGEtZW5h
YmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iLi9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2Uu
aHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFy
ZSBodHRwczovL2xvY2FsaG9zdDo4NDQzIgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAg
ICAgc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFy
ZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBh
bGxvdz0id2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMiCisgICAgICBkYXRhLWVuYWJs
ZWQ9ImZhbHNlIgorICAgICAgc3JjPSIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5o
dG1sIgorICAgID48L2lmcmFtZT4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtc2hh
cmUuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93
ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjAwMDE1YWQwMGY1ZDA3N2RiNjljNmRmYWNhZGY3MWQ4ZTdmNDQzMjAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0
dHJpYnV0ZS1zaGFyZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorQ09OU09M
RSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUnIGNoZWNrIGZhaWxlZCBmb3IgaWZy
YW1lIHdpdGggb3JpZ2luICdodHRwczovL2xvY2FsaG9zdDo4NDQzJyBhbmQgYWxsb3cgYXR0cmli
dXRlICcnLgorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUnIGNoZWNr
IGZhaWxlZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovL2xvY2FsaG9zdDo4NDQzJyBh
bmQgYWxsb3cgYXR0cmlidXRlICd3ZWItc2hhcmUgJ25vbmUnJy4KK0NPTlNPTEUgTUVTU0FHRTog
RmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3aXRoIG9y
aWdpbiAnaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAnd2ViLXNo
YXJlICdub25lJycuCitDT05TT0xFIE1FU1NBR0U6IEZlYXR1cmUgcG9saWN5ICdXZWJTaGFyZScg
Y2hlY2sgZmFpbGVkIGZvciBpZnJhbWUgd2l0aCBvcmlnaW4gJ2h0dHBzOi8vbG9jYWxob3N0Ojg0
NDMnIGFuZCBhbGxvdyBhdHRyaWJ1dGUgJ3dlYi1zaGFyZSAnc2VsZicnLgorQ09OU09MRSBNRVNT
QUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUnIGNoZWNrIGZhaWxlZCBmb3IgaWZyYW1lIHdp
dGggb3JpZ2luICdodHRwczovLzEyNy4wLjAuMTo4NDQzJyBhbmQgYWxsb3cgYXR0cmlidXRlICd3
ZWItc2hhcmUgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MycuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRw
czovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2Fn
ZS5odG1sIiB3aXRoIGFsbG93PSIiIE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgp
LiBOb3RBbGxvd2VkRXJyb3IgVGhpcmQtcGFydHkgaWZyYW1lcyBhcmUgbm90IGFsbG93ZWQgdG8g
Y2FsbCBzaGFyZSgpIHVubGVzcyBleHBsaWNpdGx5IGFsbG93ZWQgdmlhIEZlYXR1cmUtUG9saWN5
ICh3ZWItc2hhcmUpCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAuMTo4NDQzL3dl
YnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSIi
IGlzIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly9s
b2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRt
bCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlIiBpcyBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4KK1BB
U1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vic2hhcmUvcmVzb3VyY2Vz
L3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSIgaXMgYWxs
b3dlZCB0byBjYWxsIHNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9z
dDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRo
IGFsbG93PSJ3ZWItc2hhcmUgKiIgaXMgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkuCitQQVNTIGlm
cmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAuMTo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJz
aGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgKiIgaXMgYWxsb3dl
ZCB0byBjYWxsIHNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4
NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFs
bG93PSJ3ZWItc2hhcmUgJ25vbmUnIiBNVVNUIE5PVCBiZSBhbGxvd2VkIHRvIGNhbGwgc2hhcmUo
KS4gTm90QWxsb3dlZEVycm9yIFRoaXJkLXBhcnR5IGlmcmFtZXMgYXJlIG5vdCBhbGxvd2VkIHRv
IGNhbGwgc2hhcmUoKSB1bmxlc3MgZXhwbGljaXRseSBhbGxvd2VkIHZpYSBGZWF0dXJlLVBvbGlj
eSAod2ViLXNoYXJlKQorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93
ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0i
d2ViLXNoYXJlICdub25lJyIgTVVTVCBOT1QgYmUgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkuIE5v
dEFsbG93ZWRFcnJvciBUaGlyZC1wYXJ0eSBpZnJhbWVzIGFyZSBub3QgYWxsb3dlZCB0byBjYWxs
IHNoYXJlKCkgdW5sZXNzIGV4cGxpY2l0bHkgYWxsb3dlZCB2aWEgRmVhdHVyZS1Qb2xpY3kgKHdl
Yi1zaGFyZSkKK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hh
cmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1z
aGFyZSAnc2VsZiciIE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpLiBOb3RBbGxv
d2VkRXJyb3IgVGhpcmQtcGFydHkgaWZyYW1lcyBhcmUgbm90IGFsbG93ZWQgdG8gY2FsbCBzaGFy
ZSgpIHVubGVzcyBleHBsaWNpdGx5IGFsbG93ZWQgdmlhIEZlYXR1cmUtUG9saWN5ICh3ZWItc2hh
cmUpCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAuMTo4NDQzL3dlYnNoYXJlL3Jl
c291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUg
J3NlbGYnIiBpcyBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0
dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNz
YWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSBodHRwczovL2xvY2FsaG9zdDo4NDQzIiBp
cyBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3
LjAuMC4xOjg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwi
IHdpdGggYWxsb3c9IndlYi1zaGFyZSBodHRwczovL2xvY2FsaG9zdDo4NDQzIiBNVVNUIE5PVCBi
ZSBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4gTm90QWxsb3dlZEVycm9yIFRoaXJkLXBhcnR5IGlm
cmFtZXMgYXJlIG5vdCBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKSB1bmxlc3MgZXhwbGljaXRseSBh
bGxvd2VkIHZpYSBGZWF0dXJlLVBvbGljeSAod2ViLXNoYXJlKQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1zaGFy
ZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1h
bGxvdy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNWI3YzEyNTNjYjRl
NWJmNjlkZDQwYjY3MDg1NmNkYjE1ZTA0YmE4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtc2hhcmUuaHR0
cHMuaHRtbApAQCAtMCwwICsxLDEyMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgPGhl
YWQ+CisgICAgPHRpdGxlPgorICAgICAgVGVzdCBhbGxvdyBhdHRyaWJ1dGUgd2l0aCAid2ViLXNo
YXJlIiBhbmQgc2hhcmUoKSBtZXRob2QKKyAgICA8L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJpbml0aWFsLXNjYWxlPTUsIHdpZHRoPWRldmljZS13aWR0aCIgLz4K
KyAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+CisgICAgPHNjcmlwdD4KKyAgICAgIHRlc3RSdW5uZXI/LmR1bXBBc1RleHQoKTsKKyAgICAg
IHRlc3RSdW5uZXI/LndhaXRVbnRpbERvbmUoKTsKKworICAgICAgZnVuY3Rpb24gd2FpdEZvcih0
YXJnZXQsIGV2ZW50TmFtZSkgeworICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUp
ID0+IHsKKyAgICAgICAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIHJlc29s
dmUsIHsgb25jZTogdHJ1ZSB9KTsKKyAgICAgICAgfSk7CisgICAgICB9CisKKyAgICAgIHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgYXN5bmMgKCkgPT4geworICAgICAgICBmb3IgKGNv
bnN0IGlmcmFtZSBvZiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJpZnJhbWUiKSkgeworICAg
ICAgICAgIGNvbnN0IHsgZW5hYmxlZCwgc3JjIH0gPSBpZnJhbWUuZGF0YXNldDsKKyAgICAgICAg
ICBjb25zdCBpc0FsbG93ZWQgPSBlbmFibGVkID09PSAidHJ1ZSI7CisgICAgICAgICAgY29uc3Qg
YWN0aW9uID0gImNhbGwgc2hhcmUoKSI7CisgICAgICAgICAgaWZyYW1lLmNvbnRlbnRXaW5kb3cu
cG9zdE1lc3NhZ2UoeyBhY3Rpb24gfSwgIioiKTsKKyAgICAgICAgICBjb25zdCB7IGRhdGE6IGNs
aWNrTWVzc2FnZSB9ID0gYXdhaXQgd2FpdEZvcih3aW5kb3csICJtZXNzYWdlIik7CisgICAgICAg
ICAgaWYgKGNsaWNrTWVzc2FnZSAhPT0gImNsaWNrIG1lISIpIHsKKyAgICAgICAgICAgIHRocm93
IG5ldyBFcnJvcigiRXhwZWN0ZWQgYSBjbGljayByZXF1ZXN0OiIgKyBjbGlja01lc3NhZ2UpOwor
ICAgICAgICAgIH0KKyAgICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoaWZy
YW1lKTsKKyAgICAgICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IHdhaXRGb3Iod2luZG93LCAi
bWVzc2FnZSIpOworICAgICAgICAgIGNvbnN0IHsgZXhjZXB0aW9uTWVzc2FnZSwgZXhjZXB0aW9u
TmFtZSwgcmVzdWx0IH0gPSBkYXRhOworICAgICAgICAgIGNvbnN0IG1zZyA9IGBpZnJhbWUgc3Jj
OiAiJHtpZnJhbWUuc3JjfSIgd2l0aCBhbGxvdz0iJHsKKyAgICAgICAgICAgIGlmcmFtZS5hbGxv
dworICAgICAgICAgIH0iICR7CisgICAgICAgICAgICBpc0FsbG93ZWQgPyAiaXMgYWxsb3dlZCB0
byIgOiAiTVVTVCBOT1QgYmUgYWxsb3dlZCB0byIKKyAgICAgICAgICB9ICR7YWN0aW9ufS4gJHtl
eGNlcHRpb25OYW1lID8/ICIifSAke2V4Y2VwdGlvbk1lc3NhZ2UgPz8gIiJ9YDsKKyAgICAgICAg
ICBzd2l0Y2ggKHJlc3VsdCkgeworICAgICAgICAgICAgY2FzZSAic2hhcmUgY29tcGxldGVkIjoK
KyAgICAgICAgICAgICAgaXNBbGxvd2VkID8gdGVzdFBhc3NlZChtc2cpIDogdGVzdEZhaWxlZCht
c2cpOworICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgInRocmV3IjoKKyAg
ICAgICAgICAgICAgaWYgKAorICAgICAgICAgICAgICAgICFpc0FsbG93ZWQgJiYKKyAgICAgICAg
ICAgICAgICBleGNlcHRpb25OYW1lID09PSAiTm90QWxsb3dlZEVycm9yIiAmJgorICAgICAgICAg
ICAgICAgIGV4Y2VwdGlvbk1lc3NhZ2UuZW5kc1dpdGgoIkZlYXR1cmUtUG9saWN5ICh3ZWItc2hh
cmUpIikKKyAgICAgICAgICAgICAgKSB7CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZChtc2cp
OworICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQobXNn
KTsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRl
ZmF1bHQ6CisgICAgICAgICAgICAgIHRlc3RGYWlsZWQobXNnICsgYCAtIHJlc3VsdCB3YXM6ICR7
cmVzdWx0fWApOworICAgICAgICAgIH0KKyAgICAgICAgICBpZnJhbWUucmVtb3ZlKCk7CisgICAg
ICAgIH0KKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICB9KTsKKyAgICA8
L3NjcmlwdD4KKyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8aWZyYW1lCisgICAgICBkYXRhLWVu
YWJsZWQ9ImZhbHNlIgorICAgICAgc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJl
L3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAg
ICA8aWZyYW1lCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAgICBzcmM9Ii4vcmVzb3Vy
Y2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJh
bWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUiCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisg
ICAgICBzcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNo
YXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAg
IGFsbG93PSJ3ZWItc2hhcmUiCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAgICBzcmM9
Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgor
ICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUgKiIKKyAgICAgIGRhdGEtZW5hYmxl
ZD0idHJ1ZSIKKyAgICAgIHNyYz0iaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNv
dXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlm
cmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSAqIgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVl
IgorICAgICAgc3JjPSIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAg
ID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlICdub25lJyIK
KyAgICAgIGRhdGEtZW5hYmxlZD0iZmFsc2UiCisgICAgICBzcmM9Imh0dHBzOi8vbG9jYWxob3N0
Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAg
PjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUgJ25vbmUnIgor
ICAgICAgZGF0YS1lbmFibGVkPSJmYWxzZSIKKyAgICAgIHNyYz0iLi9yZXNvdXJjZXMvd2Vic2hh
cmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAg
YWxsb3c9IndlYi1zaGFyZSAnc2VsZiciCisgICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAg
ICAgc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFy
ZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBh
bGxvdz0id2ViLXNoYXJlICdzZWxmJyIKKyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAg
IHNyYz0iLi9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJh
bWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSBodHRwczovL2xvY2FsaG9z
dDo4NDQzIgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAgc3JjPSJodHRwczovL2xv
Y2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1s
IgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlIGh0
dHBzOi8vbG9jYWxob3N0Ojg0NDMiCisgICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAg
c3JjPSIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFt
ZT4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IGZhNzVhMmNiODMwYmE5MDZkZTYyYzFiZDI1MTkzMzFjZDYy
NzdjNDQuLjJiZmRmODY2ODhlMWNjMTliMzUxZGI5MjlmZDAxN2ViZjM2M2IzN2QgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE0MjEsMyAr
MTQyMSw2IEBAIHdlYmtpdC5vcmcvYi8yMjk4Nzcgd2VicnRjL2RhdGFjaGFubmVsL2dldFN0YXRz
LW5vLXByZmx4LXJlbW90ZS1jYW5kaWRhdGUuaHRtbCBbCiB3ZWJraXQub3JnL2IvMjMwMDU1IFsg
QmlnU3VyIF0gd2VicnRjL2RhdGFjaGFubmVsL2RhdGFjaGFubmVsLXBhZ2UtY2FjaGUtc2VuZC5o
dG1sIFsgUGFzcyBUaW1lb3V0IF0KIAogd2Via2l0Lm9yZy9iLzIyODIxMSBjc3MyLjEvMjAxMTAz
MjMvcmVwbGFjZWQtaW50cmluc2ljLTAwMy5odG0gWyBQYXNzIEZhaWx1cmUgXQorCisjIHdlYmtp
dC5vcmcvYi8yMTQ0NDggV2ViIFNoYXJlIEFQSSBpcyBub3QgaW1wbGVtZW50ZWQgZm9yIG1hYy13
azEKK2h0dHAvdGVzdHMvd2Vic2hhcmUvIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDljMTQyMzA5OGZiYmJmZDM2MWY0YjY1ZTMwMTNjMzM4
MzRlNDA2MDAuLmFhZDVkNzRlMGYwMmY2NDkzYWJjZjJjNTM0YzI2ZTEzZmZhYjk4N2EgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNDcsNyArMTQ3LDcg
QEAgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVwb3J0LWNyb3Nz
LW9yaWdpbi1uby1jb29raWVzLnB5IFsgU2sKIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L3JlcG9ydC1jcm9zcy1vcmlnaW4tbm8tY29va2llcy13aGVuLXByaXZhdGUt
YnJvd3NpbmctZW5hYmxlZC5weSBbIFNraXAgXSAKIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9waW5n
LWF0dHJpYnV0ZS9hcmVhLWNyb3NzLW9yaWdpbi5odG1sIFsgU2tpcCBdIAogaHR0cC90ZXN0cy9u
YXZpZ2F0aW9uL3BpbmctYXR0cmlidXRlL2FuY2hvci1jcm9zcy1vcmlnaW4uaHRtbCBbIFNraXAg
XSAKLWh0dHAvdGVzdHMvcmVmZXJyZXItcG9saWN5L25vLXJlZmVycmVyLXdoZW4tZG93bmdyYWRl
LyBbIFNraXAgXSAKK2h0dHAvdGVzdHMvcmVmZXJyZXItcG9saWN5L25vLXJlZmVycmVyLXdoZW4t
ZG93bmdyYWRlLyBbIFNraXAgXQogaHR0cC90ZXN0cy9yZWZlcnJlci1wb2xpY3kvdW5zYWZlLXVy
bC9jcm9zcy1vcmlnaW4taHR0cC1odHRwLmh0bWwgWyBTa2lwIF0gCiBodHRwL3Rlc3RzL3JlZmVy
cmVyLXBvbGljeS91bnNhZmUtdXJsL2Nyb3NzLW9yaWdpbi1odHRwLmh0dHBzLmh0bWwgWyBTa2lw
IF0gCiBodHRwL3Rlc3RzL3JlZmVycmVyLXBvbGljeS1pbWcvbm8tcmVmZXJyZXItd2hlbi1kb3du
Z3JhZGUvIFsgU2tpcCBdIApAQCAtNDY5MCwzICs0NjkwLDYgQEAgd2Via2l0Lm9yZy9iLzIyOTM3
OSBmYXN0L3Zpc3VhbC12aWV3cG9ydC9yZXNpemUtZXZlbnQtZmlyZWQtd2luZG93LXJlc2l6ZWQu
aHRtbAogd2Via2l0Lm9yZy9iLzIxNTMxOCBmYXN0L3RleHQvendqLWxpZ2F0dXJlLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzIyOTU5NCBqcy9kZmctaW50MTZhcnJh
eS5odG1sIFsgUGFzcyBDcmFzaCBdCisKKyMgd2Via2l0Lm9yZy9iLzIxNDQ0OCBXZWIgU2hhcmUg
QVBJIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgV2luZG93cyBwb3J0CitodHRwL3Rlc3RzL3dl
YnNoYXJlLyBbIFNraXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438206</attachid>
            <date>2021-09-14 19:26:04 -0700</date>
            <delta_ts>2021-09-19 23:10:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214448-20210915122603.patch</filename>
            <type>text/plain</type>
            <size>27288</size>
            <attacher name="Marcos Caceres">marcos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMzA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjhiNTA1YWViYWNjNWZl
MmRkNjliMTRmMzRlMTg5MjYzMjE5NWFlMS4uYWQ5ZjYwNzI0Zjg0ZDc3ZDcyZGM4MmRkNWJlNzYy
N2Y2NWI1OTZjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA5LTE0ICBNYXJj
b3MgQ2FjZXJlcyAgPG1hcmNvc0BtYXJjb3NjLmNvbT4KKworICAgICAgICBXZWIgU2hhcmUgcGVy
bWlzc2lvbiBwb2xpY3kgIndlYi1zaGFyZSIgYW5kICJzZWxmIiBhcyB0aGUgYWxsb3dsaXN0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ0NDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czogaHR0
cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMu
aHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1h
dHRyaWJ1dGUtc2hhcmUuaHR0cHMuaHRtbAorCisgICAgICAgICogaHRtbC9GZWF0dXJlUG9saWN5
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBvbGljeVR5cGVOYW1lKToKKyAgICAgICAgKFdlYkNv
cmU6OkZlYXR1cmVQb2xpY3k6OnBhcnNlKToKKyAgICAgICAgKFdlYkNvcmU6OkZlYXR1cmVQb2xp
Y3k6OmFsbG93cyBjb25zdCk6CisgICAgICAgICogaHRtbC9GZWF0dXJlUG9saWN5Lmg6CisgICAg
ICAgICogcGFnZS9OYXZpZ2F0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yOjpj
YW5TaGFyZSk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3I6OnNoYXJlKToKKwogMjAyMS0w
OS0xMSAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAg
W0dMSUJdIE1lZGlhU2Vzc2lvbiBpcyBub3QgZW5hYmxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmVhdHVy
ZVBvbGljeS5jcHAKaW5kZXggMGY0MjE2M2QzZWQwYmQwYjZmNzhmNmNlZGFjNmQ0NDAwZjgxMWVm
Ny4uNmU1NmNjMjk0ZmExMWI1M2M3MTAzMmZhYzg5MTYxN2I2NjNjZTg2MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0ZlYXR1cmVQb2xpY3kuY3BwCkBAIC01Niw2ICs1Niw4IEBAIHN0YXRpYyBjb25zdCBj
aGFyKiBwb2xpY3lUeXBlTmFtZShGZWF0dXJlUG9saWN5OjpUeXBlIHR5cGUpCiAgICAgICAgIHJl
dHVybiAiU3luY1hIUiI7CiAgICAgY2FzZSBGZWF0dXJlUG9saWN5OjpUeXBlOjpGdWxsc2NyZWVu
OgogICAgICAgICByZXR1cm4gIkZ1bGxzY3JlZW4iOworICAgIGNhc2UgRmVhdHVyZVBvbGljeTo6
VHlwZTo6V2ViU2hhcmU6CisgICAgICAgIHJldHVybiAiV2ViU2hhcmUiOwogI2lmIEVOQUJMRShE
RVZJQ0VfT1JJRU5UQVRJT04pCiAgICAgY2FzZSBGZWF0dXJlUG9saWN5OjpUeXBlOjpHeXJvc2Nv
cGU6CiAgICAgICAgIHJldHVybiAiR3lyb3Njb3BlIjsKQEAgLTE3NSw2ICsxNzcsNyBAQCBGZWF0
dXJlUG9saWN5IEZlYXR1cmVQb2xpY3k6OnBhcnNlKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3Qg
SFRNTElGcmFtZUVsZW1lbnQmCiAgICAgYm9vbCBpc1BheW1lbnRJbml0aWFsaXplZCA9IGZhbHNl
OwogICAgIGJvb2wgaXNTeW5jWEhSSW5pdGlhbGl6ZWQgPSBmYWxzZTsKICAgICBib29sIGlzRnVs
bHNjcmVlbkluaXRpYWxpemVkID0gZmFsc2U7CisgICAgYm9vbCBpc1dlYlNoYXJlSW5pdGlhbGl6
ZWQgPSBmYWxzZTsKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQogICAgIGJvb2wgaXNH
eXJvc2NvcGVJbml0aWFsaXplZCA9IGZhbHNlOwogICAgIGJvb2wgaXNBY2NlbGVyb21ldGVySW5p
dGlhbGl6ZWQgPSBmYWxzZTsKQEAgLTIyNSw2ICsyMjgsMTEgQEAgRmVhdHVyZVBvbGljeSBGZWF0
dXJlUG9saWN5OjpwYXJzZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IEhUTUxJRnJhbWVFbGVt
ZW50JgogICAgICAgICAgICAgdXBkYXRlTGlzdChkb2N1bWVudCwgcG9saWN5Lm1fZnVsbHNjcmVl
blJ1bGUsIGl0ZW0uc3Vic3RyaW5nKDExKSk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAg
ICAgfQorICAgICAgICBpZiAoaXRlbS5zdGFydHNXaXRoKCJ3ZWItc2hhcmUiKSkgeworICAgICAg
ICAgICAgaXNXZWJTaGFyZUluaXRpYWxpemVkID0gdHJ1ZTsKKyAgICAgICAgICAgIHVwZGF0ZUxp
c3QoZG9jdW1lbnQsIHBvbGljeS5tX3dlYlNoYXJlUnVsZSwgaXRlbS5zdWJzdHJpbmcoMTApKTsK
KyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CiAjaWYgRU5BQkxFKERFVklDRV9PUklF
TlRBVElPTikKICAgICAgICAgaWYgKGl0ZW0uc3RhcnRzV2l0aCgiZ3lyb3Njb3BlIikpIHsKICAg
ICAgICAgICAgIGlzR3lyb3Njb3BlSW5pdGlhbGl6ZWQgPSB0cnVlOwpAQCAtMjY0LDYgKzI3Miw4
IEBAIEZlYXR1cmVQb2xpY3kgRmVhdHVyZVBvbGljeTo6cGFyc2UoRG9jdW1lbnQmIGRvY3VtZW50
LCBjb25zdCBIVE1MSUZyYW1lRWxlbWVudCYKICAgICAgICAgcG9saWN5Lm1fZ2VvbG9jYXRpb25S
dWxlLmFsbG93ZWRMaXN0LmFkZChkb2N1bWVudC5zZWN1cml0eU9yaWdpbigpLmRhdGEoKSk7CiAg
ICAgaWYgKCFpc1BheW1lbnRJbml0aWFsaXplZCkKICAgICAgICAgcG9saWN5Lm1fcGF5bWVudFJ1
bGUuYWxsb3dlZExpc3QuYWRkKGRvY3VtZW50LnNlY3VyaXR5T3JpZ2luKCkuZGF0YSgpKTsKKyAg
ICBpZiAoIWlzV2ViU2hhcmVJbml0aWFsaXplZCkKKyAgICAgICAgcG9saWN5Lm1fd2ViU2hhcmVS
dWxlLmFsbG93ZWRMaXN0LmFkZChkb2N1bWVudC5zZWN1cml0eU9yaWdpbigpLmRhdGEoKSk7CiAj
aWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKICAgICBpZiAoIWlzR3lyb3Njb3BlSW5pdGlh
bGl6ZWQpCiAgICAgICAgIHBvbGljeS5tX2d5cm9zY29wZVJ1bGUuYWxsb3dlZExpc3QuYWRkKGRv
Y3VtZW50LnNlY3VyaXR5T3JpZ2luKCkuZGF0YSgpKTsKQEAgLTMxNyw2ICszMjcsOCBAQCBib29s
IEZlYXR1cmVQb2xpY3k6OmFsbG93cyhUeXBlIHR5cGUsIGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0
YSYgb3JpZ2luKSBjb25zdAogICAgICAgICByZXR1cm4gaXNBbGxvd2VkQnlGZWF0dXJlUG9saWN5
KG1fc3luY1hIUlJ1bGUsIG9yaWdpbik7CiAgICAgY2FzZSBUeXBlOjpGdWxsc2NyZWVuOgogICAg
ICAgICByZXR1cm4gaXNBbGxvd2VkQnlGZWF0dXJlUG9saWN5KG1fZnVsbHNjcmVlblJ1bGUsIG9y
aWdpbik7CisgICAgY2FzZSBUeXBlOjpXZWJTaGFyZToKKyAgICAgICAgcmV0dXJuIGlzQWxsb3dl
ZEJ5RmVhdHVyZVBvbGljeShtX3dlYlNoYXJlUnVsZSwgb3JpZ2luKTsKICNpZiBFTkFCTEUoREVW
SUNFX09SSUVOVEFUSU9OKQogICAgIGNhc2UgVHlwZTo6R3lyb3Njb3BlOgogICAgICAgICByZXR1
cm4gaXNBbGxvd2VkQnlGZWF0dXJlUG9saWN5KG1fZ3lyb3Njb3BlUnVsZSwgb3JpZ2luKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmVhdHVyZVBvbGljeS5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5LmgKaW5kZXggNzllNjZmYjE2NDFiMjQxNmJiMzk3NmI3
NmExNDhhOGExMGZkYWY3NS4uZTY0MGY4YTVkNzIzZGUwMWU5YTY0YjUxMDY2NmI5M2E2Nzk3YTc5
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5LmgKQEAgLTQ3LDYgKzQ3LDcgQEAgcHVi
bGljOgogICAgICAgICBQYXltZW50LAogICAgICAgICBTeW5jWEhSLAogICAgICAgICBGdWxsc2Ny
ZWVuLAorICAgICAgICBXZWJTaGFyZSwKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQog
ICAgICAgICBHeXJvc2NvcGUsCiAgICAgICAgIEFjY2VsZXJvbWV0ZXIsCkBAIC03Myw2ICs3NCw4
IEBAIHByaXZhdGU6CiAgICAgQWxsb3dSdWxlIG1fcGF5bWVudFJ1bGU7CiAgICAgQWxsb3dSdWxl
IG1fc3luY1hIUlJ1bGU7CiAgICAgQWxsb3dSdWxlIG1fZnVsbHNjcmVlblJ1bGU7CisgICAgQWxs
b3dSdWxlIG1fd2ViU2hhcmVSdWxlOworCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikK
ICAgICBBbGxvd1J1bGUgbV9neXJvc2NvcGVSdWxlOwogICAgIEFsbG93UnVsZSBtX2FjY2VsZXJv
bWV0ZXJSdWxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3BwCmluZGV4IDI1ZDUyYTNmOTY2MmU1
MjcxYWYzNWE0Yzc0Y2E1MmE3ZTA0ODc1YzIuLjZmMTliMmViM2JlNDc5ODY1ZTVjNTQ0ZWQwNDVj
ZTQ3YzRmZDEzYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAKQEAgLTMwLDYgKzMwLDcg
QEAKICNpbmNsdWRlICJET01QbHVnaW4uaCIKICNpbmNsdWRlICJET01QbHVnaW5BcnJheS5oIgog
I2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRmVhdHVyZVBvbGljeS5oIgogI2luY2x1
ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKICNpbmNsdWRlICJGcmFtZUxv
YWRlckNsaWVudC5oIgpAQCAtMTI5LDYgKzEzMCw5IEBAIGJvb2wgTmF2aWdhdG9yOjpjYW5TaGFy
ZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFNoYXJlRGF0YSYgZGF0YSkKICAgICBpZiAoIWRv
Y3VtZW50LmlzRnVsbHlBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYg
KCFpc0ZlYXR1cmVQb2xpY3lBbGxvd2VkQnlEb2N1bWVudEFuZEFsbE93bmVycyhGZWF0dXJlUG9s
aWN5OjpUeXBlOjpXZWJTaGFyZSwgZG9jdW1lbnQsIExvZ0ZlYXR1cmVQb2xpY3lGYWlsdXJlOjpZ
ZXMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBib29sIGhhc1NoYXJlYWJsZVRpdGxl
T3JUZXh0ID0gIWRhdGEudGl0bGUuaXNOdWxsKCkgfHwgIWRhdGEudGV4dC5pc051bGwoKTsKICAg
ICBib29sIGhhc1NoYXJlYWJsZVVSTCA9ICEhc2hhcmVhYmxlVVJMRm9yU2hhcmVEYXRhKGRvY3Vt
ZW50LCBkYXRhKTsKICNpZiBFTkFCTEUoRklMRV9TSEFSRSkKQEAgLTE0Nyw2ICsxNTEsMTEgQEAg
dm9pZCBOYXZpZ2F0b3I6OnNoYXJlKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU2hhcmVEYXRh
JiBkYXRhLCBSZWY8RGVmZXJyZWRQcm8KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIGlm
ICghaXNGZWF0dXJlUG9saWN5QWxsb3dlZEJ5RG9jdW1lbnRBbmRBbGxPd25lcnMoRmVhdHVyZVBv
bGljeTo6VHlwZTo6V2ViU2hhcmUsIGRvY3VtZW50LCBMb2dGZWF0dXJlUG9saWN5RmFpbHVyZTo6
WWVzKSkgeworICAgICAgICBwcm9taXNlLT5yZWplY3QoTm90QWxsb3dlZEVycm9yLCAiVGhpcmQt
cGFydHkgaWZyYW1lcyBhcmUgbm90IGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpIHVubGVzcyBleHBs
aWNpdGx5IGFsbG93ZWQgdmlhIEZlYXR1cmUtUG9saWN5ICh3ZWItc2hhcmUpIl9zKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmIChtX2hhc1BlbmRpbmdTaGFyZSkgewogICAgICAg
ICBwcm9taXNlLT5yZWplY3QoTm90QWxsb3dlZEVycm9yKTsKICAgICAgICAgcmV0dXJuOwpAQCAt
MTczLDcgKzE4Miw3IEBAIHZvaWQgTmF2aWdhdG9yOjpzaGFyZShEb2N1bWVudCYgZG9jdW1lbnQs
IGNvbnN0IFNoYXJlRGF0YSYgZGF0YSwgUmVmPERlZmVycmVkUHJvCiAgICAgaWYgKGRvY3VtZW50
LnNldHRpbmdzKCkud2ViU2hhcmVGaWxlQVBJRW5hYmxlZCgpICYmICFkYXRhLmZpbGVzLmlzRW1w
dHkoKSkgewogICAgICAgICBpZiAobV9sb2FkZXIpCiAgICAgICAgICAgICBtX2xvYWRlci0+Y2Fu
Y2VsKCk7Ci0gICAgICAgIAorCiAgICAgICAgIG1fbG9hZGVyID0gU2hhcmVEYXRhUmVhZGVyOjpj
cmVhdGUoW3RoaXMsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSAoRXhjZXB0aW9uT3I8U2hh
cmVEYXRhV2l0aFBhcnNlZFVSTCY+IHJlYWREYXRhKSBtdXRhYmxlIHsKICAgICAgICAgICAgIHNo
b3dTaGFyZURhdGEocmVhZERhdGEsIFdURk1vdmUocHJvbWlzZSkpOwogICAgICAgICB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCBjY2Q0YjZkYTExOTg2NzZjYWUwNGVkMmMyNmE5NjdlNzAyMzI3MGMyLi4yNWU3NDBlZGE3
MDA4OWM4OTY0MWU2ZjM1ZWJhOTNhOGZhNGUxY2ExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIw
MjEtMDktMTQgIE1hcmNvcyBDYWNlcmVzICA8bWFyY29zQG1hcmNvc2MuY29tPgorCisgICAgICAg
IFdlYiBTaGFyZSBwZXJtaXNzaW9uIHBvbGljeSAid2ViLXNoYXJlIiBhbmQgInNlbGYiIGFzIHRo
ZSBhbGxvd2xpc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxNDQ0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogaHR0cC90ZXN0cy93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2Uu
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxv
dy1hdHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1jYW5TaGFyZS5o
dHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJl
LWFsbG93LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLXNoYXJlLmh0
dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0
aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMS0w
OS0xMSAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAg
W0dMSUJdIE1lZGlhU2Vzc2lvbiBpcyBub3QgZW5hYmxlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBv
c3RtZXNzYWdlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTJjMWQ5ZGFkYmVkMDZiNjI4YTVjZDFkZGU2YjNk
N2Y1NjQ1MTY2ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwKQEAgLTAsMCArMSw3MCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzxtZXRhIHZpZXdw
b3J0PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wIiAvPgorPHN0eWxlPgor
ICBodG1sIHsKKyAgICBoZWlnaHQ6IDEwMCU7CisgICAgbWFyZ2luOiAwOworICAgIHBhZGRpbmc6
IDA7CisgIH0KKyAgYm9keSB7CisgICAgbWFyZ2luOiAwOworICAgIHBhZGRpbmc6IDA7CisgICAg
ZGlzcGxheTogZ3JpZDsKKyAgfQorICBidXR0b24geworICAgIGhlaWdodDogMTAwdmg7CisgICAg
d2lkdGg6IDEwMCU7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgIH0KKzwvc3R5bGU+
Cis8Ym9keT4KKyAgPGJ1dHRvbiBpZD0ic2hhcmUtYnV0dG9uIj5TSEFSRSE8L2J1dHRvbj4KKyAg
PHNjcmlwdD4KKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigKKyAgICAgICJtZXNzYWdlIiwK
KyAgICAgIGFzeW5jIChldmVudCkgPT4geworICAgICAgICBjb25zdCBzaGFyZUJ1dHRvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaGFyZS1idXR0b24iKTsKKyAgICAgICAgY29uc3QgeyBh
Y3Rpb24gfSA9IGV2ZW50LmRhdGE7CisgICAgICAgIGxldCByZXN1bHQgPSBudWxsOworICAgICAg
ICBsZXQgZXhjZXB0aW9uTWVzc2FnZTsKKyAgICAgICAgbGV0IGV4Y2VwdGlvbk5hbWU7CisgICAg
ICAgIHN3aXRjaCAoYWN0aW9uKSB7CisgICAgICAgICAgY2FzZSAiY2FsbCBjYW5TaGFyZSgpIjoK
KyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgIHJlc3VsdCA9IG5hdmlnYXRvci5jYW5T
aGFyZSh7IHRleHQ6ICJzb21lIHRleHQiIH0pOworICAgICAgICAgICAgfSBjYXRjaCAoZSkgewor
ICAgICAgICAgICAgICBleGNlcHRpb25NZXNzYWdlID0gZS5tZXNzYWdlOworICAgICAgICAgICAg
ICBleGNlcHRpb25OYW1lID0gZS5uYW1lOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgY2FzZSAiY2FsbCBzaGFyZSgpIjoKKyAgICAgICAgICAgIGF3YWl0IHVz
ZXJBY3RpdmF0aW9uRnJvbVBhcmVudChzaGFyZUJ1dHRvbiwgZXZlbnQpOworICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgYXdhaXQgbmF2aWdhdG9yLnNoYXJlKHsgdGV4dDogInNvbWUg
dGV4dCIgfSk7CisgICAgICAgICAgICAgIHJlc3VsdCA9ICJzaGFyZSBjb21wbGV0ZWQiOworICAg
ICAgICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAgICByZXN1bHQgPSAidGhyZXciOwor
ICAgICAgICAgICAgICBleGNlcHRpb25NZXNzYWdlID0gZS5tZXNzYWdlOworICAgICAgICAgICAg
ICBleGNlcHRpb25OYW1lID0gZS5uYW1lOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5r
bm93biBhY3Rpb246ICR7YWN0aW9ufWApOworICAgICAgICB9CisgICAgICAgIGV2ZW50LnNvdXJj
ZS5wb3N0TWVzc2FnZSgKKyAgICAgICAgICB7IGFjdGlvbiwgcmVzdWx0LCBleGNlcHRpb25NZXNz
YWdlLCBleGNlcHRpb25OYW1lIH0sCisgICAgICAgICAgZXZlbnQub3JpZ2luCisgICAgICAgICk7
CisgICAgICB9LAorICAgICAgeyBvbmNlOiB0cnVlIH0KKyAgICApOworCisgICAgZnVuY3Rpb24g
dXNlckFjdGl2YXRpb25Gcm9tUGFyZW50KHNoYXJlQnV0dG9uLCBldmVudCkgeworICAgICAgcmV0
dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICAgIHNoYXJlQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgcmVzb2x2ZSwgeyBvbmNlOiB0cnVlIH0pOworICAgICAgICBl
dmVudC5zb3VyY2UucG9zdE1lc3NhZ2UoImFjdGl2YXRlIG1lISIsIGV2ZW50Lm9yaWdpbik7Cisg
ICAgICB9KTsKKyAgICB9CisgIDwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2FuU2hh
cmUuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93
ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjQxZGY3M2E0MGI2OWQ2Mzg2ZmZiNThmYWQyMzY4ZTkwNTAyNDgxY2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93
LWF0dHJpYnV0ZS1jYW5TaGFyZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAor
Q09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUnIGNoZWNrIGZhaWxlZCBm
b3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovL2xvY2FsaG9zdDo4NDQzJyBhbmQgYWxsb3cg
YXR0cmlidXRlICcnLgorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUn
IGNoZWNrIGZhaWxlZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovL2xvY2FsaG9zdDo4
NDQzJyBhbmQgYWxsb3cgYXR0cmlidXRlICd3ZWItc2hhcmUgJ25vbmUnJy4KK0NPTlNPTEUgTUVT
U0FHRTogRmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3
aXRoIG9yaWdpbiAnaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAn
d2ViLXNoYXJlICdub25lJycuCitDT05TT0xFIE1FU1NBR0U6IEZlYXR1cmUgcG9saWN5ICdXZWJT
aGFyZScgY2hlY2sgZmFpbGVkIGZvciBpZnJhbWUgd2l0aCBvcmlnaW4gJ2h0dHBzOi8vbG9jYWxo
b3N0Ojg0NDMnIGFuZCBhbGxvdyBhdHRyaWJ1dGUgJ3dlYi1zaGFyZSAnc2VsZicnLgorQ09OU09M
RSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUnIGNoZWNrIGZhaWxlZCBmb3IgaWZy
YW1lIHdpdGggb3JpZ2luICdodHRwczovLzEyNy4wLjAuMTo4NDQzJyBhbmQgYWxsb3cgYXR0cmli
dXRlICd3ZWItc2hhcmUgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MycuCitQQVNTIGlmcmFtZSBzcmM6
ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0
bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSIiIE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBj
YW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJz
aGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0iIiBp
cyBhbGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8v
bG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0
bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSIgaXMgYWxsb3dlZCB0byBjYWxsIGNhblNoYXJlKCku
CitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAuMTo4NDQzL3dlYnNoYXJlL3Jlc291
cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUiIGlz
IGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly9s
b2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRt
bCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICoiIGlzIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgp
LgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNv
dXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICoi
IGlzIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6
Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2Uu
aHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICdub25lJyIgTVVTVCBOT1QgYmUgYWxsb3dlZCB0
byBjYWxsIGNhblNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAuMTo4
NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFs
bG93PSJ3ZWItc2hhcmUgJ25vbmUnIiBNVVNUIE5PVCBiZSBhbGxvd2VkIHRvIGNhbGwgY2FuU2hh
cmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUv
cmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFy
ZSAnc2VsZiciIE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBp
ZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vi
c2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICdzZWxmJyIgaXMg
YWxsb3dlZCB0byBjYWxsIGNhblNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovL2xv
Y2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1s
IiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MyIgaXMgYWxsb3dl
ZCB0byBjYWxsIGNhblNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAu
MTo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRo
IGFsbG93PSJ3ZWItc2hhcmUgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MyIgTVVTVCBOT1QgYmUgYWxs
b3dlZCB0byBjYWxsIGNhblNoYXJlKCkuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJp
YnV0ZS1jYW5TaGFyZS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxNTQzNDc4NWEyZDI0YjgzNWNi
YzMzNTg0YmU5MzIxNzJkZWZjNmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1jYW5TaGFyZS5odHRwcy5o
dG1sCkBAIC0wLDAgKzEsMTA5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4K
KyAgICA8dGl0bGU+CisgICAgICBUZXN0IGFsbG93IGF0dHJpYnV0ZSB3aXRoICJ3ZWItc2hhcmUi
IGFuZCBjYW5TaGFyZSgpIG1ldGhvZAorICAgIDwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9ImluaXRpYWwtc2NhbGU9NSwgd2lkdGg9ZGV2aWNlLXdpZHRoIiAvPgor
ICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
ICAgIDxzY3JpcHQ+CisgICAgICB0ZXN0UnVubmVyPy5kdW1wQXNUZXh0KCk7CisgICAgICB0ZXN0
UnVubmVyPy53YWl0VW50aWxEb25lKCk7CisKKyAgICAgIGZ1bmN0aW9uIHdhaXRGb3IodGFyZ2V0
LCBldmVudE5hbWUpIHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7
CisgICAgICAgICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCByZXNvbHZlLCB7
IG9uY2U6IHRydWUgfSk7CisgICAgICAgIH0pOworICAgICAgfQorCisgICAgICB3aW5kb3cuYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgZm9yIChjb25zdCBp
ZnJhbWUgb2YgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiaWZyYW1lIikpIHsKKyAgICAgICAg
ICBjb25zdCB7IGVuYWJsZWQsIHNyYyB9ID0gaWZyYW1lLmRhdGFzZXQ7CisgICAgICAgICAgY29u
c3QgaXNBbGxvd2VkID0gZW5hYmxlZCA9PT0gInRydWUiOworICAgICAgICAgIGNvbnN0IGFjdGlv
biA9ICJjYWxsIGNhblNoYXJlKCkiOworICAgICAgICAgIGlmcmFtZS5jb250ZW50V2luZG93LnBv
c3RNZXNzYWdlKHsgYWN0aW9uIH0sICIqIik7CisgICAgICAgICAgY29uc3QgeyBkYXRhIH0gPSBh
d2FpdCB3YWl0Rm9yKHdpbmRvdywgIm1lc3NhZ2UiKTsKKyAgICAgICAgICBjb25zdCB7IGV4Y2Vw
dGlvbk1lc3NhZ2UsIGV4Y2VwdGlvbk5hbWUsIHJlc3VsdCB9ID0gZGF0YTsKKworICAgICAgICAg
IGNvbnN0IG1zZyA9IGBpZnJhbWUgc3JjOiAiJHtpZnJhbWUuc3JjfSIgd2l0aCBhbGxvdz0iJHsK
KyAgICAgICAgICAgIGlmcmFtZS5hbGxvdworICAgICAgICAgIH0iICR7CisgICAgICAgICAgICBp
c0FsbG93ZWQgPyAiaXMgYWxsb3dlZCB0byIgOiAiTVVTVCBOT1QgYmUgYWxsb3dlZCB0byIKKyAg
ICAgICAgICB9ICR7YWN0aW9ufS4gJHtleGNlcHRpb25OYW1lID8/ICIifSAke2V4Y2VwdGlvbk1l
c3NhZ2UgPz8gIiJ9YDsKKworICAgICAgICAgIHN3aXRjaCAocmVzdWx0KSB7CisgICAgICAgICAg
ICBjYXNlIHRydWU6CisgICAgICAgICAgICAgIGlzQWxsb3dlZCA/IHRlc3RQYXNzZWQobXNnKSA6
IHRlc3RGYWlsZWQobXNnKTsKKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNl
IGZhbHNlOgorICAgICAgICAgICAgICAhaXNBbGxvd2VkID8gdGVzdFBhc3NlZChtc2cpIDogdGVz
dEZhaWxlZChtc2cpOworICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6
CisgICAgICAgICAgICAgIHRlc3RGYWlsZWQobXNnICsgYCAtIHJlc3VsdCB3YXM6ICR7cmVzdWx0
fWApOworICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKKyAgICAgIH0pOworICAgIDwvc2NyaXB0PgorICA8L2hlYWQ+CisgIDxib2R5PgorICAg
IDxpZnJhbWUKKyAgICAgIGRhdGEtZW5hYmxlZD0iZmFsc2UiCisgICAgICBzcmM9Imh0dHBzOi8v
bG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0
bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1
ZSIKKyAgICAgIHNyYz0iLi9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAg
ICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSIKKyAgICAg
IGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93
ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJh
bWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSIKKyAgICAgIGRhdGEtZW5h
YmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iLi9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2Uu
aHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFy
ZSAqIgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAgc3JjPSJodHRwczovL2xvY2Fs
aG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgor
ICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlICoiCisg
ICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAgICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJl
LXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFs
bG93PSJ3ZWItc2hhcmUgJ25vbmUnIgorICAgICAgZGF0YS1lbmFibGVkPSJmYWxzZSIKKyAgICAg
IHNyYz0iaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUt
cG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxs
b3c9IndlYi1zaGFyZSAnbm9uZSciCisgICAgICBkYXRhLWVuYWJsZWQ9ImZhbHNlIgorICAgICAg
c3JjPSIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFt
ZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlICdzZWxmJyIKKyAgICAgIGRh
dGEtZW5hYmxlZD0iZmFsc2UiCisgICAgICBzcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vi
c2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1l
PgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUgJ3NlbGYnIgorICAgICAgZGF0
YS1lbmFibGVkPSJ0cnVlIgorICAgICAgc3JjPSIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVz
c2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0id2Vi
LXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMiCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUi
CisgICAgICBzcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dl
YnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAg
ICAgIGFsbG93PSJ3ZWItc2hhcmUgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MyIKKyAgICAgIGRhdGEt
ZW5hYmxlZD0iZmFsc2UiCisgICAgICBzcmM9Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNz
YWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0
ZS1zaGFyZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNo
YXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMDAwMTVhZDAwZjVkMDc3ZGI2OWM2ZGZhY2FkZjcxZDhlN2Y0NDMyMAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxs
b3ctYXR0cmlidXRlLXNoYXJlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBACitD
T05TT0xFIE1FU1NBR0U6IEZlYXR1cmUgcG9saWN5ICdXZWJTaGFyZScgY2hlY2sgZmFpbGVkIGZv
ciBpZnJhbWUgd2l0aCBvcmlnaW4gJ2h0dHBzOi8vbG9jYWxob3N0Ojg0NDMnIGFuZCBhbGxvdyBh
dHRyaWJ1dGUgJycuCitDT05TT0xFIE1FU1NBR0U6IEZlYXR1cmUgcG9saWN5ICdXZWJTaGFyZScg
Y2hlY2sgZmFpbGVkIGZvciBpZnJhbWUgd2l0aCBvcmlnaW4gJ2h0dHBzOi8vbG9jYWxob3N0Ojg0
NDMnIGFuZCBhbGxvdyBhdHRyaWJ1dGUgJ3dlYi1zaGFyZSAnbm9uZScnLgorQ09OU09MRSBNRVNT
QUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUnIGNoZWNrIGZhaWxlZCBmb3IgaWZyYW1lIHdp
dGggb3JpZ2luICdodHRwczovLzEyNy4wLjAuMTo4NDQzJyBhbmQgYWxsb3cgYXR0cmlidXRlICd3
ZWItc2hhcmUgJ25vbmUnJy4KK0NPTlNPTEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kgJ1dlYlNo
YXJlJyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6Ly9sb2NhbGhv
c3Q6ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAnd2ViLXNoYXJlICdzZWxmJycuCitDT05TT0xF
IE1FU1NBR0U6IEZlYXR1cmUgcG9saWN5ICdXZWJTaGFyZScgY2hlY2sgZmFpbGVkIGZvciBpZnJh
bWUgd2l0aCBvcmlnaW4gJ2h0dHBzOi8vMTI3LjAuMC4xOjg0NDMnIGFuZCBhbGxvdyBhdHRyaWJ1
dGUgJ3dlYi1zaGFyZSBodHRwczovL2xvY2FsaG9zdDo4NDQzJy4KK1BBU1MgaWZyYW1lIHNyYzog
Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3Rt
ZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IiIgTVVTVCBOT1QgYmUgYWxsb3dlZCB0byBjYWxsIHNo
YXJlKCkuIE5vdEFsbG93ZWRFcnJvciBUaGlyZC1wYXJ0eSBpZnJhbWVzIGFyZSBub3QgYWxsb3dl
ZCB0byBjYWxsIHNoYXJlKCkgdW5sZXNzIGV4cGxpY2l0bHkgYWxsb3dlZCB2aWEgRmVhdHVyZS1Q
b2xpY3kgKHdlYi1zaGFyZSkKK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0
NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxs
b3c9IiIgaXMgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRw
czovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2Fn
ZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUiIGlzIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgp
LgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNv
dXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlIiBp
cyBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9j
YWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwi
IHdpdGggYWxsb3c9IndlYi1zaGFyZSAqIiBpcyBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4KK1BB
U1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vic2hhcmUvcmVzb3VyY2Vz
L3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAqIiBpcyBh
bGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxo
b3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdp
dGggYWxsb3c9IndlYi1zaGFyZSAnbm9uZSciIE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBz
aGFyZSgpLiBOb3RBbGxvd2VkRXJyb3IgVGhpcmQtcGFydHkgaWZyYW1lcyBhcmUgbm90IGFsbG93
ZWQgdG8gY2FsbCBzaGFyZSgpIHVubGVzcyBleHBsaWNpdGx5IGFsbG93ZWQgdmlhIEZlYXR1cmUt
UG9saWN5ICh3ZWItc2hhcmUpCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAuMTo4
NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFs
bG93PSJ3ZWItc2hhcmUgJ25vbmUnIiBNVVNUIE5PVCBiZSBhbGxvd2VkIHRvIGNhbGwgc2hhcmUo
KS4gTm90QWxsb3dlZEVycm9yIFRoaXJkLXBhcnR5IGlmcmFtZXMgYXJlIG5vdCBhbGxvd2VkIHRv
IGNhbGwgc2hhcmUoKSB1bmxlc3MgZXhwbGljaXRseSBhbGxvd2VkIHZpYSBGZWF0dXJlLVBvbGlj
eSAod2ViLXNoYXJlKQorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93
ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0i
d2ViLXNoYXJlICdzZWxmJyIgTVVTVCBOT1QgYmUgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkuIE5v
dEFsbG93ZWRFcnJvciBUaGlyZC1wYXJ0eSBpZnJhbWVzIGFyZSBub3QgYWxsb3dlZCB0byBjYWxs
IHNoYXJlKCkgdW5sZXNzIGV4cGxpY2l0bHkgYWxsb3dlZCB2aWEgRmVhdHVyZS1Qb2xpY3kgKHdl
Yi1zaGFyZSkKK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vic2hh
cmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1z
aGFyZSAnc2VsZiciIGlzIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpLgorUEFTUyBpZnJhbWUgc3Jj
OiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9z
dG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0
NDMiIGlzIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6
Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2Uu
aHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMiIE1VU1Qg
Tk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpLiBOb3RBbGxvd2VkRXJyb3IgVGhpcmQtcGFy
dHkgaWZyYW1lcyBhcmUgbm90IGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpIHVubGVzcyBleHBsaWNp
dGx5IGFsbG93ZWQgdmlhIEZlYXR1cmUtUG9saWN5ICh3ZWItc2hhcmUpCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRl
LXNoYXJlLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNo
YXJlLWFsbG93LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyOTZhOTk5
ODViNzQzMmJlMzNmNWM3YmZmMDAxYmUwYmUyOGNjMmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1zaGFy
ZS5odHRwcy5odG1sCkBAIC0wLDAgKzEsMTQ0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
ICA8aGVhZD4KKyAgICA8dGl0bGU+CisgICAgICBUZXN0IGFsbG93IGF0dHJpYnV0ZSB3aXRoICJ3
ZWItc2hhcmUiIGFuZCBzaGFyZSgpIG1ldGhvZAorICAgIDwvdGl0bGU+CisgICAgPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9ImluaXRpYWwtc2NhbGU9MSwgd2lkdGg9ZGV2aWNlLXdpZHRo
IiAvPgorICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48
L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgdGVzdFJ1bm5lcj8uZHVtcEFzVGV4dCgpOwor
ICAgICAgdGVzdFJ1bm5lcj8ud2FpdFVudGlsRG9uZSgpOworCisgICAgICBmdW5jdGlvbiB3YWl0
Rm9yKHRhcmdldCwgZXZlbnROYW1lKSB7CisgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVz
b2x2ZSkgPT4geworICAgICAgICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwg
cmVzb2x2ZSwgeyBvbmNlOiB0cnVlIH0pOworICAgICAgICB9KTsKKyAgICAgIH0KKworICAgICAg
ZnVuY3Rpb24gdXNlckFjdGl2YXRpb24oZWxlbWVudCkgeworICAgICAgICBjb25zdCBwcm9taXNl
ID0gVUlIZWxwZXIuaXNJT1NGYW1pbHkoKQorICAgICAgICAgID8gVUlIZWxwZXIudGFwRWxlbWVu
dChlbGVtZW50KQorICAgICAgICAgIDogVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGVsZW1lbnQp
OworICAgICAgICByZXR1cm4gcHJvbWlzZTsKKyAgICAgIH0KKworICAgICAgY29uc3QgaWZyYW1l
RGV0YWlscyA9IFsKKyAgICAgICAgeworICAgICAgICAgIGVuYWJsZWQ6ICJmYWxzZSIsCisgICAg
ICAgICAgc3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vi
c2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIsCisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAg
ICBlbmFibGVkOiAidHJ1ZSIsCisgICAgICAgICAgc3JjOiAiLi9yZXNvdXJjZXMvd2Vic2hhcmUt
cG9zdG1lc3NhZ2UuaHRtbCIsCisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICBhbGxv
dzogIndlYi1zaGFyZSIsCisgICAgICAgICAgZW5hYmxlZDogInRydWUiLAorICAgICAgICAgIHNy
YzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBv
c3RtZXNzYWdlLmh0bWwiLAorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgYWxsb3c6
ICJ3ZWItc2hhcmUiLAorICAgICAgICAgIGVuYWJsZWQ6ICJ0cnVlIiwKKyAgICAgICAgICBzcmM6
ICIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiwKKyAgICAgICAgfSwKKyAg
ICAgICAgeworICAgICAgICAgIGFsbG93OiAid2ViLXNoYXJlICoiLAorICAgICAgICAgIGVuYWJs
ZWQ6ICJ0cnVlIiwKKyAgICAgICAgICBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNo
YXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiwKKyAgICAgICAgfSwKKyAg
ICAgICAgeworICAgICAgICAgIGFsbG93OiAid2ViLXNoYXJlICoiLAorICAgICAgICAgIGVuYWJs
ZWQ6ICJ0cnVlIiwKKyAgICAgICAgICBzcmM6ICIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVz
c2FnZS5odG1sIiwKKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgIGFsbG93OiAid2Vi
LXNoYXJlICdub25lJyIsCisgICAgICAgICAgZW5hYmxlZDogImZhbHNlIiwKKyAgICAgICAgICBz
cmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1w
b3N0bWVzc2FnZS5odG1sIiwKKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgIGFsbG93
OiAid2ViLXNoYXJlICdub25lJyIsCisgICAgICAgICAgZW5hYmxlZDogImZhbHNlIiwKKyAgICAg
ICAgICBzcmM6ICIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiwKKyAgICAg
ICAgfSwKKyAgICAgICAgeworICAgICAgICAgIGFsbG93OiAid2ViLXNoYXJlICdzZWxmJyIsCisg
ICAgICAgICAgZW5hYmxlZDogImZhbHNlIiwKKyAgICAgICAgICBzcmM6ICJodHRwczovL2xvY2Fs
aG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiwK
KyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgIGFsbG93OiAid2ViLXNoYXJlICdzZWxm
JyIsCisgICAgICAgICAgZW5hYmxlZDogInRydWUiLAorICAgICAgICAgIHNyYzogIi4vcmVzb3Vy
Y2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiLAorICAgICAgICB9LAorICAgICAgICB7Cisg
ICAgICAgICAgYWxsb3c6ICJ3ZWItc2hhcmUgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MyIsCisgICAg
ICAgICAgZW5hYmxlZDogInRydWUiLAorICAgICAgICAgIHNyYzogImh0dHBzOi8vbG9jYWxob3N0
Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiLAorICAg
ICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgYWxsb3c6ICJ3ZWItc2hhcmUgaHR0cHM6Ly9s
b2NhbGhvc3Q6ODQ0MyIsCisgICAgICAgICAgZW5hYmxlZDogImZhbHNlIiwKKyAgICAgICAgICBz
cmM6ICIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiwKKyAgICAgICAgfSwK
KyAgICAgIF07CisKKyAgICAgIGFzeW5jIGZ1bmN0aW9uIGxvYWRJZnJhbWUoZGV0YWlscykgewor
ICAgICAgICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsK
KyAgICAgICAgaWYgKGRldGFpbHMuaGFzT3duUHJvcGVydHkoImFsbG93IikpIHsKKyAgICAgICAg
ICBpZnJhbWUuc2V0QXR0cmlidXRlKCJhbGxvdyIsIGRldGFpbHMuYWxsb3cpOworICAgICAgICB9
CisgICAgICAgIGlmcmFtZS5kYXRhc2V0LmVuYWJsZWQgPSBkZXRhaWxzLmVuYWJsZWQ7CisgICAg
ICAgIGlmcmFtZS5zcmMgPSBkZXRhaWxzLnNyYzsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChpZnJhbWUpOworICAgICAgICBhd2FpdCB3YWl0Rm9yKGlmcmFtZSwgImxvYWQiKTsK
KyAgICAgICAgcmV0dXJuIGlmcmFtZTsKKyAgICAgIH0KKworICAgICAgYXN5bmMgZnVuY3Rpb24g
cnVuVGVzdHMgKCkgeworICAgICAgICBmb3IgKGNvbnN0IGRldGFpbHMgb2YgaWZyYW1lRGV0YWls
cykgeworICAgICAgICAgIGNvbnN0IGlmcmFtZSA9IGF3YWl0IGxvYWRJZnJhbWUoZGV0YWlscyk7
CisgICAgICAgICAgY29uc3QgeyBlbmFibGVkIH0gPSBpZnJhbWUuZGF0YXNldDsKKyAgICAgICAg
ICBjb25zdCBpc0FsbG93ZWQgPSBlbmFibGVkID09PSAidHJ1ZSI7CisgICAgICAgICAgY29uc3Qg
YWN0aW9uID0gImNhbGwgc2hhcmUoKSI7CisgICAgICAgICAgaWZyYW1lLmNvbnRlbnRXaW5kb3cu
cG9zdE1lc3NhZ2UoeyBhY3Rpb24gfSwgIioiKTsKKyAgICAgICAgICBjb25zdCB7IGRhdGE6IGFj
dGl2YXRlTWUgfSA9IGF3YWl0IHdhaXRGb3Iod2luZG93LCAibWVzc2FnZSIpOworICAgICAgICAg
IGlmIChhY3RpdmF0ZU1lICE9PSAiYWN0aXZhdGUgbWUhIikgeworICAgICAgICAgICAgdGhyb3cg
bmV3IEVycm9yKCJFeHBlY3RlZCBhbiBhY3RpdmF0ZSByZXF1ZXN0OiIgKyBhY3RpdmF0ZU1lKTsK
KyAgICAgICAgICB9CisgICAgICAgICAgYXdhaXQgdXNlckFjdGl2YXRpb24oaWZyYW1lKTsKKyAg
ICAgICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IHdhaXRGb3Iod2luZG93LCAibWVzc2FnZSIp
OworICAgICAgICAgIGNvbnN0IHsgZXhjZXB0aW9uTWVzc2FnZSwgZXhjZXB0aW9uTmFtZSwgcmVz
dWx0IH0gPSBkYXRhOworICAgICAgICAgIGNvbnN0IG1zZyA9IGBpZnJhbWUgc3JjOiAiJHtpZnJh
bWUuc3JjfSIgd2l0aCBhbGxvdz0iJHsKKyAgICAgICAgICAgIGlmcmFtZS5hbGxvdworICAgICAg
ICAgIH0iICR7CisgICAgICAgICAgICBpc0FsbG93ZWQgPyAiaXMgYWxsb3dlZCB0byIgOiAiTVVT
VCBOT1QgYmUgYWxsb3dlZCB0byIKKyAgICAgICAgICB9ICR7YWN0aW9ufS4gJHtleGNlcHRpb25O
YW1lID8/ICIifSAke2V4Y2VwdGlvbk1lc3NhZ2UgPz8gIiJ9YDsKKyAgICAgICAgICBzd2l0Y2gg
KHJlc3VsdCkgeworICAgICAgICAgICAgY2FzZSAic2hhcmUgY29tcGxldGVkIjoKKyAgICAgICAg
ICAgICAgaXNBbGxvd2VkID8gdGVzdFBhc3NlZChtc2cpIDogdGVzdEZhaWxlZChtc2cpOworICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgInRocmV3IjoKKyAgICAgICAgICAg
ICAgaWYgKAorICAgICAgICAgICAgICAgICFpc0FsbG93ZWQgJiYKKyAgICAgICAgICAgICAgICBl
eGNlcHRpb25OYW1lID09PSAiTm90QWxsb3dlZEVycm9yIiAmJgorICAgICAgICAgICAgICAgIGV4
Y2VwdGlvbk1lc3NhZ2UuZW5kc1dpdGgoIkZlYXR1cmUtUG9saWN5ICh3ZWItc2hhcmUpIikKKyAg
ICAgICAgICAgICAgKSB7CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZChtc2cpOworICAgICAg
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQobXNnKTsKKyAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6Cisg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQobXNnICsgYCAtIHJlc3VsdCB3YXM6ICR7cmVzdWx0fWAp
OworICAgICAgICAgIH0KKyAgICAgICAgICBpZnJhbWUucmVtb3ZlKCk7CisgICAgICAgIH0KKyAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICB9CisgICAgPC9zY3JpcHQ+Cisg
IDwvaGVhZD4KKyAgPGJvZHkgb25sb2FkPSJydW5UZXN0cygpIj4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlYzJlNTEyYTM0
Yjk5NzhjYzQ1ZDhmZjhlNTQxOTc0ODZiNTIxMWQxLi4zN2I2OGIxYjUwZDFhMjg0MGU3ZmY4MTYx
NTg2OWJkNzcyZjQwNWU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sx
L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0
RXhwZWN0YXRpb25zCkBAIC0xNDE2LDMgKzE0MTYsNiBAQCB3ZWJraXQub3JnL2IvMjI5ODc3IHdl
YnJ0Yy9kYXRhY2hhbm5lbC9nZXRTdGF0cy1uby1wcmZseC1yZW1vdGUtY2FuZGlkYXRlLmh0bWwg
Wwogd2Via2l0Lm9yZy9iLzIzMDA1NSBbIEJpZ1N1ciBdIHdlYnJ0Yy9kYXRhY2hhbm5lbC9kYXRh
Y2hhbm5lbC1wYWdlLWNhY2hlLXNlbmQuaHRtbCBbIFBhc3MgVGltZW91dCBdCiAKIHdlYmtpdC5v
cmcvYi8yMjgyMTEgY3NzMi4xLzIwMTEwMzIzL3JlcGxhY2VkLWludHJpbnNpYy0wMDMuaHRtIFsg
UGFzcyBGYWlsdXJlIF0KKworIyB3ZWJraXQub3JnL2IvMjE0NDQ4IFdlYiBTaGFyZSBBUEkgaXMg
bm90IGltcGxlbWVudGVkIGZvciBtYWMtd2sxCitodHRwL3Rlc3RzL3dlYnNoYXJlLyBbIFNraXAg
XQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA5YzE0MjMw
OThmYmJiZmQzNjFmNGI2NWUzMDEzYzMzODM0ZTQwNjAwLi5hYWQ1ZDc0ZTBmMDJmNjQ5M2FiY2Yy
YzUzNGMyNmUxM2ZmYWI5ODdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4v
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMTQ3LDcgKzE0Nyw3IEBAIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L3JlcG9ydC1jcm9zcy1vcmlnaW4tbm8tY29va2llcy5weSBbIFNrCiBodHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXBvcnQtY3Jvc3Mtb3JpZ2lu
LW5vLWNvb2tpZXMtd2hlbi1wcml2YXRlLWJyb3dzaW5nLWVuYWJsZWQucHkgWyBTa2lwIF0gCiBo
dHRwL3Rlc3RzL25hdmlnYXRpb24vcGluZy1hdHRyaWJ1dGUvYXJlYS1jcm9zcy1vcmlnaW4uaHRt
bCBbIFNraXAgXSAKIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9waW5nLWF0dHJpYnV0ZS9hbmNob3It
Y3Jvc3Mtb3JpZ2luLmh0bWwgWyBTa2lwIF0gCi1odHRwL3Rlc3RzL3JlZmVycmVyLXBvbGljeS9u
by1yZWZlcnJlci13aGVuLWRvd25ncmFkZS8gWyBTa2lwIF0gCitodHRwL3Rlc3RzL3JlZmVycmVy
LXBvbGljeS9uby1yZWZlcnJlci13aGVuLWRvd25ncmFkZS8gWyBTa2lwIF0KIGh0dHAvdGVzdHMv
cmVmZXJyZXItcG9saWN5L3Vuc2FmZS11cmwvY3Jvc3Mtb3JpZ2luLWh0dHAtaHR0cC5odG1sIFsg
U2tpcCBdIAogaHR0cC90ZXN0cy9yZWZlcnJlci1wb2xpY3kvdW5zYWZlLXVybC9jcm9zcy1vcmln
aW4taHR0cC5odHRwcy5odG1sIFsgU2tpcCBdIAogaHR0cC90ZXN0cy9yZWZlcnJlci1wb2xpY3kt
aW1nL25vLXJlZmVycmVyLXdoZW4tZG93bmdyYWRlLyBbIFNraXAgXSAKQEAgLTQ2OTAsMyArNDY5
MCw2IEBAIHdlYmtpdC5vcmcvYi8yMjkzNzkgZmFzdC92aXN1YWwtdmlld3BvcnQvcmVzaXplLWV2
ZW50LWZpcmVkLXdpbmRvdy1yZXNpemVkLmh0bWwKIHdlYmtpdC5vcmcvYi8yMTUzMTggZmFzdC90
ZXh0L3p3ai1saWdhdHVyZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcv
Yi8yMjk1OTQganMvZGZnLWludDE2YXJyYXkuaHRtbCBbIFBhc3MgQ3Jhc2ggXQorCisjIHdlYmtp
dC5vcmcvYi8yMTQ0NDggV2ViIFNoYXJlIEFQSSBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIFdp
bmRvd3MgcG9ydAoraHR0cC90ZXN0cy93ZWJzaGFyZS8gWyBTa2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438640</attachid>
            <date>2021-09-19 23:10:43 -0700</date>
            <delta_ts>2021-09-20 07:22:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214448-20210920161042.patch</filename>
            <type>text/plain</type>
            <size>27299</size>
            <attacher name="Marcos Caceres">marcos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNzQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzY1NmE5NDRlODZlNjUw
NjdjMWRkYWZmMjQxNDZjOTNkOGZhNDA4Ny4uZDAzYzk1ZjQ1NTcyZDVjYzhkZWE4OTYwYWM4NzY0
ZTk0YjQ5MDU0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA5LTE5ICBNYXJj
b3MgQ2FjZXJlcyAgPG1hcmNvc0BtYXJjb3NjLmNvbT4KKworICAgICAgICBXZWIgU2hhcmUgcGVy
bWlzc2lvbiBwb2xpY3kgIndlYi1zaGFyZSIgYW5kICJzZWxmIiBhcyB0aGUgYWxsb3dsaXN0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ0NDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czogaHR0
cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMu
aHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1h
dHRyaWJ1dGUtc2hhcmUuaHR0cHMuaHRtbAorCisgICAgICAgICogaHRtbC9GZWF0dXJlUG9saWN5
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBvbGljeVR5cGVOYW1lKToKKyAgICAgICAgKFdlYkNv
cmU6OkZlYXR1cmVQb2xpY3k6OnBhcnNlKToKKyAgICAgICAgKFdlYkNvcmU6OkZlYXR1cmVQb2xp
Y3k6OmFsbG93cyBjb25zdCk6CisgICAgICAgICogaHRtbC9GZWF0dXJlUG9saWN5Lmg6CisgICAg
ICAgICogcGFnZS9OYXZpZ2F0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yOjpj
YW5TaGFyZSk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3I6OnNoYXJlKToKKwogMjAyMS0w
OS0xOSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBU
ZWFjaCBgV2ViS2l0OjpjcmVhdGVTaGFyZWFibGVCaXRtYXBgIHRvIHNuYXBzaG90IHZpZGVvIGVs
ZW1lbnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZlYXR1cmVQb2xpY3kuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9GZWF0dXJlUG9saWN5LmNwcAppbmRleCAwZjQyMTYzZDNl
ZDBiZDBiNmY3OGY2Y2VkYWM2ZDQ0MDBmODExZWY3Li42ZTU2Y2MyOTRmYTExYjUzYzcxMDMyZmFj
ODkxNjE3YjY2M2NlODYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZlYXR1cmVQ
b2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmVhdHVyZVBvbGljeS5jcHAKQEAg
LTU2LDYgKzU2LDggQEAgc3RhdGljIGNvbnN0IGNoYXIqIHBvbGljeVR5cGVOYW1lKEZlYXR1cmVQ
b2xpY3k6OlR5cGUgdHlwZSkKICAgICAgICAgcmV0dXJuICJTeW5jWEhSIjsKICAgICBjYXNlIEZl
YXR1cmVQb2xpY3k6OlR5cGU6OkZ1bGxzY3JlZW46CiAgICAgICAgIHJldHVybiAiRnVsbHNjcmVl
biI7CisgICAgY2FzZSBGZWF0dXJlUG9saWN5OjpUeXBlOjpXZWJTaGFyZToKKyAgICAgICAgcmV0
dXJuICJXZWJTaGFyZSI7CiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKICAgICBjYXNl
IEZlYXR1cmVQb2xpY3k6OlR5cGU6Okd5cm9zY29wZToKICAgICAgICAgcmV0dXJuICJHeXJvc2Nv
cGUiOwpAQCAtMTc1LDYgKzE3Nyw3IEBAIEZlYXR1cmVQb2xpY3kgRmVhdHVyZVBvbGljeTo6cGFy
c2UoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBIVE1MSUZyYW1lRWxlbWVudCYKICAgICBib29s
IGlzUGF5bWVudEluaXRpYWxpemVkID0gZmFsc2U7CiAgICAgYm9vbCBpc1N5bmNYSFJJbml0aWFs
aXplZCA9IGZhbHNlOwogICAgIGJvb2wgaXNGdWxsc2NyZWVuSW5pdGlhbGl6ZWQgPSBmYWxzZTsK
KyAgICBib29sIGlzV2ViU2hhcmVJbml0aWFsaXplZCA9IGZhbHNlOwogI2lmIEVOQUJMRShERVZJ
Q0VfT1JJRU5UQVRJT04pCiAgICAgYm9vbCBpc0d5cm9zY29wZUluaXRpYWxpemVkID0gZmFsc2U7
CiAgICAgYm9vbCBpc0FjY2VsZXJvbWV0ZXJJbml0aWFsaXplZCA9IGZhbHNlOwpAQCAtMjI1LDYg
KzIyOCwxMSBAQCBGZWF0dXJlUG9saWN5IEZlYXR1cmVQb2xpY3k6OnBhcnNlKERvY3VtZW50JiBk
b2N1bWVudCwgY29uc3QgSFRNTElGcmFtZUVsZW1lbnQmCiAgICAgICAgICAgICB1cGRhdGVMaXN0
KGRvY3VtZW50LCBwb2xpY3kubV9mdWxsc2NyZWVuUnVsZSwgaXRlbS5zdWJzdHJpbmcoMTEpKTsK
ICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CisgICAgICAgIGlmIChpdGVtLnN0YXJ0
c1dpdGgoIndlYi1zaGFyZSIpKSB7CisgICAgICAgICAgICBpc1dlYlNoYXJlSW5pdGlhbGl6ZWQg
PSB0cnVlOworICAgICAgICAgICAgdXBkYXRlTGlzdChkb2N1bWVudCwgcG9saWN5Lm1fd2ViU2hh
cmVSdWxlLCBpdGVtLnN1YnN0cmluZygxMCkpOworICAgICAgICAgICAgY29udGludWU7CisgICAg
ICAgIH0KICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQogICAgICAgICBpZiAoaXRlbS5z
dGFydHNXaXRoKCJneXJvc2NvcGUiKSkgewogICAgICAgICAgICAgaXNHeXJvc2NvcGVJbml0aWFs
aXplZCA9IHRydWU7CkBAIC0yNjQsNiArMjcyLDggQEAgRmVhdHVyZVBvbGljeSBGZWF0dXJlUG9s
aWN5OjpwYXJzZShEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IEhUTUxJRnJhbWVFbGVtZW50Jgog
ICAgICAgICBwb2xpY3kubV9nZW9sb2NhdGlvblJ1bGUuYWxsb3dlZExpc3QuYWRkKGRvY3VtZW50
LnNlY3VyaXR5T3JpZ2luKCkuZGF0YSgpKTsKICAgICBpZiAoIWlzUGF5bWVudEluaXRpYWxpemVk
KQogICAgICAgICBwb2xpY3kubV9wYXltZW50UnVsZS5hbGxvd2VkTGlzdC5hZGQoZG9jdW1lbnQu
c2VjdXJpdHlPcmlnaW4oKS5kYXRhKCkpOworICAgIGlmICghaXNXZWJTaGFyZUluaXRpYWxpemVk
KQorICAgICAgICBwb2xpY3kubV93ZWJTaGFyZVJ1bGUuYWxsb3dlZExpc3QuYWRkKGRvY3VtZW50
LnNlY3VyaXR5T3JpZ2luKCkuZGF0YSgpKTsKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9O
KQogICAgIGlmICghaXNHeXJvc2NvcGVJbml0aWFsaXplZCkKICAgICAgICAgcG9saWN5Lm1fZ3ly
b3Njb3BlUnVsZS5hbGxvd2VkTGlzdC5hZGQoZG9jdW1lbnQuc2VjdXJpdHlPcmlnaW4oKS5kYXRh
KCkpOwpAQCAtMzE3LDYgKzMyNyw4IEBAIGJvb2wgRmVhdHVyZVBvbGljeTo6YWxsb3dzKFR5cGUg
dHlwZSwgY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiBvcmlnaW4pIGNvbnN0CiAgICAgICAgIHJl
dHVybiBpc0FsbG93ZWRCeUZlYXR1cmVQb2xpY3kobV9zeW5jWEhSUnVsZSwgb3JpZ2luKTsKICAg
ICBjYXNlIFR5cGU6OkZ1bGxzY3JlZW46CiAgICAgICAgIHJldHVybiBpc0FsbG93ZWRCeUZlYXR1
cmVQb2xpY3kobV9mdWxsc2NyZWVuUnVsZSwgb3JpZ2luKTsKKyAgICBjYXNlIFR5cGU6OldlYlNo
YXJlOgorICAgICAgICByZXR1cm4gaXNBbGxvd2VkQnlGZWF0dXJlUG9saWN5KG1fd2ViU2hhcmVS
dWxlLCBvcmlnaW4pOwogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAgICAgY2FzZSBU
eXBlOjpHeXJvc2NvcGU6CiAgICAgICAgIHJldHVybiBpc0FsbG93ZWRCeUZlYXR1cmVQb2xpY3ko
bV9neXJvc2NvcGVSdWxlLCBvcmlnaW4pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9GZWF0dXJlUG9saWN5LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZlYXR1cmVQb2xpY3kuaApp
bmRleCA3OWU2NmZiMTY0MWIyNDE2YmIzOTc2Yjc2YTE0OGE4YTEwZmRhZjc1Li5lNjQwZjhhNWQ3
MjNkZTAxZTlhNjRiNTEwNjY2YjkzYTY3OTdhNzkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0ZlYXR1cmVQb2xpY3kuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZlYXR1cmVQ
b2xpY3kuaApAQCAtNDcsNiArNDcsNyBAQCBwdWJsaWM6CiAgICAgICAgIFBheW1lbnQsCiAgICAg
ICAgIFN5bmNYSFIsCiAgICAgICAgIEZ1bGxzY3JlZW4sCisgICAgICAgIFdlYlNoYXJlLAogI2lm
IEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAgICAgICAgIEd5cm9zY29wZSwKICAgICAgICAg
QWNjZWxlcm9tZXRlciwKQEAgLTczLDYgKzc0LDggQEAgcHJpdmF0ZToKICAgICBBbGxvd1J1bGUg
bV9wYXltZW50UnVsZTsKICAgICBBbGxvd1J1bGUgbV9zeW5jWEhSUnVsZTsKICAgICBBbGxvd1J1
bGUgbV9mdWxsc2NyZWVuUnVsZTsKKyAgICBBbGxvd1J1bGUgbV93ZWJTaGFyZVJ1bGU7CisKICNp
ZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQogICAgIEFsbG93UnVsZSBtX2d5cm9zY29wZVJ1
bGU7CiAgICAgQWxsb3dSdWxlIG1fYWNjZWxlcm9tZXRlclJ1bGU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmln
YXRvci5jcHAKaW5kZXggMjVkNTJhM2Y5NjYyZTUyNzFhZjM1YTRjNzRjYTUyYTdlMDQ4NzVjMi4u
NmYxOWIyZWIzYmU0Nzk4NjVlNWM1NDRlZDA0NWNlNDdjNGZkMTNiYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
TmF2aWdhdG9yLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkRPTVBsdWdpbi5oIgog
I2luY2x1ZGUgIkRPTVBsdWdpbkFycmF5LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNs
dWRlICJGZWF0dXJlUG9saWN5LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFt
ZUxvYWRlci5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xpZW50LmgiCkBAIC0xMjksNiArMTMw
LDkgQEAgYm9vbCBOYXZpZ2F0b3I6OmNhblNoYXJlKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3Qg
U2hhcmVEYXRhJiBkYXRhKQogICAgIGlmICghZG9jdW1lbnQuaXNGdWxseUFjdGl2ZSgpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAoIWlzRmVhdHVyZVBvbGljeUFsbG93ZWRCeURv
Y3VtZW50QW5kQWxsT3duZXJzKEZlYXR1cmVQb2xpY3k6OlR5cGU6OldlYlNoYXJlLCBkb2N1bWVu
dCwgTG9nRmVhdHVyZVBvbGljeUZhaWx1cmU6OlllcykpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KwogICAgIGJvb2wgaGFzU2hhcmVhYmxlVGl0bGVPclRleHQgPSAhZGF0YS50aXRsZS5pc051bGwo
KSB8fCAhZGF0YS50ZXh0LmlzTnVsbCgpOwogICAgIGJvb2wgaGFzU2hhcmVhYmxlVVJMID0gISFz
aGFyZWFibGVVUkxGb3JTaGFyZURhdGEoZG9jdW1lbnQsIGRhdGEpOwogI2lmIEVOQUJMRShGSUxF
X1NIQVJFKQpAQCAtMTQ3LDYgKzE1MSwxMSBAQCB2b2lkIE5hdmlnYXRvcjo6c2hhcmUoRG9jdW1l
bnQmIGRvY3VtZW50LCBjb25zdCBTaGFyZURhdGEmIGRhdGEsIFJlZjxEZWZlcnJlZFBybwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCisgICAgaWYgKCFpc0ZlYXR1cmVQb2xpY3lBbGxvd2VkQnlE
b2N1bWVudEFuZEFsbE93bmVycyhGZWF0dXJlUG9saWN5OjpUeXBlOjpXZWJTaGFyZSwgZG9jdW1l
bnQsIExvZ0ZlYXR1cmVQb2xpY3lGYWlsdXJlOjpZZXMpKSB7CisgICAgICAgIHByb21pc2UtPnJl
amVjdChOb3RBbGxvd2VkRXJyb3IsICJUaGlyZC1wYXJ0eSBpZnJhbWVzIGFyZSBub3QgYWxsb3dl
ZCB0byBjYWxsIHNoYXJlKCkgdW5sZXNzIGV4cGxpY2l0bHkgYWxsb3dlZCB2aWEgRmVhdHVyZS1Q
b2xpY3kgKHdlYi1zaGFyZSkiX3MpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgaWYg
KG1faGFzUGVuZGluZ1NoYXJlKSB7CiAgICAgICAgIHByb21pc2UtPnJlamVjdChOb3RBbGxvd2Vk
RXJyb3IpOwogICAgICAgICByZXR1cm47CkBAIC0xNzMsNyArMTgyLDcgQEAgdm9pZCBOYXZpZ2F0
b3I6OnNoYXJlKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU2hhcmVEYXRhJiBkYXRhLCBSZWY8
RGVmZXJyZWRQcm8KICAgICBpZiAoZG9jdW1lbnQuc2V0dGluZ3MoKS53ZWJTaGFyZUZpbGVBUElF
bmFibGVkKCkgJiYgIWRhdGEuZmlsZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgIGlmIChtX2xvYWRl
cikKICAgICAgICAgICAgIG1fbG9hZGVyLT5jYW5jZWwoKTsKLSAgICAgICAgCisKICAgICAgICAg
bV9sb2FkZXIgPSBTaGFyZURhdGFSZWFkZXI6OmNyZWF0ZShbdGhpcywgcHJvbWlzZSA9IFdURk1v
dmUocHJvbWlzZSldIChFeGNlcHRpb25PcjxTaGFyZURhdGFXaXRoUGFyc2VkVVJMJj4gcmVhZERh
dGEpIG11dGFibGUgewogICAgICAgICAgICAgc2hvd1NoYXJlRGF0YShyZWFkRGF0YSwgV1RGTW92
ZShwcm9taXNlKSk7CiAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGIyOTZkZDZiMjJlZTAyNzllNjJmZGI5
OGY4NjZhN2QwNWFiYWQwMGIuLmFlOWIwZGUwOGUzN2Q2MWQxNjBhMTU3YmVkM2EyMGExYzlhNzUy
NDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMS0wOS0xOSAgTWFyY29zIENhY2VyZXMgIDxt
YXJjb3NAbWFyY29zYy5jb20+CisKKyAgICAgICAgV2ViIFNoYXJlIHBlcm1pc3Npb24gcG9saWN5
ICJ3ZWItc2hhcmUiIGFuZCAic2VsZiIgYXMgdGhlIGFsbG93bGlzdAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0NDQ4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNoYXJlL3Jl
c291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1jYW5TaGFyZS5odHRwcy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hh
cmUtYWxsb3ctYXR0cmlidXRlLWNhblNoYXJlLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLXNoYXJlLmh0dHBz
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJz
aGFyZS1hbGxvdy1hdHRyaWJ1dGUtc2hhcmUuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL3dp
bi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTA5LTE5ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFw
cGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGdhcmRlbmluZyBhZnRlciByMjgyNzM4Lgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vi
c2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUv
cmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTJjMWQ5ZGFk
YmVkMDZiNjI4YTVjZDFkZGU2YjNkN2Y1NjQ1MTY2ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdl
Lmh0bWwKQEAgLTAsMCArMSw3MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCIgLz4KKzxtZXRhIHZpZXdwb3J0PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2Nh
bGU9MS4wIiAvPgorPHN0eWxlPgorICBodG1sIHsKKyAgICBoZWlnaHQ6IDEwMCU7CisgICAgbWFy
Z2luOiAwOworICAgIHBhZGRpbmc6IDA7CisgIH0KKyAgYm9keSB7CisgICAgbWFyZ2luOiAwOwor
ICAgIHBhZGRpbmc6IDA7CisgICAgZGlzcGxheTogZ3JpZDsKKyAgfQorICBidXR0b24geworICAg
IGhlaWdodDogMTAwdmg7CisgICAgd2lkdGg6IDEwMCU7CisgICAgYm9yZGVyOiAxcHggc29saWQg
YmxhY2s7CisgIH0KKzwvc3R5bGU+Cis8Ym9keT4KKyAgPGJ1dHRvbiBpZD0ic2hhcmUtYnV0dG9u
Ij5TSEFSRSE8L2J1dHRvbj4KKyAgPHNjcmlwdD4KKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cigKKyAgICAgICJtZXNzYWdlIiwKKyAgICAgIGFzeW5jIChldmVudCkgPT4geworICAgICAgICBj
b25zdCBzaGFyZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaGFyZS1idXR0b24i
KTsKKyAgICAgICAgY29uc3QgeyBhY3Rpb24gfSA9IGV2ZW50LmRhdGE7CisgICAgICAgIGxldCBy
ZXN1bHQgPSBudWxsOworICAgICAgICBsZXQgZXhjZXB0aW9uTWVzc2FnZTsKKyAgICAgICAgbGV0
IGV4Y2VwdGlvbk5hbWU7CisgICAgICAgIHN3aXRjaCAoYWN0aW9uKSB7CisgICAgICAgICAgY2Fz
ZSAiY2FsbCBjYW5TaGFyZSgpIjoKKyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgIHJl
c3VsdCA9IG5hdmlnYXRvci5jYW5TaGFyZSh7IHRleHQ6ICJzb21lIHRleHQiIH0pOworICAgICAg
ICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAgICBleGNlcHRpb25NZXNzYWdlID0gZS5t
ZXNzYWdlOworICAgICAgICAgICAgICBleGNlcHRpb25OYW1lID0gZS5uYW1lOworICAgICAgICAg
ICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgY2FzZSAiY2FsbCBzaGFyZSgpIjoK
KyAgICAgICAgICAgIGF3YWl0IHVzZXJBY3RpdmF0aW9uRnJvbVBhcmVudChzaGFyZUJ1dHRvbiwg
ZXZlbnQpOworICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgYXdhaXQgbmF2aWdhdG9y
LnNoYXJlKHsgdGV4dDogInNvbWUgdGV4dCIgfSk7CisgICAgICAgICAgICAgIHJlc3VsdCA9ICJz
aGFyZSBjb21wbGV0ZWQiOworICAgICAgICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAg
ICByZXN1bHQgPSAidGhyZXciOworICAgICAgICAgICAgICBleGNlcHRpb25NZXNzYWdlID0gZS5t
ZXNzYWdlOworICAgICAgICAgICAgICBleGNlcHRpb25OYW1lID0gZS5uYW1lOworICAgICAgICAg
ICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAg
IHRocm93IG5ldyBFcnJvcihgVW5rbm93biBhY3Rpb246ICR7YWN0aW9ufWApOworICAgICAgICB9
CisgICAgICAgIGV2ZW50LnNvdXJjZS5wb3N0TWVzc2FnZSgKKyAgICAgICAgICB7IGFjdGlvbiwg
cmVzdWx0LCBleGNlcHRpb25NZXNzYWdlLCBleGNlcHRpb25OYW1lIH0sCisgICAgICAgICAgZXZl
bnQub3JpZ2luCisgICAgICAgICk7CisgICAgICB9LAorICAgICAgeyBvbmNlOiB0cnVlIH0KKyAg
ICApOworCisgICAgZnVuY3Rpb24gdXNlckFjdGl2YXRpb25Gcm9tUGFyZW50KHNoYXJlQnV0dG9u
LCBldmVudCkgeworICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAg
ICAgIHNoYXJlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgcmVzb2x2ZSwgeyBvbmNl
OiB0cnVlIH0pOworICAgICAgICBldmVudC5zb3VyY2UucG9zdE1lc3NhZ2UoImFjdGl2YXRlIG1l
ISIsIGV2ZW50Lm9yaWdpbik7CisgICAgICB9KTsKKyAgICB9CisgIDwvc2NyaXB0PgorPC9ib2R5
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1h
bGxvdy1hdHRyaWJ1dGUtY2FuU2hhcmUuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzaGFyZS93ZWJzaGFyZS1hbGxvdy1hdHRyaWJ1dGUtY2FuU2hhcmUuaHR0
cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxZGY3M2E0MGI2OWQ2Mzg2ZmZiNThmYWQyMzY4
ZTkwNTAyNDgxY2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1jYW5TaGFyZS5odHRwcy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxOCBAQAorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnV2Vi
U2hhcmUnIGNoZWNrIGZhaWxlZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovL2xvY2Fs
aG9zdDo4NDQzJyBhbmQgYWxsb3cgYXR0cmlidXRlICcnLgorQ09OU09MRSBNRVNTQUdFOiBGZWF0
dXJlIHBvbGljeSAnV2ViU2hhcmUnIGNoZWNrIGZhaWxlZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2lu
ICdodHRwczovL2xvY2FsaG9zdDo4NDQzJyBhbmQgYWxsb3cgYXR0cmlidXRlICd3ZWItc2hhcmUg
J25vbmUnJy4KK0NPTlNPTEUgTUVTU0FHRTogRmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVj
ayBmYWlsZWQgZm9yIGlmcmFtZSB3aXRoIG9yaWdpbiAnaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0Mycg
YW5kIGFsbG93IGF0dHJpYnV0ZSAnd2ViLXNoYXJlICdub25lJycuCitDT05TT0xFIE1FU1NBR0U6
IEZlYXR1cmUgcG9saWN5ICdXZWJTaGFyZScgY2hlY2sgZmFpbGVkIGZvciBpZnJhbWUgd2l0aCBv
cmlnaW4gJ2h0dHBzOi8vbG9jYWxob3N0Ojg0NDMnIGFuZCBhbGxvdyBhdHRyaWJ1dGUgJ3dlYi1z
aGFyZSAnc2VsZicnLgorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUn
IGNoZWNrIGZhaWxlZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovLzEyNy4wLjAuMTo4
NDQzJyBhbmQgYWxsb3cgYXR0cmlidXRlICd3ZWItc2hhcmUgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0
MycuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jl
c291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSIiIE1VU1QgTk9U
IGJlIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6
Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2Uu
aHRtbCIgd2l0aCBhbGxvdz0iIiBpcyBhbGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1Mg
aWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dl
YnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSIgaXMgYWxsb3dl
ZCB0byBjYWxsIGNhblNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6ICJodHRwczovLzEyNy4wLjAu
MTo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRo
IGFsbG93PSJ3ZWItc2hhcmUiIGlzIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBp
ZnJhbWUgc3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vi
c2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICoiIGlzIGFsbG93
ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4w
LjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0
aCBhbGxvdz0id2ViLXNoYXJlICoiIGlzIGFsbG93ZWQgdG8gY2FsbCBjYW5TaGFyZSgpLgorUEFT
UyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMv
d2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICdub25lJyIg
TVVTVCBOT1QgYmUgYWxsb3dlZCB0byBjYWxsIGNhblNoYXJlKCkuCitQQVNTIGlmcmFtZSBzcmM6
ICJodHRwczovLzEyNy4wLjAuMTo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0
bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgJ25vbmUnIiBNVVNUIE5PVCBiZSBh
bGxvd2VkIHRvIGNhbGwgY2FuU2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9j
YWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwi
IHdpdGggYWxsb3c9IndlYi1zaGFyZSAnc2VsZiciIE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2Fs
bCBjYW5TaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93
ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0i
d2ViLXNoYXJlICdzZWxmJyIgaXMgYWxsb3dlZCB0byBjYWxsIGNhblNoYXJlKCkuCitQQVNTIGlm
cmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJz
aGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgaHR0cHM6Ly9sb2Nh
bGhvc3Q6ODQ0MyIgaXMgYWxsb3dlZCB0byBjYWxsIGNhblNoYXJlKCkuCitQQVNTIGlmcmFtZSBz
cmM6ICJodHRwczovLzEyNy4wLjAuMTo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1w
b3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgaHR0cHM6Ly9sb2NhbGhvc3Q6
ODQ0MyIgTVVTVCBOT1QgYmUgYWxsb3dlZCB0byBjYWxsIGNhblNoYXJlKCkuCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmli
dXRlLWNhblNoYXJlLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJl
L3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1jYW5TaGFyZS5odHRwcy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgxNTQzNDc4NWEyZDI0YjgzNWNiYzMzNTg0YmU5MzIxNzJkZWZjNmUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJp
YnV0ZS1jYW5TaGFyZS5odHRwcy5odG1sCkBAIC0wLDAgKzEsMTA5IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8dGl0bGU+CisgICAgICBUZXN0IGFsbG93IGF0dHJp
YnV0ZSB3aXRoICJ3ZWItc2hhcmUiIGFuZCBjYW5TaGFyZSgpIG1ldGhvZAorICAgIDwvdGl0bGU+
CisgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9ImluaXRpYWwtc2NhbGU9NSwgd2lk
dGg9ZGV2aWNlLXdpZHRoIiAvPgorICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAgICB0ZXN0UnVubmVyPy5kdW1w
QXNUZXh0KCk7CisgICAgICB0ZXN0UnVubmVyPy53YWl0VW50aWxEb25lKCk7CisKKyAgICAgIGZ1
bmN0aW9uIHdhaXRGb3IodGFyZ2V0LCBldmVudE5hbWUpIHsKKyAgICAgICAgcmV0dXJuIG5ldyBQ
cm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICAgICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIo
ZXZlbnROYW1lLCByZXNvbHZlLCB7IG9uY2U6IHRydWUgfSk7CisgICAgICAgIH0pOworICAgICAg
fQorCisgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGFzeW5jICgpID0+IHsK
KyAgICAgICAgZm9yIChjb25zdCBpZnJhbWUgb2YgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgi
aWZyYW1lIikpIHsKKyAgICAgICAgICBjb25zdCB7IGVuYWJsZWQsIHNyYyB9ID0gaWZyYW1lLmRh
dGFzZXQ7CisgICAgICAgICAgY29uc3QgaXNBbGxvd2VkID0gZW5hYmxlZCA9PT0gInRydWUiOwor
ICAgICAgICAgIGNvbnN0IGFjdGlvbiA9ICJjYWxsIGNhblNoYXJlKCkiOworICAgICAgICAgIGlm
cmFtZS5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKHsgYWN0aW9uIH0sICIqIik7CisgICAgICAg
ICAgY29uc3QgeyBkYXRhIH0gPSBhd2FpdCB3YWl0Rm9yKHdpbmRvdywgIm1lc3NhZ2UiKTsKKyAg
ICAgICAgICBjb25zdCB7IGV4Y2VwdGlvbk1lc3NhZ2UsIGV4Y2VwdGlvbk5hbWUsIHJlc3VsdCB9
ID0gZGF0YTsKKworICAgICAgICAgIGNvbnN0IG1zZyA9IGBpZnJhbWUgc3JjOiAiJHtpZnJhbWUu
c3JjfSIgd2l0aCBhbGxvdz0iJHsKKyAgICAgICAgICAgIGlmcmFtZS5hbGxvdworICAgICAgICAg
IH0iICR7CisgICAgICAgICAgICBpc0FsbG93ZWQgPyAiaXMgYWxsb3dlZCB0byIgOiAiTVVTVCBO
T1QgYmUgYWxsb3dlZCB0byIKKyAgICAgICAgICB9ICR7YWN0aW9ufS4gJHtleGNlcHRpb25OYW1l
ID8/ICIifSAke2V4Y2VwdGlvbk1lc3NhZ2UgPz8gIiJ9YDsKKworICAgICAgICAgIHN3aXRjaCAo
cmVzdWx0KSB7CisgICAgICAgICAgICBjYXNlIHRydWU6CisgICAgICAgICAgICAgIGlzQWxsb3dl
ZCA/IHRlc3RQYXNzZWQobXNnKSA6IHRlc3RGYWlsZWQobXNnKTsKKyAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICBjYXNlIGZhbHNlOgorICAgICAgICAgICAgICAhaXNBbGxvd2VkID8g
dGVzdFBhc3NlZChtc2cpIDogdGVzdEZhaWxlZChtc2cpOworICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgIHRlc3RGYWlsZWQobXNnICsgYCAt
IHJlc3VsdCB3YXM6ICR7cmVzdWx0fWApOworICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAg
ICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgIH0pOworICAgIDwvc2NyaXB0PgorICA8
L2hlYWQ+CisgIDxib2R5PgorICAgIDxpZnJhbWUKKyAgICAgIGRhdGEtZW5hYmxlZD0iZmFsc2Ui
CisgICAgICBzcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dl
YnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAg
ICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iLi9yZXNvdXJjZXMvd2Vic2hhcmUt
cG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxs
b3c9IndlYi1zaGFyZSIKKyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iaHR0
cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3Nh
Z2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1z
aGFyZSIKKyAgICAgIGRhdGEtZW5hYmxlZD0idHJ1ZSIKKyAgICAgIHNyYz0iLi9yZXNvdXJjZXMv
d2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+CisgICAgPGlmcmFtZQor
ICAgICAgYWxsb3c9IndlYi1zaGFyZSAqIgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAg
ICAgc3JjPSJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFy
ZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBh
bGxvdz0id2ViLXNoYXJlICoiCisgICAgICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAgICBzcmM9
Ii4vcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgor
ICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUgJ25vbmUnIgorICAgICAgZGF0YS1l
bmFibGVkPSJmYWxzZSIKKyAgICAgIHNyYz0iaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFy
ZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIKKyAgICA+PC9pZnJhbWU+Cisg
ICAgPGlmcmFtZQorICAgICAgYWxsb3c9IndlYi1zaGFyZSAnbm9uZSciCisgICAgICBkYXRhLWVu
YWJsZWQ9ImZhbHNlIgorICAgICAgc3JjPSIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2Fn
ZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZyYW1lCisgICAgICBhbGxvdz0id2ViLXNo
YXJlICdzZWxmJyIKKyAgICAgIGRhdGEtZW5hYmxlZD0iZmFsc2UiCisgICAgICBzcmM9Imh0dHBz
Oi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdl
Lmh0bWwiCisgICAgPjwvaWZyYW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hh
cmUgJ3NlbGYnIgorICAgICAgZGF0YS1lbmFibGVkPSJ0cnVlIgorICAgICAgc3JjPSIuL3Jlc291
cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIgorICAgID48L2lmcmFtZT4KKyAgICA8aWZy
YW1lCisgICAgICBhbGxvdz0id2ViLXNoYXJlIGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMiCisgICAg
ICBkYXRhLWVuYWJsZWQ9InRydWUiCisgICAgICBzcmM9Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMv
d2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZy
YW1lPgorICAgIDxpZnJhbWUKKyAgICAgIGFsbG93PSJ3ZWItc2hhcmUgaHR0cHM6Ly9sb2NhbGhv
c3Q6ODQ0MyIKKyAgICAgIGRhdGEtZW5hYmxlZD0iZmFsc2UiCisgICAgICBzcmM9Ii4vcmVzb3Vy
Y2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiCisgICAgPjwvaWZyYW1lPgorICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dl
YnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1zaGFyZS5o
dHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDAwMTVhZDAwZjVkMDc3ZGI2OWM2ZGZhY2Fk
ZjcxZDhlN2Y0NDMyMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic2hhcmUvd2Vic2hhcmUtYWxsb3ctYXR0cmlidXRlLXNoYXJlLmh0dHBzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDE4IEBACitDT05TT0xFIE1FU1NBR0U6IEZlYXR1cmUgcG9saWN5ICdXZWJT
aGFyZScgY2hlY2sgZmFpbGVkIGZvciBpZnJhbWUgd2l0aCBvcmlnaW4gJ2h0dHBzOi8vbG9jYWxo
b3N0Ojg0NDMnIGFuZCBhbGxvdyBhdHRyaWJ1dGUgJycuCitDT05TT0xFIE1FU1NBR0U6IEZlYXR1
cmUgcG9saWN5ICdXZWJTaGFyZScgY2hlY2sgZmFpbGVkIGZvciBpZnJhbWUgd2l0aCBvcmlnaW4g
J2h0dHBzOi8vbG9jYWxob3N0Ojg0NDMnIGFuZCBhbGxvdyBhdHRyaWJ1dGUgJ3dlYi1zaGFyZSAn
bm9uZScnLgorQ09OU09MRSBNRVNTQUdFOiBGZWF0dXJlIHBvbGljeSAnV2ViU2hhcmUnIGNoZWNr
IGZhaWxlZCBmb3IgaWZyYW1lIHdpdGggb3JpZ2luICdodHRwczovLzEyNy4wLjAuMTo4NDQzJyBh
bmQgYWxsb3cgYXR0cmlidXRlICd3ZWItc2hhcmUgJ25vbmUnJy4KK0NPTlNPTEUgTUVTU0FHRTog
RmVhdHVyZSBwb2xpY3kgJ1dlYlNoYXJlJyBjaGVjayBmYWlsZWQgZm9yIGlmcmFtZSB3aXRoIG9y
aWdpbiAnaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MycgYW5kIGFsbG93IGF0dHJpYnV0ZSAnd2ViLXNo
YXJlICdzZWxmJycuCitDT05TT0xFIE1FU1NBR0U6IEZlYXR1cmUgcG9saWN5ICdXZWJTaGFyZScg
Y2hlY2sgZmFpbGVkIGZvciBpZnJhbWUgd2l0aCBvcmlnaW4gJ2h0dHBzOi8vMTI3LjAuMC4xOjg0
NDMnIGFuZCBhbGxvdyBhdHRyaWJ1dGUgJ3dlYi1zaGFyZSBodHRwczovL2xvY2FsaG9zdDo4NDQz
Jy4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVz
b3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IiIgTVVTVCBOT1Qg
YmUgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkuIE5vdEFsbG93ZWRFcnJvciBUaGlyZC1wYXJ0eSBp
ZnJhbWVzIGFyZSBub3QgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkgdW5sZXNzIGV4cGxpY2l0bHkg
YWxsb3dlZCB2aWEgRmVhdHVyZS1Qb2xpY3kgKHdlYi1zaGFyZSkKK1BBU1MgaWZyYW1lIHNyYzog
Imh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3Rt
ZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IiIgaXMgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkuCitQ
QVNTIGlmcmFtZSBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNl
cy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUiIGlzIGFs
bG93ZWQgdG8gY2FsbCBzaGFyZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4w
LjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0
aCBhbGxvdz0id2ViLXNoYXJlIiBpcyBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4KK1BBU1MgaWZy
YW1lIHNyYzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNo
YXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAqIiBpcyBhbGxvd2Vk
IHRvIGNhbGwgc2hhcmUoKS4KK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8vMTI3LjAuMC4xOjg0
NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxs
b3c9IndlYi1zaGFyZSAqIiBpcyBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4KK1BBU1MgaWZyYW1l
IHNyYzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJl
LXBvc3RtZXNzYWdlLmh0bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAnbm9uZSciIE1VU1QgTk9U
IGJlIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpLiBOb3RBbGxvd2VkRXJyb3IgVGhpcmQtcGFydHkg
aWZyYW1lcyBhcmUgbm90IGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpIHVubGVzcyBleHBsaWNpdGx5
IGFsbG93ZWQgdmlhIEZlYXR1cmUtUG9saWN5ICh3ZWItc2hhcmUpCitQQVNTIGlmcmFtZSBzcmM6
ICJodHRwczovLzEyNy4wLjAuMTo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0
bWVzc2FnZS5odG1sIiB3aXRoIGFsbG93PSJ3ZWItc2hhcmUgJ25vbmUnIiBNVVNUIE5PVCBiZSBh
bGxvd2VkIHRvIGNhbGwgc2hhcmUoKS4gTm90QWxsb3dlZEVycm9yIFRoaXJkLXBhcnR5IGlmcmFt
ZXMgYXJlIG5vdCBhbGxvd2VkIHRvIGNhbGwgc2hhcmUoKSB1bmxlc3MgZXhwbGljaXRseSBhbGxv
d2VkIHZpYSBGZWF0dXJlLVBvbGljeSAod2ViLXNoYXJlKQorUEFTUyBpZnJhbWUgc3JjOiAiaHR0
cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3Nh
Z2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlICdzZWxmJyIgTVVTVCBOT1QgYmUgYWxsb3dl
ZCB0byBjYWxsIHNoYXJlKCkuIE5vdEFsbG93ZWRFcnJvciBUaGlyZC1wYXJ0eSBpZnJhbWVzIGFy
ZSBub3QgYWxsb3dlZCB0byBjYWxsIHNoYXJlKCkgdW5sZXNzIGV4cGxpY2l0bHkgYWxsb3dlZCB2
aWEgRmVhdHVyZS1Qb2xpY3kgKHdlYi1zaGFyZSkKK1BBU1MgaWZyYW1lIHNyYzogImh0dHBzOi8v
MTI3LjAuMC4xOjg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0
bWwiIHdpdGggYWxsb3c9IndlYi1zaGFyZSAnc2VsZiciIGlzIGFsbG93ZWQgdG8gY2FsbCBzaGFy
ZSgpLgorUEFTUyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93ZWJzaGFyZS9y
ZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJl
IGh0dHBzOi8vbG9jYWxob3N0Ojg0NDMiIGlzIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpLgorUEFT
UyBpZnJhbWUgc3JjOiAiaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My93ZWJzaGFyZS9yZXNvdXJjZXMv
d2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIgd2l0aCBhbGxvdz0id2ViLXNoYXJlIGh0dHBzOi8v
bG9jYWxob3N0Ojg0NDMiIE1VU1QgTk9UIGJlIGFsbG93ZWQgdG8gY2FsbCBzaGFyZSgpLiBOb3RB
bGxvd2VkRXJyb3IgVGhpcmQtcGFydHkgaWZyYW1lcyBhcmUgbm90IGFsbG93ZWQgdG8gY2FsbCBz
aGFyZSgpIHVubGVzcyBleHBsaWNpdGx5IGFsbG93ZWQgdmlhIEZlYXR1cmUtUG9saWN5ICh3ZWIt
c2hhcmUpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic2hhcmUvd2Vi
c2hhcmUtYWxsb3ctYXR0cmlidXRlLXNoYXJlLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJlLWFsbG93LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjkyOTZhOTk5ODViNzQzMmJlMzNmNWM3YmZmMDAxYmUwYmUyOGNjMmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNoYXJlL3dlYnNoYXJl
LWFsbG93LWF0dHJpYnV0ZS1zaGFyZS5odHRwcy5odG1sCkBAIC0wLDAgKzEsMTQ0IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8dGl0bGU+CisgICAgICBUZXN0IGFs
bG93IGF0dHJpYnV0ZSB3aXRoICJ3ZWItc2hhcmUiIGFuZCBzaGFyZSgpIG1ldGhvZAorICAgIDwv
dGl0bGU+CisgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9ImluaXRpYWwtc2NhbGU9
MSwgd2lkdGg9ZGV2aWNlLXdpZHRoIiAvPgorICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgdGVzdFJ1
bm5lcj8uZHVtcEFzVGV4dCgpOworICAgICAgdGVzdFJ1bm5lcj8ud2FpdFVudGlsRG9uZSgpOwor
CisgICAgICBmdW5jdGlvbiB3YWl0Rm9yKHRhcmdldCwgZXZlbnROYW1lKSB7CisgICAgICAgIHJl
dHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgICAgIHRhcmdldC5hZGRFdmVu
dExpc3RlbmVyKGV2ZW50TmFtZSwgcmVzb2x2ZSwgeyBvbmNlOiB0cnVlIH0pOworICAgICAgICB9
KTsKKyAgICAgIH0KKworICAgICAgZnVuY3Rpb24gdXNlckFjdGl2YXRpb24oZWxlbWVudCkgewor
ICAgICAgICBjb25zdCBwcm9taXNlID0gVUlIZWxwZXIuaXNJT1NGYW1pbHkoKQorICAgICAgICAg
ID8gVUlIZWxwZXIudGFwRWxlbWVudChlbGVtZW50KQorICAgICAgICAgIDogVUlIZWxwZXIuYWN0
aXZhdGVFbGVtZW50KGVsZW1lbnQpOworICAgICAgICByZXR1cm4gcHJvbWlzZTsKKyAgICAgIH0K
KworICAgICAgY29uc3QgaWZyYW1lRGV0YWlscyA9IFsKKyAgICAgICAgeworICAgICAgICAgIGVu
YWJsZWQ6ICJmYWxzZSIsCisgICAgICAgICAgc3JjOiAiaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0My93
ZWJzaGFyZS9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIsCisgICAgICAgIH0s
CisgICAgICAgIHsKKyAgICAgICAgICBlbmFibGVkOiAidHJ1ZSIsCisgICAgICAgICAgc3JjOiAi
Li9yZXNvdXJjZXMvd2Vic2hhcmUtcG9zdG1lc3NhZ2UuaHRtbCIsCisgICAgICAgIH0sCisgICAg
ICAgIHsKKyAgICAgICAgICBhbGxvdzogIndlYi1zaGFyZSIsCisgICAgICAgICAgZW5hYmxlZDog
InRydWUiLAorICAgICAgICAgIHNyYzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUv
cmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiLAorICAgICAgICB9LAorICAgICAg
ICB7CisgICAgICAgICAgYWxsb3c6ICJ3ZWItc2hhcmUiLAorICAgICAgICAgIGVuYWJsZWQ6ICJ0
cnVlIiwKKyAgICAgICAgICBzcmM6ICIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5o
dG1sIiwKKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgIGFsbG93OiAid2ViLXNoYXJl
ICoiLAorICAgICAgICAgIGVuYWJsZWQ6ICJ0cnVlIiwKKyAgICAgICAgICBzcmM6ICJodHRwczov
L2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5o
dG1sIiwKKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgIGFsbG93OiAid2ViLXNoYXJl
ICoiLAorICAgICAgICAgIGVuYWJsZWQ6ICJ0cnVlIiwKKyAgICAgICAgICBzcmM6ICIuL3Jlc291
cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiwKKyAgICAgICAgfSwKKyAgICAgICAgewor
ICAgICAgICAgIGFsbG93OiAid2ViLXNoYXJlICdub25lJyIsCisgICAgICAgICAgZW5hYmxlZDog
ImZhbHNlIiwKKyAgICAgICAgICBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJl
L3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2FnZS5odG1sIiwKKyAgICAgICAgfSwKKyAgICAg
ICAgeworICAgICAgICAgIGFsbG93OiAid2ViLXNoYXJlICdub25lJyIsCisgICAgICAgICAgZW5h
YmxlZDogImZhbHNlIiwKKyAgICAgICAgICBzcmM6ICIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0
bWVzc2FnZS5odG1sIiwKKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgIGFsbG93OiAi
d2ViLXNoYXJlICdzZWxmJyIsCisgICAgICAgICAgZW5hYmxlZDogImZhbHNlIiwKKyAgICAgICAg
ICBzcmM6ICJodHRwczovL2xvY2FsaG9zdDo4NDQzL3dlYnNoYXJlL3Jlc291cmNlcy93ZWJzaGFy
ZS1wb3N0bWVzc2FnZS5odG1sIiwKKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgIGFs
bG93OiAid2ViLXNoYXJlICdzZWxmJyIsCisgICAgICAgICAgZW5hYmxlZDogInRydWUiLAorICAg
ICAgICAgIHNyYzogIi4vcmVzb3VyY2VzL3dlYnNoYXJlLXBvc3RtZXNzYWdlLmh0bWwiLAorICAg
ICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgYWxsb3c6ICJ3ZWItc2hhcmUgaHR0cHM6Ly9s
b2NhbGhvc3Q6ODQ0MyIsCisgICAgICAgICAgZW5hYmxlZDogInRydWUiLAorICAgICAgICAgIHNy
YzogImh0dHBzOi8vbG9jYWxob3N0Ojg0NDMvd2Vic2hhcmUvcmVzb3VyY2VzL3dlYnNoYXJlLXBv
c3RtZXNzYWdlLmh0bWwiLAorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgYWxsb3c6
ICJ3ZWItc2hhcmUgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MyIsCisgICAgICAgICAgZW5hYmxlZDog
ImZhbHNlIiwKKyAgICAgICAgICBzcmM6ICIuL3Jlc291cmNlcy93ZWJzaGFyZS1wb3N0bWVzc2Fn
ZS5odG1sIiwKKyAgICAgICAgfSwKKyAgICAgIF07CisKKyAgICAgIGFzeW5jIGZ1bmN0aW9uIGxv
YWRJZnJhbWUoZGV0YWlscykgeworICAgICAgICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJpZnJhbWUiKTsKKyAgICAgICAgaWYgKGRldGFpbHMuaGFzT3duUHJvcGVydHko
ImFsbG93IikpIHsKKyAgICAgICAgICBpZnJhbWUuc2V0QXR0cmlidXRlKCJhbGxvdyIsIGRldGFp
bHMuYWxsb3cpOworICAgICAgICB9CisgICAgICAgIGlmcmFtZS5kYXRhc2V0LmVuYWJsZWQgPSBk
ZXRhaWxzLmVuYWJsZWQ7CisgICAgICAgIGlmcmFtZS5zcmMgPSBkZXRhaWxzLnNyYzsKKyAgICAg
ICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOworICAgICAgICBhd2FpdCB3YWl0
Rm9yKGlmcmFtZSwgImxvYWQiKTsKKyAgICAgICAgcmV0dXJuIGlmcmFtZTsKKyAgICAgIH0KKwor
ICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdHMgKCkgeworICAgICAgICBmb3IgKGNvbnN0IGRl
dGFpbHMgb2YgaWZyYW1lRGV0YWlscykgeworICAgICAgICAgIGNvbnN0IGlmcmFtZSA9IGF3YWl0
IGxvYWRJZnJhbWUoZGV0YWlscyk7CisgICAgICAgICAgY29uc3QgeyBlbmFibGVkIH0gPSBpZnJh
bWUuZGF0YXNldDsKKyAgICAgICAgICBjb25zdCBpc0FsbG93ZWQgPSBlbmFibGVkID09PSAidHJ1
ZSI7CisgICAgICAgICAgY29uc3QgYWN0aW9uID0gImNhbGwgc2hhcmUoKSI7CisgICAgICAgICAg
aWZyYW1lLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoeyBhY3Rpb24gfSwgIioiKTsKKyAgICAg
ICAgICBjb25zdCB7IGRhdGE6IGFjdGl2YXRlTWUgfSA9IGF3YWl0IHdhaXRGb3Iod2luZG93LCAi
bWVzc2FnZSIpOworICAgICAgICAgIGlmIChhY3RpdmF0ZU1lICE9PSAiYWN0aXZhdGUgbWUhIikg
eworICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJFeHBlY3RlZCBhbiBhY3RpdmF0ZSByZXF1
ZXN0OiIgKyBhY3RpdmF0ZU1lKTsKKyAgICAgICAgICB9CisgICAgICAgICAgYXdhaXQgdXNlckFj
dGl2YXRpb24oaWZyYW1lKTsKKyAgICAgICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IHdhaXRG
b3Iod2luZG93LCAibWVzc2FnZSIpOworICAgICAgICAgIGNvbnN0IHsgZXhjZXB0aW9uTWVzc2Fn
ZSwgZXhjZXB0aW9uTmFtZSwgcmVzdWx0IH0gPSBkYXRhOworICAgICAgICAgIGNvbnN0IG1zZyA9
IGBpZnJhbWUgc3JjOiAiJHtpZnJhbWUuc3JjfSIgd2l0aCBhbGxvdz0iJHsKKyAgICAgICAgICAg
IGlmcmFtZS5hbGxvdworICAgICAgICAgIH0iICR7CisgICAgICAgICAgICBpc0FsbG93ZWQgPyAi
aXMgYWxsb3dlZCB0byIgOiAiTVVTVCBOT1QgYmUgYWxsb3dlZCB0byIKKyAgICAgICAgICB9ICR7
YWN0aW9ufS4gJHtleGNlcHRpb25OYW1lID8/ICIifSAke2V4Y2VwdGlvbk1lc3NhZ2UgPz8gIiJ9
YDsKKyAgICAgICAgICBzd2l0Y2ggKHJlc3VsdCkgeworICAgICAgICAgICAgY2FzZSAic2hhcmUg
Y29tcGxldGVkIjoKKyAgICAgICAgICAgICAgaXNBbGxvd2VkID8gdGVzdFBhc3NlZChtc2cpIDog
dGVzdEZhaWxlZChtc2cpOworICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2Ug
InRocmV3IjoKKyAgICAgICAgICAgICAgaWYgKAorICAgICAgICAgICAgICAgICFpc0FsbG93ZWQg
JiYKKyAgICAgICAgICAgICAgICBleGNlcHRpb25OYW1lID09PSAiTm90QWxsb3dlZEVycm9yIiAm
JgorICAgICAgICAgICAgICAgIGV4Y2VwdGlvbk1lc3NhZ2UuZW5kc1dpdGgoIkZlYXR1cmUtUG9s
aWN5ICh3ZWItc2hhcmUpIikKKyAgICAgICAgICAgICAgKSB7CisgICAgICAgICAgICAgICAgdGVz
dFBhc3NlZChtc2cpOworICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQobXNnKTsKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgIHRlc3RGYWlsZWQobXNnICsgYCAtIHJl
c3VsdCB3YXM6ICR7cmVzdWx0fWApOworICAgICAgICAgIH0KKyAgICAgICAgICBpZnJhbWUucmVt
b3ZlKCk7CisgICAgICAgIH0KKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAg
ICB9CisgICAgPC9zY3JpcHQ+CisgIDwvaGVhZD4KKyAgPGJvZHkgb25sb2FkPSJydW5UZXN0cygp
Ij4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0
aW9ucwppbmRleCBmNDM0NGFkMjlmMjdlN2RjM2UzOTg3OGE5ZDFjMjg1YmUzMmI1NzkyLi4wNTM3
M2FlZTk3YTk2OGQ4ZGM5YmM1NmM0MTRlYzQxNzQ2MzU0OGM4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNDA4LDMgKzE0MDgsNiBAQCB3
ZWJraXQub3JnL2IvMjI4MjExIGNzczIuMS8yMDExMDMyMy9yZXBsYWNlZC1pbnRyaW5zaWMtMDAz
Lmh0bSBbIFBhc3MgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjMwNDI3IGh0dHAvdGVzdHMvbWlz
Yy9pZnJhbWUtcmVwYXJlbnRpbmctaWQtY29sbGlzaW9uLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQog
CiB3ZWJraXQub3JnL2IvMjMwNDI1IHByaW50aW5nL2FsbG93ZWQtYnJlYWtzLmh0bWwgWyBQYXNz
IEZhaWx1cmUgXQorCisjIHdlYmtpdC5vcmcvYi8yMTQ0NDggV2ViIFNoYXJlIEFQSSBpcyBub3Qg
aW1wbGVtZW50ZWQgZm9yIG1hYy13azEKK2h0dHAvdGVzdHMvd2Vic2hhcmUvIFsgU2tpcCBdCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDRjNDEzODk5YWYz
MTk0MTJiN2FiNTg1NWQ3YjBmYjVmOGFlNDU5MTkuLmMzZDdjYzFmZGU0ZjE4M2I4Y2YzYjY5NDEx
YjRjMzcyYjViMDk4ZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRp
b25zCkBAIC0xNDcsNyArMTQ3LDcgQEAgaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvcmVwb3J0LWNyb3NzLW9yaWdpbi1uby1jb29raWVzLnB5IFsgU2sKIGh0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3JlcG9ydC1jcm9zcy1vcmlnaW4tbm8t
Y29va2llcy13aGVuLXByaXZhdGUtYnJvd3NpbmctZW5hYmxlZC5weSBbIFNraXAgXSAKIGh0dHAv
dGVzdHMvbmF2aWdhdGlvbi9waW5nLWF0dHJpYnV0ZS9hcmVhLWNyb3NzLW9yaWdpbi5odG1sIFsg
U2tpcCBdIAogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BpbmctYXR0cmlidXRlL2FuY2hvci1jcm9z
cy1vcmlnaW4uaHRtbCBbIFNraXAgXSAKLWh0dHAvdGVzdHMvcmVmZXJyZXItcG9saWN5L25vLXJl
ZmVycmVyLXdoZW4tZG93bmdyYWRlLyBbIFNraXAgXSAKK2h0dHAvdGVzdHMvcmVmZXJyZXItcG9s
aWN5L25vLXJlZmVycmVyLXdoZW4tZG93bmdyYWRlLyBbIFNraXAgXQogaHR0cC90ZXN0cy9yZWZl
cnJlci1wb2xpY3kvdW5zYWZlLXVybC9jcm9zcy1vcmlnaW4taHR0cC1odHRwLmh0bWwgWyBTa2lw
IF0gCiBodHRwL3Rlc3RzL3JlZmVycmVyLXBvbGljeS91bnNhZmUtdXJsL2Nyb3NzLW9yaWdpbi1o
dHRwLmh0dHBzLmh0bWwgWyBTa2lwIF0gCiBodHRwL3Rlc3RzL3JlZmVycmVyLXBvbGljeS1pbWcv
bm8tcmVmZXJyZXItd2hlbi1kb3duZ3JhZGUvIFsgU2tpcCBdIApAQCAtNDY5MiwzICs0NjkyLDYg
QEAgd2Via2l0Lm9yZy9iLzIyOTU5NCBqcy9kZmctaW50MTZhcnJheS5odG1sIFsgUGFzcyBDcmFz
aCBdCiB3ZWJraXQub3JnL2IvMjI5NTk0IGpzL2RmZy1pbnQzMmFycmF5LW92ZXJmbG93LXZhbHVl
cy5odG1sIFsgUGFzcyBDcmFzaCBdCiAKIHdlYmtpdC5vcmcvYi8yMzA0MjcgaHR0cC90ZXN0cy9t
aXNjL2lmcmFtZS1yZXBhcmVudGluZy1pZC1jb2xsaXNpb24uaHRtbCBbIFBhc3MgRmFpbHVyZSBd
CisKKyMgd2Via2l0Lm9yZy9iLzIxNDQ0OCBXZWIgU2hhcmUgQVBJIGlzIG5vdCBpbXBsZW1lbnRl
ZCBpbiB0aGUgV2luZG93cyBwb3J0CitodHRwL3Rlc3RzL3dlYnNoYXJlLyBbIFNraXAgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>